Subversion Repositories planix.SVN

Rev

Rev 2 | Blame | Compare with Previous | Last modification | View Log | RSS feed

#include "../port/portfns.h"

void    arginit(void);
int     busprobe(ulong);
ulong   cankaddr(ulong);
void    cleancache(void);
void    clearmmucache(void);
void    clock(Ureg*);
void    clockinit(void);
void    clockshutdown(void);
int     cmpswap(long*, long, long);
void    coherence(void);
void    cycles(uvlong *);
void    dcflush(void*, ulong);
void    faultmips(Ureg*, int, int);
ulong   fcr31(void);
void    firmware(int);
void    fpclear(void);
void    fpsave(FPsave *);
void    fptrap(Ureg*);
int     fpuemu(Ureg *);
void    fpwatch(Ureg *);
ulong   getcause(void);
char*   getconf(char*);
ulong   getconfig(void);
ulong   getconfig1(void);
ulong   getconfig2(void);
ulong   getconfig3(void);
ulong   getconfig7(void);
ulong   gethwreg3(void);
ulong   getpagemask(void);
ulong   getstatus(void);
int     gettlbp(ulong, ulong*);
ulong   gettlbvirt(int);
void    gotopc(ulong);
void    hinv(void);
int     i8250console(void);
void    icflush(void *, ulong);
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    ioinit(void);
void    introff(int);
void    intron(int);
void    intrshutdown(void);
void    kfault(Ureg*);
KMap*   kmap(Page*);
void    kmapinit(void);
void    kmapinval(void);
void    kunmap(KMap*);
void    launchinit(void);
void    launch(int);
void    links(void);
ulong   machstatus(void);
void    newstart(void);
int     newtlbpid(Proc*);
void    online(void);
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);
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);
void    pcireset(void);
int     pciscan(int, Pcidev**);
void    pcisetbme(Pcidev*);
void    pcisetioe(Pcidev*);
void    pcisetmwi(Pcidev*);
int     pcisetpms(Pcidev*, int);
ulong   prid(void);
void    procrestore(Proc *);
void    procsave(Proc *);
#define procsetup(p)    ((p)->fpstate = FPinit)
void    purgetlb(int);
Softtlb*        putstlb(ulong, ulong);
int     puttlb(ulong, ulong, ulong);
void    puttlbx(int, ulong, ulong, ulong, int);
ulong   rdcompare(void);
ulong   rdcount(void);
ulong*  reg(Ureg*, int);
void    restfpregs(FPsave*, ulong);
void    intrenable(int, void(*)(void *), void *);
void    setleveldest(int, int, uvlong*);
void    setpagemask(ulong);
void    setsp(ulong);
void    setstatus(ulong);
void    setwatchhi0(ulong);
void    setwatchlo0(ulong);
void    setwired(ulong);
void    sicwdog(void);
void    silencewdog(void);
ulong   stlbhash(ulong);
void    stopwdog(void);
void    syncclock(void);
long    syscall(Ureg*);
void    syscallfmt(int syscallno, ulong pc, va_list list);
void    sysretfmt(int syscallno, va_list list, long ret, uvlong start, uvlong stop);
int     tas(ulong*);
void    tlbinit(void);
ulong   tlbvirt(void);
void    touser(uintptr);
void    unleash(void);
#define userureg(ur) ((ur)->status & KUSER)
void    validalign(uintptr, unsigned);
void    vecinit(void);
void    vector0(void);
void    vector100(void);
void    vector180(void);
void    wdogreset(void);
void    wrcompare(ulong);
void    wrcount(ulong);
ulong   wiredpte(vlong);
void    machwire(void);
void    _uartputs(char*, int);
int     _uartprint(char*, ...);

#define PTR2UINT(p)     ((uintptr)(p))
#define UINT2PTR(i)     ((void*)(i))

#define waserror()      (up->nerrlab++, setlabel(&up->errlab[up->nerrlab-1]))

#define KADDR(a)        ((void*)((ulong)(a)|KSEG0))
#define PADDR(a)        ((ulong)(a)&~KSEGM)

#define KSEG1ADDR(a)    ((void*)((ulong)(a)|KSEG1))