]> git.lizzy.rs Git - plan9front.git/blob - sys/src/9/sgi/fns.h
sgi: work in progress kernel for sgi mips machines (only tested with r5k indy)
[plan9front.git] / sys / src / 9 / sgi / fns.h
1 #include "../port/portfns.h"
2
3 ulong   arcs(ulong, ...);
4 void    arcsconsinit(void);
5 void    arcsproc(void*);
6 void    arcsputc(char);
7 int     argcgetc(void);
8 ulong   cankaddr(ulong);
9 void    clock(Ureg*);
10 void    clockinit(void);
11 int     cmpswap(long*, long, long);
12 void    coherence(void);
13 void    cycles(uvlong *);
14 void    dcflush(void*, ulong);
15 void    evenaddr(uintptr);
16 void    faultmips(Ureg*, int, int);
17 ulong   fcr31(void);
18 void    fptrap(Ureg*);
19 char*   getconf(char*);
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);
26 void    idlehands(void);
27 void    introff(int);
28 void    intron(int);
29 void    kfault(Ureg*);
30 KMap*   kmap(Page*);
31 void    kmapinit(void);
32 void    kmapinval(void);
33 void    kunmap(KMap*);
34 void    links(void);
35 ulong   prid(void);
36 void    procfork(Proc *);
37 void    procrestore(Proc *);
38 void    procsave(Proc *);
39 void    procsetup(Proc *);
40 void    purgetlb(int);
41 void    puttlbx(int, ulong, ulong, ulong, int);
42 ulong   rdcompare(void);
43 ulong   rdcount(void);
44 ulong*  reg(Ureg*, int);
45 void    restfpregs(FPsave*, ulong);
46 void    intrenable(int, void(*)(Ureg *, void *), void *);
47 void    setpagemask(ulong);
48 void    setwired(ulong);
49 ulong   stlbhash(ulong);
50 void    syscall(Ureg*);
51 int     tas(ulong*);
52 void    tlbinit(void);
53 ulong   tlbvirt(void);
54 void    touser(void*);
55 #define userureg(ur) ((ur)->status & KUSER)
56 void    validalign(uintptr, unsigned);
57 void    wrcompare(ulong);
58 void    wrcount(ulong);
59
60 #define PTR2UINT(p)     ((uintptr)(p))
61 #define UINT2PTR(i)     ((void*)(i))
62
63 #define waserror()      (up->nerrlab++, setlabel(&up->errlab[up->nerrlab-1]))
64
65 #define KADDR(a)        ((void*)((ulong)(a)|KSEG0))
66 #define PADDR(a)        ((ulong)(a)&~KSEGM)
67
68 #define KSEG1ADDR(a)    ((void*)((ulong)(a)|KSEG1))