1 #include "../port/portfns.h"
3 ulong arcs(ulong, ...);
4 void arcsconsinit(void);
11 int cmpswap(long*, long, long);
13 void cycles(uvlong *);
14 void dcflush(void*, ulong);
15 void evenaddr(uintptr);
16 void faultmips(Ureg*, int, int);
20 ulong getpagemask(void);
21 ulong getrandom(void);
22 int gettlbp(ulong, ulong*);
23 ulong gettlbvirt(int);
24 int hpc3irqlevel(int);
25 int isaconfig(char*, int, ISAConf*);
26 void icflush(void *, ulong);
36 void outl(void*, void*, ulong);
38 void procfork(Proc *);
39 void procrestore(Proc *);
40 void procsave(Proc *);
41 void procsetup(Proc *);
43 void puttlbx(int, ulong, ulong, ulong, int);
44 ulong rdcompare(void);
46 ulong* reg(Ureg*, int);
47 void restfpregs(FPsave*, ulong);
48 void intrenable(int, void(*)(Ureg *, void *), void *);
49 void screeninit(void);
50 void setpagemask(ulong);
52 ulong stlbhash(ulong);
58 #define userureg(ur) ((ur)->status & KUSER)
59 void validalign(uintptr, unsigned);
60 void wrcompare(ulong);
63 #define PTR2UINT(p) ((uintptr)(p))
64 #define UINT2PTR(i) ((void*)(i))
66 #define waserror() (up->nerrlab++, setlabel(&up->errlab[up->nerrlab-1]))
68 #define KADDR(a) ((void*)((ulong)(a)|KSEG0))
69 #define PADDR(a) ((ulong)(a)&~KSEGM)
71 #define KSEG1ADDR(a) ((void*)((ulong)(a)|KSEG1))