#include "../port/portfns.h"
ulong cankaddr(ulong);
int cistrcmp(char*, char*);
int cistrncmp(char*, char*, int);
void clockinit(void);
void clockintr(Ureg*);
int cmpswap(long*, long, long);
void cpuidprint(void);
void cycles(uvlong*);
void dbgputc(int c);
void dcacheenb(void);
void dcflush(void*, ulong);
void dczap(void*, ulong);
void delay(int);
void delayloopinit(void);
void dmiss(void);
void dumpregs(Ureg*);
void eieio(void);
void faultpower(Ureg*, ulong addr, int read);
void flashprogpower(int);
void fpgareset(void);
void fprestore(FPsave*);
void fpsave(FPsave*);
void fptrap(Ureg*);
char* getconf(char*);
ulong getdar(void);
ulong getdcmp(void);
ulong getdec(void);
ulong getdmiss(void);
ulong getdsisr(void);
ulong gethash1(void);
ulong gethash2(void);
ulong gethid0(void);
ulong gethid1(void);
ulong geticmp(void);
ulong geticmp(void);
ulong getimiss(void);
ulong getmsr(void);
ulong getpvr(void);
ulong getrpa(void);
ulong getsdr1(void);
ulong getsr(int);
ulong getsrr1(void);
void gotopc(ulong);
void hwintrinit(void);
void icacheenb(void);
void icflush(void*, ulong);
void idle(void);
#define idlehands() /* nothing to do in the runproc */
void imiss(void);
int inb(int);
void intr(Ureg*);
void intrenable(int, void (*)(Ureg*, void*), void*, char*);
void intrdisable(int, void (*)(Ureg*, void*), void*, char*);
int ioalloc(int, int, int, char*);
void iofree(int);
int iprint(char*, ...);
int isaconfig(char*, int, ISAConf*);
void kfpinit(void);
#define kmapinval()
void links(void);
void vectordisable(Vctl *);
int vectorenable(Vctl *);
void intack(void);
void intend(int);
int intvec(void);
void l2disable(void);
void mmuinit(void);
void mmusweep(void*);
int newmmupid(void);
void outb(int, int);
int pcicfgr16(Pcidev*, int);
int pcicfgr32(Pcidev*, int);
int pcicfgr8(Pcidev*, int);
void pcicfgw16(Pcidev*, int, int);
void pcicfgw32(Pcidev*, int, int);
void pcicfgw8(Pcidev*, int, int);
void procsave(Proc*);
void procsetup(Proc*);
void putdcmp(ulong);
void putdec(ulong);
void puthash1(ulong);
void puthash2(ulong);
void puthid0(ulong);
void puthid2(ulong);
void puticmp(ulong);
void puticmp(ulong);
void putmsr(ulong);
void putrpa(ulong);
void putsdr1(ulong);
void putsdr1(ulong);
void putsr(int, ulong);
void putsrr1(ulong);
void sethvec(int, void (*)(void));
void setmvec(int, void (*)(void), void (*)(void));
void sharedseginit(void);
void console(void);
void sync(void);
int tas(void*);
void timeradd(Timer *);
void timerdel(Timer *);
void timerinit(void);
void tlbflush(ulong);
void tlbflushall(void);
void tlbld(ulong);
void tlbli(ulong);
void tlbvec(void);
void touser(void*);
void trapinit(void);
void trapvec(void);
#define userureg(ur) (((ur)->status & MSR_PR) != 0)
void validalign(uintptr, unsigned);
#define waserror() (up->nerrlab++, setlabel(&up->errlab[up->nerrlab-1]))
#define KADDR(a) ((void*)((ulong)(a)|KZERO))
#define PADDR(a) ((((ulong)(a)&0xf0000000)==0xf0000000)?(ulong)(a):((ulong)(a)&~KZERO))
#define coherence() eieio()
Pcidev* pcimatch(Pcidev*, int, int);
Pcidev* pcimatchtbdf(int);
void procrestore(Proc*);
#ifdef ucuconf
extern ulong getpll(void);
extern ulong getl2cr(void);
extern void putl2cr(ulong);
#endif
|