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