xref: /plan9-contrib/sys/src/9/loongson/archln.c (revision a81c3ea0c7f009a3088ab7fe55ea9013d9d77a74)
1 #include "u.h"
2 #include "../port/lib.h"
3 #include "mem.h"
4 #include "dat.h"
5 #include "fns.h"
6 #include "io.h"
7 #include "../port/error.h"
8 #include "ureg.h"
9 #include "../port/netif.h"
10 #include "etherif.h"
11 
12 int
archether(unsigned ctlrno,Ether * ether)13 archether(unsigned ctlrno, Ether *ether)
14 {
15 	switch(ctlrno) {
16 	case 0:
17 		ether->type = "rtl8139";
18 		ether->ctlrno = ctlrno;
19 		ether->irq = ILpci;
20 		ether->nopt = 0;
21 		ether->mbps = 100;
22 		return 1;
23 	}
24 	return -1;
25 }
26 
27 /* port i/o */
28 void
insb(int port,void * p,int count)29 insb(int port, void *p, int count)
30 {
31 	uchar *q = p;
32 
33 	for(; count > 0; count--)
34 		*q++ = inb(port);
35 }
36 
37 void
inss(int port,void * p,int count)38 inss(int port, void *p, int count)
39 {
40 	ushort *q = p;
41 
42 	for(; count > 0; count--)
43 		*q++ = ins(port);
44 }
45 
46 void
insl(int port,void * p,int count)47 insl(int port, void *p, int count)
48 {
49 	ulong *q = p;
50 
51 	for(; count > 0; count--)
52 		*q++ = inl(port);
53 }
54 
55 void
outsb(int port,void * p,int count)56 outsb(int port, void *p, int count)
57 {
58 	uchar *q = p;
59 
60 	for(; count > 0; count--)
61 		outb(port, *q++);
62 }
63 
64 void
outss(int port,void * p,int count)65 outss(int port, void *p, int count)
66 {
67 	ushort *q = p;
68 
69 	for(; count > 0; count--)
70 		outs(port, *q++);
71 }
72 
73 void
outsl(int port,void * p,int count)74 outsl(int port, void *p, int count)
75 {
76 	ulong *q = p;
77 
78 	for(; count > 0; count--)
79 		outl(port, *q++);
80 }
81 
82 void
fptrap(Ureg *)83 fptrap(Ureg*)
84 {
85 }
86