summaryrefslogtreecommitdiff
path: root/os/cerf405/fns.h
diff options
context:
space:
mode:
Diffstat (limited to 'os/cerf405/fns.h')
-rw-r--r--os/cerf405/fns.h147
1 files changed, 147 insertions, 0 deletions
diff --git a/os/cerf405/fns.h b/os/cerf405/fns.h
new file mode 100644
index 00000000..4c6a3fa1
--- /dev/null
+++ b/os/cerf405/fns.h
@@ -0,0 +1,147 @@
+#include "../port/portfns.h"
+
+void addpower(Power*);
+void archbacklight(int);
+void archconfinit(void);
+int archconfval(char**, char**, int);
+void archdisableuart(int);
+void archdisableusb(void);
+void archdisablevideo(void);
+void archenableuart(int, int);
+void archenableusb(int, int);
+void archenablevideo(void);
+void archkbdinit(void);
+void archresetvideo(void);
+void archinit(void);
+int archoptionsw(void);
+void archreboot(void);
+ulong archuartclock(int, int);
+void archuartdma(int, int);
+void clockcheck(void);
+void clockinit(void);
+void clockintr(Ureg*);
+void clrfptrap(void);
+#define coherence() /* nothing needed for uniprocessor */
+void compiledcr(void);
+void cpuidprint(void);
+void* dcflush(void*, ulong);
+void dcinval(void*, ulong);
+void delay(int);
+void dtlbmiss(void);
+void dumplongs(char*, ulong*, int);
+void dumpregs(Ureg*);
+void eieio(void);
+void firmware(int);
+void fpinit(void);
+int fpipower(Ureg*);
+void fpoff(void);
+void fprestore(FPU*);
+void fpsave(FPU*);
+ulong fpstatus(void);
+char* getconf(char*);
+ulong getccr0(void);
+ulong getdar(void);
+ulong getdcr(int);
+ulong getdear(void);
+ulong getdepn(void);
+ulong getdsisr(void);
+ulong getesr(void);
+ulong getimmr(void);
+ulong getmsr(void);
+ulong getpit(void);
+ulong getpvr(void);
+ulong gettbl(void);
+ulong gettbu(void);
+ulong gettsr(void);
+void gotopc(ulong);
+void icflush(void*, ulong);
+void idle(void);
+void idlehands(void);
+int inb(int);
+ulong inl(int);
+int ins(int);
+void insb(int, void*, int);
+void insl(int, void*, int);
+void inss(int, void*, int);
+void intr(Ureg*);
+void intrenable(int, void (*)(Ureg*, void*), void*, int, char*);
+void intrdisable(int, void (*)(Ureg*, void*), void*, int, char*);
+int intrstats(char*, int);
+void intrvec(void);
+void intrcvec(void);
+void ioinit(void);
+void ioreset(void);
+int isaconfig(char*, int, ISAConf*);
+int isvalid_va(void*);
+void itlbmiss(void);
+void kbdinit(void);
+void kbdreset(void);
+void* kmapphys(void*, ulong, ulong, ulong, ulong);
+void lcdpanel(int);
+void links(void);
+void mapfree(RMap*, ulong, int);
+void mapinit(RMap*, Map*, int);
+void mathinit(void);
+void mmuinit(void);
+void* mmucacheinhib(void*, ulong);
+ulong mmumapsize(ulong);
+void pcimapinit(void);
+int pciscan(int, Pcidev **);
+ulong pcibarsize(Pcidev *, int);
+int pcicfgr8(Pcidev*, int);
+int pcicfgr16(Pcidev*, int);
+int pcicfgr32(Pcidev*, int);
+void pcicfgw8(Pcidev*, int, int);
+void pcicfgw16(Pcidev*, int, int);
+void pcicfgw32(Pcidev*, int, int);
+void pciclrbme(Pcidev*);
+void pcihinv(Pcidev*);
+uchar pciipin(Pcidev *, uchar);
+Pcidev* pcimatch(Pcidev*, int, int);
+Pcidev* pcimatchtbdf(int);
+void pcireset(void);
+void pcisetbme(Pcidev*);
+void procsave(Proc*);
+void procsetup(Proc*);
+void putdcr(int, ulong);
+void putesr(ulong);
+void putevpr(ulong);
+void putmsr(ulong);
+void putpit(ulong);
+void puttcr(ulong);
+void puttsr(ulong);
+void puttwb(ulong);
+ulong rmapalloc(RMap*, ulong, int, int);
+long rtctime(void);
+void screeninit(void);
+int screenprint(char*, ...); /* debugging */
+void (*screenputs)(char*, int);
+int segflush(void*, ulong);
+void toggleled(int);
+void setpanic(void);
+ulong _tas(ulong*);
+ulong tlbrehi(int);
+ulong tlbrelo(int);
+int tlbsxcc(void*);
+void tlbwehi(int, ulong);
+void tlbwelo(int, ulong);
+void trapinit(void);
+void trapvec(void);
+void trapcvec(void);
+void uartinstall(void);
+void uartspecial(int, int, Queue**, Queue**, int (*)(Queue*, int));
+void uartwait(void); /* debugging */
+void wbflush(void);
+
+#define waserror() (up->nerrlab++, setlabel(&up->errlab[up->nerrlab-1]))
+ulong getcallerpc(void*);
+
+#define isphys(a) (((ulong)(a)&KSEGM)!=KSEG0 && ((ulong)(a)&KSEGM)!=KSEG1)
+#define KADDR(a) ((void*)((ulong)(a)|KZERO))
+#define PADDR(a) (isphys(a)?(ulong)(a):((ulong)(a)&~KSEGM))
+
+/* IBM bit field order */
+#define IBIT(b) (((ulong)(1<<31))>>(b))
+#define SIBIT(n) ((ushort)1<<(15-(n)))
+#define CIBIT(n) ((uchar)1<<(7-(n)))
+