1 #include "../port/portfns.h" 2 3 void addpower(Power*); 4 void archbacklight(int); 5 void archconfinit(void); 6 int archconfval(char**, char**, int); 7 void archdisableuart(int); 8 void archdisableusb(void); 9 void archdisablevideo(void); 10 void archenableuart(int, int); 11 void archenableusb(int, int); 12 void archenablevideo(void); 13 void archkbdinit(void); 14 void archresetvideo(void); 15 int archetherenable(int, int*, int*, int, int); 16 void archinit(void); 17 int archoptionsw(void); 18 void archreboot(void); 19 void archsetirxcvr(int); 20 uchar* archvideobuffer(long); 21 ulong baudgen(int, int); 22 int brgalloc(void); 23 void brgfree(int); 24 int cistrcmp(char*, char*); 25 int cistrncmp(char*, char*, int); 26 void clockcheck(void); 27 void clockinit(void); 28 void clockintr(Ureg*); 29 void clrfptrap(void); 30 #define coherence() /* nothing needed for uniprocessor */ 31 void cpminit(void); 32 void cpuidprint(void); 33 void dcflush(void*, ulong); 34 void dcinval(void*, ulong); 35 void delay(int); 36 void dtlbmiss(void); 37 void dumplongs(char*, ulong*, int); 38 void dumpregs(Ureg*); 39 void eieio(void); 40 void faultpower(Ureg*); 41 void firmware(int); 42 void fpinit(void); 43 int fpipower(Ureg*); 44 void fpoff(void); 45 void fprestore(FPU*); 46 void fpsave(FPU*); 47 ulong fpstatus(void); 48 char* getconf(char*); 49 ulong getdar(void); 50 ulong getdec(void); 51 ulong getdepn(void); 52 ulong getdsisr(void); 53 ulong getimmr(void); 54 ulong getmsr(void); 55 ulong getpvr(void); 56 ulong gettbl(void); 57 ulong gettbu(void); 58 void gotopc(ulong); 59 void icflush(void*, ulong); 60 void idle(void); 61 #define idlehands() /* nothing to do in the runproc */ 62 void intr(Ureg*); 63 void intrenable(int, void (*)(Ureg*, void*), void*, int, char*); 64 void intrdisable(int, void (*)(Ureg*, void*), void*, int, char*); 65 int intrstats(char*, int); 66 void intrvec(void); 67 int isaconfig(char*, int, ISAConf*); 68 int isvalid_va(void*); 69 void itlbmiss(void); 70 void kbdinit(void); 71 void kbdreset(void); 72 void lcdpanel(int); 73 void links(void); 74 void mapfree(RMap*, ulong, int); 75 void mapinit(RMap*, Map*, int); 76 void mathinit(void); 77 void mmuinit(void); 78 ulong* mmuwalk(ulong*, ulong, int); 79 void pcmenable(void); 80 void pcmintrenable(int, void (*)(Ureg*, void*), void*); 81 int pcmpin(int slot, int type); 82 void pcmpower(int, int); 83 int pcmpowered(int); 84 void pcmsetvcc(int, int); 85 void pcmsetvpp(int, int); 86 void procsave(Proc*); 87 void procsetup(Proc*); 88 void putdec(ulong); 89 void putmsr(ulong); 90 void puttwb(ulong); 91 ulong rmapalloc(RMap*, ulong, int, int); 92 void screeninit(void); 93 int screenprint(char*, ...); /* debugging */ 94 void (*screenputs)(char*, int); 95 int segflush(void*, ulong); 96 void toggleled(int); 97 void setpanic(void); 98 long spioutin(void*, long, void*); 99 void spireset(void); 100 ulong _tas(ulong*); 101 void trapinit(void); 102 void trapvec(void); 103 void uartinstall(void); 104 void uartspecial(int, int, Queue**, Queue**, int (*)(Queue*, int)); 105 void uartwait(void); /* debugging */ 106 void videoreset(void); 107 void videotest(void); 108 void wbflush(void); 109 110 #define waserror() (up->nerrlab++, setlabel(&up->errlab[up->nerrlab-1])) 111 ulong getcallerpc(void*); 112 113 #define KADDR(a) ((void*)((ulong)(a)|KZERO)) 114 #define PADDR(a) ((((ulong)(a)&KSEGM)!=KSEG0)?(ulong)(a):((ulong)(a)&~KZERO)) 115 116 /* IBM bit field order */ 117 #define IBIT(b) ((ulong)1<<(31-(b))) 118 #define SIBIT(n) ((ushort)1<<(15-(n))) 119 120 /* compatibility with inf2.1 */ 121