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 void icflush(void *, ulong);
35 void outl(void*, void*, ulong);
37 void procfork(Proc *);
38 void procrestore(Proc *);
39 void procsave(Proc *);
40 void procsetup(Proc *);
42 void puttlbx(int, ulong, ulong, ulong, int);
43 ulong rdcompare(void);
45 ulong* reg(Ureg*, int);
46 void restfpregs(FPsave*, ulong);
47 void intrenable(int, void(*)(Ureg *, void *), void *);
48 void screeninit(void);
49 void setpagemask(ulong);
51 ulong stlbhash(ulong);
57 #define userureg(ur) ((ur)->status & KUSER)
58 void validalign(uintptr, unsigned);
59 void wrcompare(ulong);
62 #define PTR2UINT(p) ((uintptr)(p))
63 #define UINT2PTR(i) ((void*)(i))
65 #define waserror() (up->nerrlab++, setlabel(&up->errlab[up->nerrlab-1]))
67 #define KADDR(a) ((void*)((ulong)(a)|KSEG0))
68 #define PADDR(a) ((ulong)(a)&~KSEGM)
70 #define KSEG1ADDR(a) ((void*)((ulong)(a)|KSEG1))