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*);
#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 fpsserestore0(FPsave*);
+void fpssesave(FPsave*);
+void fpssesave0(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* i8250alloc(int, int, int);
-void i8250mouse(char*, int (*)(Queue*, int), int);
-void i8250setmouseputc(char*, int (*)(Queue*, int));
void i8253enable(void);
void i8253init(void);
void i8253reset(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]);
#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);
+void netconsole(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 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 screeninit(void);
void (*screenputs)(char*, int);
+void setconfenv(void);
void* sigsearch(char*);
void syncclock(void);
-void syscallfmt(int syscallno, ulong pc, va_list list);
-void sysretfmt(int syscallno, va_list list, long ret, uvlong start, uvlong stop);
void* tmpmap(Page*);
void tmpunmap(void*);
void touser(void*);
void vectortable(void);
void* vmap(ulong, int);
int vmapsync(ulong);
+void vmxprocrestore(Proc *);
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]))