2 void addconf(char*, ...);
3 Alarm* alarm(int, void (*)(Alarm*), void*);
7 int biosboot(int dev, char *file, Boot *b);
8 void* biosgetfspart(int i, char *name, int chatty);
9 void biosinitdev(int i, char *name);
11 void biosprintbootdevs(int dev);
12 void biosprintdevs(int i);
13 int bootpboot(int, char*, Boot*);
14 int bootpass(Boot*, void*, int);
18 void cgascreenputs(char*, int);
19 int cistrcmp(char*, char*);
20 int cistrncmp(char*, char*, int);
21 void changeconf(char*, ...);
22 void checkalarms(void);
24 #define coherence() mb386()
26 void consinit(char*, char*);
27 void consputs(char*, int);
29 uchar* etheraddr(int);
31 void etherinitdev(int, char*);
32 void etherprintdevs(int);
33 int etherrxflush(int);
34 int etherrxpkt(int, Etherpkt*, int);
35 int ethertxpkt(int, Etherpkt*, int, int);
36 #define evenaddr(x) /* 386 doesn't care */
37 int floppyboot(int, char*, Boot*);
39 void floppyinitdev(int, char*);
40 void floppyprintdevs(int);
41 void* floppygetfspart(int, char*, int);
48 int getfields(char*, char**, int, char);
49 int getstr(char*, char*, int, char*, int);
50 int gunzip(uchar*, int, uchar*, int);
53 void i8042reset(void);
54 void* ialloc(ulong, int);
60 void insb(int, void*, int);
61 void inss(int, void*, int);
62 void insl(int, void*, int);
63 #define ioalloc(addr, len, align, name) (addr)
66 int isaconfig(char*, int, ISAConf*);
74 #define nelem(x) (sizeof(x)/sizeof(x[0]))
75 char* nextelem(char*, char*);
78 void outs(int, ushort);
79 void outl(int, ulong);
80 void outsb(int, void*, int);
81 void outss(int, void*, int);
82 void outsl(int, void*, int);
83 void panic(char*, ...);
84 ulong pcibarsize(Pcidev*, int);
85 int pcicfgr8(Pcidev*, int);
86 int pcicfgr16(Pcidev*, int);
87 int pcicfgr32(Pcidev*, int);
88 void pcicfgw8(Pcidev*, int, int);
89 void pcicfgw16(Pcidev*, int, int);
90 void pcicfgw32(Pcidev*, int, int);
91 void pciclrbme(Pcidev*);
92 void pciclrioe(Pcidev*);
93 void pciclrmwi(Pcidev*);
94 int pcigetpms(Pcidev*);
95 void pcihinv(Pcidev*, int);
96 Pcidev* pcimatch(Pcidev*, int, int);
97 uchar pciintl(Pcidev *);
98 uchar pciipin(Pcidev *, uchar);
100 void pcisetbme(Pcidev*);
101 void pcisetioe(Pcidev*);
102 void pcisetmwi(Pcidev*);
103 int pcisetpms(Pcidev*, int);
104 void pcmcisread(PCMslot*);
105 int pcmcistuple(int, int, int, void*, int);
106 PCMmap* pcmmap(int, ulong, int, int);
107 int pcmspecial(char*, ISAConf*);
108 void pcmspecialclose(int);
109 void pcmunmap(int, PCMmap*);
113 void putidt(Segdesc*, int);
114 void* pxegetfspart(int, char*, int);
116 void readlsconf(void);
118 int sdboot(int, char*, Boot*);
120 void* sdgetfspart(int, char*, int);
122 void sdinitdev(int, char*);
123 void sdprintdevs(int);
124 int sdsetpart(int, char*);
125 void setvec(int, void (*)(Ureg*, void*), void*);
130 void trapdisable(void);
131 void trapenable(void);
132 void uartdrain(void);
133 void uartspecial(int, void (*)(int), int (*)(void), int);
134 void uartputs(IOQ*, char*, int);
135 ulong umbmalloc(ulong, int, int);
136 void umbfree(ulong, int);
137 ulong umbrwmalloc(ulong, int, int);
138 void upafree(ulong, int);
139 ulong upamalloc(ulong, int, int);
140 void warp86(char*, ulong);
142 int x86cpuid(int*, int*);
143 void* xspanalloc(ulong, int, ulong);
145 #define malloc(n) ialloc(n, 0)
146 #define mallocz(n, c) ialloc(n, 0)
147 #define mallocalign(n, a, o, s) ialloc((n), (a))
148 #define free(v) while(0)
150 #define GSHORT(p) (((p)[1]<<8)|(p)[0])
151 #define GLONG(p) ((GSHORT(p+2)<<16)|GSHORT(p))
152 #define GLSHORT(p) (((p)[0]<<8)|(p)[1])
153 #define GLLONG(p) (((ulong)GLSHORT(p)<<16)|GLSHORT(p+2))
154 #define PLLONG(p,v) (p)[3]=(v);(p)[2]=(v)>>8;(p)[1]=(v)>>16;(p)[0]=(v)>>24
156 #define KADDR(a) ((void*)((ulong)(a)|KZERO))
157 #define PADDR(a) ((ulong)(a)&~0xF0000000)
159 #define HOWMANY(x, y) (((x)+((y)-1))/(y))
160 #define ROUNDUP(x, y) (HOWMANY((x), (y))*(y))
163 #define xalloc(n) ialloc(n, 0)
164 #define xfree(v) while(0)
165 #define lock(l) if(l){/* nothing to do */;}else{/* nothing to do */;}
166 #define unlock(l) if(l){/* nothing to do */;}else{/* nothing to do */;}
172 long dmasetup(int, void*, long, int);
174 extern int (*_pcmspecial)(char *, ISAConf *);
175 extern void (*_pcmspecialclose)(int);
176 extern void devi82365link(void);
177 extern void devpccardlink(void);