123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- #include "../port/portfns.h"
- void aamloop(int);
- Dirtab* addarchfile(char*, int, long(*)(Chan*,void*,long,vlong), long(*)(Chan*,void*,long,vlong));
- void apicclkenable(void);
- void archinit(void);
- void bootargs(ulong);
- int cistrcmp(char*, char*);
- int cistrncmp(char*, char*, int);
- #define clearmmucache() /* x86 doesn't have one */
- void clockintr(Ureg*, void*);
- void (*coherence)(void);
- void cpuid(char*, int*, int*);
- int cpuidentify(void);
- void cpuidprint(void);
- void delay(int);
- int dmacount(int);
- int dmadone(int);
- void dmaend(int);
- int dmainit(int, int);
- long dmasetup(int, void*, long, int);
- #define evenaddr(x) /* x86 doesn't care */
- void fpenv(FPsave*);
- void fpinit(void);
- void fpoff(void);
- void fprestore(FPsave*);
- void fpsave(FPsave*);
- ulong fpstatus(void);
- ulong getcr0(void);
- ulong getcr2(void);
- ulong getcr3(void);
- ulong getcr4(void);
- char* getconf(char*);
- void guesscpuhz(int);
- void halt(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 i8253enable(void);
- void i8253init(void);
- void i8253link(void);
- uvlong i8253read(uvlong*);
- void i8253timerset(uvlong);
- void i8259init(void);
- int i8259isr(int);
- int i8259enable(Vctl*);
- int i8259vecno(int);
- int i8259disable(int);
- void idle(void);
- void idlehands(void);
- int inb(int);
- void insb(int, void*, int);
- ushort ins(int);
- void inss(int, void*, int);
- ulong inl(int);
- void insl(int, void*, int);
- void intrdisable(int, void (*)(Ureg *, void *), void*, int, char*);
- void intrenable(int, void (*)(Ureg*, void*), void*, int, char*);
- 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 kbdenable(void);
- void kbdinit(void);
- #define kmapinval()
- void lapicclock(Ureg*, void*);
- void lapictimerset(uvlong);
- void lgdt(ushort[3]);
- void lidt(ushort[3]);
- void links(void);
- void ltr(ulong);
- void mach0init(void);
- void mathinit(void);
- void meminit(void);
- #define mmuflushtlb(pdb) putcr3(pdb)
- void mmuinit(void);
- ulong mmukmap(ulong, ulong, int);
- int mmukmapsync(ulong);
- #define mmunewpage(x)
- ulong* mmuwalk(ulong*, ulong, int, int);
- uchar nvramread(int);
- void nvramwrite(int, uchar);
- void outb(int, int);
- void outsb(int, void*, int);
- void outs(int, ushort);
- void outss(int, void*, int);
- void outl(int, ulong);
- void outsl(int, void*, int);
- 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 pcmcisread(PCMslot*);
- int pcmcistuple(int, int, int, void*, int);
- PCMmap* pcmmap(int, ulong, int, int);
- int pcmspecial(char*, ISAConf*);
- int (*_pcmspecial)(char *, ISAConf *);
- void pcmspecialclose(int);
- void (*_pcmspecialclose)(int);
- void pcmunmap(int, PCMmap*);
- void printcpufreq(void);
- #define procrestore(p)
- void procsave(Proc*);
- void procsetup(Proc*);
- void putcr3(ulong);
- void putcr4(ulong);
- void rdmsr(int, vlong*);
- void rdtsc(uvlong*);
- void screeninit(void);
- int screenprint(char*, ...); /* debugging */
- void (*screenputs)(char*, int);
- void sfence(void);
- void syncclock(void);
- void touser(void*);
- void trapenable(int, void (*)(Ureg*, void*), void*, char*);
- void trapinit(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 upamalloc(ulong, int, int);
- void upafree(ulong, int);
- #define userureg(ur) (((ur)->cs & 0xFFFF) == UESEL)
- void vectortable(void);
- void wrmsr(int, vlong);
- void wbflush(void);
- void wbinvd(void);
- int xchgw(ushort*, int);
- #define waserror() (up->nerrlab++, setlabel(&up->errlab[up->nerrlab-1]))
- #define KADDR(a) ((void*)((ulong)(a)|KZERO))
- #define PADDR(a) ((ulong)(a)&~KZERO)
- #define dcflush(a, b)
|