1 void aamloop(int); 2 Alarm* alarm(int, void (*)(Alarm*), void*); 3 void alarminit(void); 4 int bootp(int, char*); 5 void cancel(Alarm*); 6 void checkalarms(void); 7 void clockinit(void); 8 void consinit(void); 9 void delay(int); 10 uchar* etheraddr(int); 11 int etherinit(void); 12 int etherrxpkt(int, Etherpkt*, int); 13 int ethertxpkt(int, Etherpkt*, int, int); 14 int flashboot(int); 15 int flashbootable(int); 16 char* flashconfig(int); 17 int flashinit(void); 18 char* getconf(char*); 19 int getcfields(char*, char**, int, char*); 20 int getstr(char*, char*, int, char*); 21 int hardinit(void); 22 long hardread(int, void*, long); 23 long hardseek(int, long); 24 long hardwrite(int, void*, long); 25 void* ialloc(ulong, int); 26 void idle(void); 27 int isaconfig(char*, int, ISAConf*); 28 int isgzipped(uchar*); 29 int issqueezed(uchar*); 30 void kbdinit(void); 31 void kbdchar(Queue*, int); 32 void machinit(void); 33 void meminit(void); 34 void microdelay(int); 35 void mmuinit(void); 36 uchar nvramread(int); 37 void outb(int, int); 38 void outs(int, ushort); 39 void outl(int, ulong); 40 void outsb(int, void*, int); 41 void outss(int, void*, int); 42 void outsl(int, void*, int); 43 void panic(char*, ...); 44 int optionsw(void); 45 int plan9boot(int, long (*)(int, long), long (*)(int, void*, long)); 46 Partition* setflashpart(int, char*); 47 Partition* sethardpart(int, char*); 48 Partition* setscsipart(int, char*); 49 void setvec(int, void (*)(Ureg*, void*), void*); 50 void screeninit(void); 51 void screenputs(char*, int); 52 void setr13(int, void*); 53 int splhi(void); 54 int spllo(void); 55 void splx(int); 56 void trapinit(void); 57 void uartspecial(int, int, Queue**, Queue**, void(*)(Queue*,int)); 58 void uartputs(char*, int); 59 void uartwait(void); 60 long unsqueezef(Block*, ulong*); 61 62 #define GSHORT(p) (((p)[1]<<8)|(p)[0]) 63 #define GLONG(p) ((GSHORT(p+2)<<16)|GSHORT(p)) 64 #define GLSHORT(p) (((p)[0]<<8)|(p)[1]) 65 #define GLLONG(p) ((GLSHORT(p)<<16)|GLSHORT(p+2)) 66 67 #define KADDR(a) ((void*)((ulong)(a)|KZERO)) 68 #define PADDR(a) ((ulong)(a)&~KZERO) 69 70 71 void mapinit(RMap*, Map*, int); 72 void mapfree(RMap*, ulong, int); 73 ulong mapalloc(RMap*, ulong, int, int); 74 75 /* IBM bit field order */ 76 #define IBFEXT(v,a,b) (((ulong)(v)>>(32-(b)-1)) & ~(~0L<<(((b)-(a)+1)))) 77 #define IBIT(b) ((ulong)1<<(31-(b))) 78 79 #define SIBIT(n) ((ushort)1<<(15-(n))) 80 81 void* malloc(ulong); 82 void free(void*); 83 84 extern Block* iallocb(int); 85 extern void freeb(Block*); 86 extern Queue* qopen(int, int, void (*)(void*), void*); 87 extern Block* qget(Queue*); 88 extern void qbwrite(Queue*, Block*); 89 extern long qlen(Queue*); 90 #define qpass qbwrite 91 extern void qbputc(Queue*, int); 92 extern int qbgetc(Queue*); 93 94 int sio_inb(int); 95 void sio_outb(int, int); 96 void led(int); 97 98 extern void _virqcall(void); 99 extern void _vfiqcall(void); 100 extern void _vundcall(void); 101 extern void _vsvccall(void); 102 extern void _vpabcall(void); 103 extern void _vdabcall(void); 104 105 void flushIcache(void); 106 void writeBackDC(void); 107 void flushDcache(void); 108 void flushIcache(void); 109 void drainWBuffer(void); 110 111 void pumainit(void); 112