void aamloop(int);
Dirtab* addarchfile(char*, int, long(*)(Chan*,void*,long,vlong), long(*)(Chan*,void*,long,vlong));
void archinit(void);
+void archreset(void);
int bios32call(BIOS32ci*, u16int[3]);
int bios32ci(BIOS32si*, BIOS32ci*);
void bios32close(BIOS32si*);
BIOS32si* bios32open(char*);
-void bootargs(void*);
+void bootargsinit(void);
ulong cankaddr(ulong);
int checksum(void *, int);
void clockintr(Ureg*, void*);
void (*cycles)(uvlong*);
void delay(int);
void* dmabva(int);
+#define dmaflush(clean, addr, len)
int dmacount(int);
int dmadone(int);
void dmaend(int);
#define DMAREAD 1
#define DMALOOP 2
long dmasetup(int, void*, long, int);
+void dumpmcregs(void);
+int ecinit(int cmdport, int dataport);
+int ecread(uchar addr);
+int ecwrite(uchar addr, uchar val);
#define evenaddr(x) /* x86 doesn't care */
void fpclear(void);
-void fpenv(FPsave*);
void fpinit(void);
void fpoff(void);
-void fprestore(FPsave*);
-void fpsave(FPsave*);
-ulong fpstatus(void);
+void (*fprestore)(FPsave*);
+void (*fpsave)(FPsave*);
+void fpsserestore(FPsave*);
+void fpssesave(FPsave*);
+void fpx87restore(FPsave*);
+void fpx87restore0(FPsave*);
+void fpx87save(FPsave*);
+void fpx87save0(FPsave*);
ulong getcr0(void);
ulong getcr2(void);
ulong getcr3(void);
ulong getcr4(void);
+u32int getdr6(void);
char* getconf(char*);
void guesscpuhz(int);
void halt(void);
void mwait(void*);
int i8042auxcmd(int);
-int i8042auxcmds(uchar*, int);
void i8042auxenable(void (*)(int, int));
void i8042reset(void);
void i8250console(void);
void inss(int, void*, int);
ulong inl(int);
void insl(int, void*, int);
-int intrdisable(int, void (*)(Ureg *, void *), void*, int, char*);
+void intrdisable(int, void (*)(Ureg *, void *), void*, int, char*);
void intrenable(int, void (*)(Ureg*, void*), void*, int, char*);
void introff(void);
void intron(void);
int iprint(char*, ...);
int isaconfig(char*, int, ISAConf*);
void* kaddr(ulong);
-void kbdenable(void);
-void kbdinit(void);
#define kmapinval()
+void ldmxcsr(ulong);
void lgdt(ushort[3]);
void lldt(ulong);
void lidt(ushort[3]);
void mb386(void);
void mb586(void);
void meminit(void);
-void memorysummary(void);
+void meminit0(void);
+void memreserve(uintptr, uintptr);
void mfence(void);
#define mmuflushtlb(pdb) putcr3(pdb)
void mmuinit(void);
ulong* mmuwalk(ulong*, ulong, int, int);
-int mtrr(uvlong, uvlong, char *);
+char* mtrr(uvlong, uvlong, char *);
void mtrrclock(void);
int mtrrprint(char *, long);
+void mtrrsync(void);
uchar nvramread(int);
void nvramwrite(int, uchar);
void outb(int, int);
void outl(int, ulong);
void outsl(int, void*, int);
ulong paddr(void*);
+void patwc(void*, int);
ulong pcibarsize(Pcidev*, int);
void pcibussize(Pcidev*, ulong*, ulong*);
int pcicfgr8(Pcidev*, int);
Pcidev* pcimatch(Pcidev*, int, int);
Pcidev* pcimatchtbdf(int);
int pcicap(Pcidev*, int);
+int pcihtcap(Pcidev*, int);
void pcireset(void);
int pciscan(int, Pcidev**);
void pcisetbme(Pcidev*);
void pcisetioe(Pcidev*);
void pcisetmwi(Pcidev*);
int pcisetpms(Pcidev*, int);
+void pcienable(Pcidev*);
+void pcidisable(Pcidev*);
void pcmcisread(PCMslot*);
int pcmcistuple(int, int, int, void*, int);
PCMmap* pcmmap(int, ulong, int, int);
void pcmspecialclose(int);
void (*_pcmspecialclose)(int);
void pcmunmap(int, PCMmap*);
-int pdbmap(ulong*, ulong, ulong, int);
+void pmap(ulong, ulong, int);
+void punmap(ulong, int);
void procrestore(Proc*);
void procsave(Proc*);
void procsetup(Proc*);
void procfork(Proc*);
void putcr0(ulong);
+void putcr2(ulong);
void putcr3(ulong);
void putcr4(ulong);
+void putdr(u32int*);
+void putdr01236(uintptr*);
+void putdr6(u32int);
+void putdr7(u32int);
void* rampage(void);
int rdmsr(int, vlong*);
void realmode(Ureg*);
+void* rsdsearch(void);
void screeninit(void);
void (*screenputs)(char*, int);
-void* sigsearch(char*);
+void setconfenv(void);
+void* sigsearch(char*, int);
void syncclock(void);
void* tmpmap(Page*);
void tmpunmap(void*);
void trapinit0(void);
int tas(void*);
uvlong tscticks(uvlong*);
-ulong umbmalloc(ulong, int, int);
-void umbfree(ulong, int);
-ulong umbrwmalloc(ulong, int, int);
-void umbrwfree(ulong, int);
-ulong upaalloc(int, int);
-void upafree(ulong, int);
-void upareserve(ulong, int);
+ulong umballoc(ulong, ulong, ulong);
+void umbfree(ulong, ulong);
+ulong upaalloc(ulong, ulong, ulong);
+void upafree(ulong, ulong);
void vectortable(void);
void* vmap(ulong, int);
int vmapsync(ulong);
+void vmxprocrestore(Proc *);
+void vmxshutdown(void);
void vunmap(void*, int);
void wbinvd(void);
+void writeconf(void);
int wrmsr(int, vlong);
int xchgw(ushort*, int);
+void rdrandbuf(void*, ulong);
#define userureg(ur) (((ur)->cs & 3) == 3)
#define waserror() (up->nerrlab++, setlabel(&up->errlab[up->nerrlab-1]))