X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=sys%2Fsrc%2F9%2Fpc64%2Ffns.h;h=75764f06dff4e1f41ce1030f5950c8f9dddc4f51;hb=15b903c4e187b82d6dd01b8284b244945522c06d;hp=15eb1a0f56821a7c399412b1c639eecb9382e78f;hpb=bb95002c2d47ab00764a183c200c7fd9ecb3c12a;p=plan9front.git diff --git a/sys/src/9/pc64/fns.h b/sys/src/9/pc64/fns.h index 15eb1a0f5..75764f06d 100644 --- a/sys/src/9/pc64/fns.h +++ b/sys/src/9/pc64/fns.h @@ -1,26 +1,28 @@ #include "../port/portfns.h" void aamloop(int); -void acpireset(void); 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); uintptr cankaddr(uintptr); int checksum(void *, int); void clockintr(Ureg*, void*); int (*cmpswap)(long*, long, long); int cmpswap486(long*, long, long); void (*coherence)(void); -void cpuid(int, ulong regs[]); +void cpuid(int, int, ulong regs[]); +void fpuinit(void); int cpuidentify(void); void cpuidprint(void); void (*cycles)(uvlong*); void delay(int); void* dmabva(int); +#define dmaflush(clean, addr, len) int dmacount(int); int dmadone(int); void dmaend(int); @@ -30,23 +32,29 @@ int dmainit(int, int); #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 fpinit(void); void (*fprestore)(FPsave*); void (*fpsave)(FPsave*); -void fpsserestore(FPsave*); -void fpssesave(FPsave*); -void fpx87restore(FPsave*); -void fpx87save(FPsave*); +void fpuprocsetup(Proc*); +void fpuprocfork(Proc*); +void fpuprocsave(Proc*); +void fpuprocrestore(Proc*); +int fpusave(void); +void fpurestore(int); u64int getcr0(void); u64int getcr2(void); u64int getcr3(void); u64int getcr4(void); +u64int getxcr0(void); +u64int 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); @@ -56,13 +64,6 @@ void i8253init(void); void i8253reset(void); uvlong i8253read(uvlong*); void i8253timerset(uvlong); -int i8259disable(int); -int i8259enable(Vctl*); -void i8259init(void); -int i8259isr(int); -void i8259on(void); -void i8259off(void); -int i8259vecno(int); void idle(void); void idlehands(void); int inb(int); @@ -71,21 +72,15 @@ ushort ins(int); 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); void invlpg(uintptr); -void iofree(int); void ioinit(void); -int iounused(int, int); -int ioalloc(int, int, int, char*); -int ioreserve(int, int, int, char*); int iprint(char*, ...); int isaconfig(char*, int, ISAConf*); void* kaddr(uintptr); -void kbdenable(void); -void kbdinit(void); KMap* kmap(Page*); void kunmap(KMap*); #define kmapinval() @@ -98,15 +93,18 @@ void mathinit(void); void mb386(void); void mb586(void); void meminit(void); -void memorysummary(void); +void meminit0(void); +void memreserve(uintptr, uintptr); void mfence(void); -#define mmuflushtlb() putcr3(getcr3()) +#define mmuflushtlb(pml4) putcr3(pml4) void mmuinit(void); uintptr *mmuwalk(uintptr*, uintptr, int, int); char* mtrr(uvlong, uvlong, char *); +char* mtrrattr(uvlong, uvlong *); void mtrrclock(void); int mtrrprint(char *, long); void mtrrsync(void); +void nmienable(void); void noteret(void); uchar nvramread(int); void nvramwrite(int, uchar); @@ -117,30 +115,11 @@ void outss(int, void*, int); void outl(int, ulong); void outsl(int, void*, int); uintptr paddr(void*); -ulong pcibarsize(Pcidev*, int); -void pcibussize(Pcidev*, ulong*, ulong*); -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 pciclrioe(Pcidev*); -void pciclrmwi(Pcidev*); -int pcigetpms(Pcidev*); -void pcihinv(Pcidev*); -uchar pciipin(Pcidev*, uchar); -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 patwc(void*, int); +void pcicfginit(void); +int (*pcicfgrw8)(int, int, int, int); +int (*pcicfgrw16)(int, int, int, int); +int (*pcicfgrw32)(int, int, int, int); void pcmcisread(PCMslot*); int pcmcistuple(int, int, int, void*, int); PCMmap* pcmmap(int, ulong, int, int); @@ -149,20 +128,30 @@ int (*_pcmspecial)(char *, ISAConf *); void pcmspecialclose(int); void (*_pcmspecialclose)(int); void pcmunmap(int, PCMmap*); -void pmap(uintptr *, uintptr, uintptr, vlong); +void pmap(uintptr, uintptr, vlong); +void punmap(uintptr, vlong); +void preallocpages(void); void procrestore(Proc*); void procsave(Proc*); void procsetup(Proc*); void procfork(Proc*); void putcr0(u64int); +void putcr2(u64int); void putcr3(u64int); void putcr4(u64int); +void putxcr0(u64int); +void putdr(u64int*); +void putdr01236(u64int*); +void putdr6(u64int); +void putdr7(u64int); 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 syscallentry(void); void touser(void*); @@ -171,18 +160,18 @@ void trapinit(void); void trapinit0(void); int tas(void*); uvlong tscticks(uvlong*); -uintptr umbmalloc(uintptr, int, int); -void umbfree(uintptr, int); -uintptr umbrwmalloc(uintptr, int, int); -void umbrwfree(uintptr, int); -uintptr upaalloc(int, int); -void upafree(uintptr, int); -void upareserve(uintptr, int); +ulong umballoc(ulong, ulong, ulong); +void umbfree(ulong, ulong); +uvlong upaalloc(uvlong, ulong, ulong); +uvlong upaallocwin(uvlong, ulong, ulong, ulong); +void upafree(uvlong, ulong); void vectortable(void); -void* vmap(uintptr, int); -int vmapsync(uintptr); +void vmxprocrestore(Proc *); +void vmxshutdown(void); +void* vmap(uvlong, int); void vunmap(void*, int); void wbinvd(void); +void writeconf(void); int wrmsr(int, vlong); int xchgw(ushort*, int); void rdrandbuf(void*, ulong);