1 #include "../port/portfns.h" 2 #define dumplongs(x, y, z) 3 #define clockcheck() 4 #define setpanic() 5 6 void links(void); 7 void prom_printf(char *format, ...); /* can't use after mmuinit() */ 8 void savefpregs(FPU *); 9 void restfpregs(FPU*); 10 void savefsr(FPenv *); 11 void restfsr(FPenv *); 12 void disabfp(void); 13 void fpinit(void); 14 void fpsave(FPU*); 15 void bootargs(ulong); 16 void cacheinit(void); 17 ulong call_openboot(void*, ...); 18 void clearftt(ulong); 19 #define clearmmucache() 20 void clockinit(void); 21 void clock(Ureg*); 22 #define coherence() /* nothing to do on uniprocessor */ 23 void dcflush(void); 24 void disabfp(void); 25 void enabfp(void); 26 char* excname(ulong); 27 28 #define flushpage(pa) icflush() 29 void flushtlb(void); 30 void flushtlbctx(void); 31 void flushtlbpage(ulong); 32 int fpcr(int); 33 int fpquiet(void); 34 void fpregrestore(char*); 35 void fpregsave(char*); 36 int fptrap(void); 37 int getfpq(ulong*); 38 ulong getfsr(void); 39 ulong getpcr(void); 40 ulong getphys(ulong); 41 ulong getrmmu(ulong); 42 ulong getpsr(void); 43 void icflush(void); 44 int isvalid_va(void*); 45 void flushicache(void); 46 void flushdcache(void); 47 void flushiline(ulong); 48 void flushdline(ulong); 49 #define idlehands() /* nothing to do in the runproc */ 50 void intrinit(void); 51 void ioinit(void); 52 void kbdclock(void); 53 void kbdrepeat(int); 54 void kbdinit(void); 55 void kbdintr(void); 56 #define KADDR(a) ((void*)((ulong)(a)|KZERO)) 57 #define PADDR(a) ((ulong)(a)&~KZERO) 58 void kmapinit(void); 59 void* kmappa(ulong, ulong); 60 ulong kmapsbus(int); 61 ulong kmapdma(ulong, ulong); 62 int kprint(char*, ...); 63 void kproftimer(ulong); 64 void kunmap(KMap*); 65 void lanceintr(void); 66 void lancesetup(Lance*); 67 void lancetoggle(void); 68 void mmuinit(void); 69 void mousebuttons(int); 70 void printinit(void); 71 #define procrestore(p) 72 #define procsave(p) 73 #define procsetup(x) ((p)->fpstate = FPinit) 74 void putphys(ulong, ulong); 75 void putrmmu(ulong, ulong); 76 void putstr(char*); 77 void puttbr(ulong); 78 void systemreset(void); 79 void screeninit(void); 80 void screenputc(char *); 81 void screenputs(char*, int); 82 void scsiintr(void); 83 void setpcr(ulong); 84 void setpsr(ulong); 85 void spldone(void); 86 void trap(Ureg*); 87 void trapinit(void); 88 #define wbflush() /* mips compatibility */ 89 #define waserror() (up->nerrlab++, setlabel(&up->errlab[up->nerrlab-1])) 90 ulong getcallerpc(void*); 91 void dumpregs(Ureg*); 92 93 void ns16552special(int,int,Queue**,Queue**,int (*)(Queue*,int)); 94 char ns16552dmarcv(int); 95 void ns16552install(void); 96 void ns16552intr(int); 97 98 long dmasetup(int,void*,long,int); 99 void dmaend(int); 100 int dmacount(int); 101 102 void superioinit(ulong va, uchar*, uchar*, uchar*, uchar*); 103 ulong superiova(void); 104 105 uchar superio_readctl(void); 106 uchar superio_readdata(void); 107 void superio_writectl(uchar val); 108 void superio_writedata(uchar val); 109 void outb(ulong, uchar); 110 uchar inb(ulong); 111