]> git.lizzy.rs Git - plan9front.git/blob - sys/src/9/pc64/fns.h
0e2d8263cd9eb33f27d9e4d57374add4b220e6d4
[plan9front.git] / sys / src / 9 / pc64 / fns.h
1 #include "../port/portfns.h"
2
3 void    aamloop(int);
4 Dirtab* addarchfile(char*, int, long(*)(Chan*,void*,long,vlong), long(*)(Chan*,void*,long,vlong));
5 void    archinit(void);
6 int     bios32call(BIOS32ci*, u16int[3]);
7 int     bios32ci(BIOS32si*, BIOS32ci*);
8 void    bios32close(BIOS32si*);
9 BIOS32si* bios32open(char*);
10 void    bootargs(void*);
11 uintptr cankaddr(uintptr);
12 int     checksum(void *, int);
13 void    clockintr(Ureg*, void*);
14 int     (*cmpswap)(long*, long, long);
15 int     cmpswap486(long*, long, long);
16 void    (*coherence)(void);
17 void    cpuid(int, ulong regs[]);
18 int     cpuidentify(void);
19 void    cpuidprint(void);
20 void    (*cycles)(uvlong*);
21 void    delay(int);
22 void*   dmabva(int);
23 int     dmacount(int);
24 int     dmadone(int);
25 void    dmaend(int);
26 int     dmainit(int, int);
27 #define DMAWRITE 0
28 #define DMAREAD 1
29 #define DMALOOP 2
30 long    dmasetup(int, void*, long, int);
31 #define evenaddr(x)                             /* x86 doesn't care */
32 void    (*fprestore)(FPsave*);
33 void    (*fpsave)(FPsave*);
34 void    fpsserestore(FPsave*);
35 void    fpssesave(FPsave*);
36 void    fpx87restore(FPsave*);
37 void    fpx87save(FPsave*);
38 u64int  getcr0(void);
39 u64int  getcr2(void);
40 u64int  getcr3(void);
41 u64int  getcr4(void);
42 char*   getconf(char*);
43 void    guesscpuhz(int);
44 void    halt(void);
45 void    mwait(void*);
46 int     i8042auxcmd(int);
47 int     i8042auxcmds(uchar*, int);
48 void    i8042auxenable(void (*)(int, int));
49 void    i8042reset(void);
50 void    i8250console(void);
51 void*   i8250alloc(int, int, int);
52 void    i8253enable(void);
53 void    i8253init(void);
54 void    i8253reset(void);
55 uvlong  i8253read(uvlong*);
56 void    i8253timerset(uvlong);
57 int     i8259disable(int);
58 int     i8259enable(Vctl*);
59 void    i8259init(void);
60 int     i8259isr(int);
61 void    i8259on(void);
62 void    i8259off(void);
63 int     i8259vecno(int);
64 void    idle(void);
65 void    idlehands(void);
66 int     inb(int);
67 void    insb(int, void*, int);
68 ushort  ins(int);
69 void    inss(int, void*, int);
70 ulong   inl(int);
71 void    insl(int, void*, int);
72 int     intrdisable(int, void (*)(Ureg *, void *), void*, int, char*);
73 void    intrenable(int, void (*)(Ureg*, void*), void*, int, char*);
74 void    introff(void);
75 void    intron(void);
76 void    invlpg(uintptr);
77 void    iofree(int);
78 void    ioinit(void);
79 int     iounused(int, int);
80 int     ioalloc(int, int, int, char*);
81 int     ioreserve(int, int, int, char*);
82 int     iprint(char*, ...);
83 int     isaconfig(char*, int, ISAConf*);
84 void*   kaddr(uintptr);
85 void    kbdenable(void);
86 void    kbdinit(void);
87 KMap*   kmap(Page*);
88 void    kunmap(KMap*);
89 #define kmapinval()
90 void    lgdt(void*);
91 void    lidt(void*);
92 void    links(void);
93 void    ltr(ulong);
94 void    mach0init(void);
95 void    mathinit(void);
96 void    mb386(void);
97 void    mb586(void);
98 void    meminit(void);
99 void    memorysummary(void);
100 void    mfence(void);
101 #define mmuflushtlb() putcr3(getcr3())
102 void    mmuinit(void);
103 uintptr *mmuwalk(uintptr*, uintptr, int, int);
104 int     mtrr(uvlong, uvlong, char *);
105 void    mtrrclock(void);
106 int     mtrrprint(char *, long);
107 void    noteret(void);
108 uchar   nvramread(int);
109 void    nvramwrite(int, uchar);
110 void    outb(int, int);
111 void    outsb(int, void*, int);
112 void    outs(int, ushort);
113 void    outss(int, void*, int);
114 void    outl(int, ulong);
115 void    outsl(int, void*, int);
116 uintptr paddr(void*);
117 ulong   pcibarsize(Pcidev*, int);
118 void    pcibussize(Pcidev*, ulong*, ulong*);
119 int     pcicfgr8(Pcidev*, int);
120 int     pcicfgr16(Pcidev*, int);
121 int     pcicfgr32(Pcidev*, int);
122 void    pcicfgw8(Pcidev*, int, int);
123 void    pcicfgw16(Pcidev*, int, int);
124 void    pcicfgw32(Pcidev*, int, int);
125 void    pciclrbme(Pcidev*);
126 void    pciclrioe(Pcidev*);
127 void    pciclrmwi(Pcidev*);
128 int     pcigetpms(Pcidev*);
129 void    pcihinv(Pcidev*);
130 uchar   pciipin(Pcidev*, uchar);
131 Pcidev* pcimatch(Pcidev*, int, int);
132 Pcidev* pcimatchtbdf(int);
133 int     pcicap(Pcidev*, int);
134 int     pcihtcap(Pcidev*, int);
135 void    pcireset(void);
136 int     pciscan(int, Pcidev**);
137 void    pcisetbme(Pcidev*);
138 void    pcisetioe(Pcidev*);
139 void    pcisetmwi(Pcidev*);
140 int     pcisetpms(Pcidev*, int);
141 void    pcmcisread(PCMslot*);
142 int     pcmcistuple(int, int, int, void*, int);
143 PCMmap* pcmmap(int, ulong, int, int);
144 int     pcmspecial(char*, ISAConf*);
145 int     (*_pcmspecial)(char *, ISAConf *);
146 void    pcmspecialclose(int);
147 void    (*_pcmspecialclose)(int);
148 void    pcmunmap(int, PCMmap*);
149 void    pmap(uintptr *, uintptr, uintptr, vlong);
150 void    procrestore(Proc*);
151 void    procsave(Proc*);
152 void    procsetup(Proc*);
153 void    procfork(Proc*);
154 void    putcr0(u64int);
155 void    putcr3(u64int);
156 void    putcr4(u64int);
157 void*   rampage(void);
158 int     rdmsr(int, vlong*);
159 void    realmode(Ureg*);
160 void    screeninit(void);
161 void    (*screenputs)(char*, int);
162 void*   sigsearch(char*);
163 void    syncclock(void);
164 void    syscallentry(void);
165 void    touser(void*);
166 void    trapenable(int, void (*)(Ureg*, void*), void*, char*);
167 void    trapinit(void);
168 void    trapinit0(void);
169 int     tas(void*);
170 uvlong  tscticks(uvlong*);
171 uintptr umbmalloc(uintptr, int, int);
172 void    umbfree(uintptr, int);
173 uintptr umbrwmalloc(uintptr, int, int);
174 void    umbrwfree(uintptr, int);
175 uintptr upaalloc(int, int);
176 void    upafree(uintptr, int);
177 void    upareserve(uintptr, int);
178 void    vectortable(void);
179 void*   vmap(uintptr, int);
180 int     vmapsync(uintptr);
181 void    vunmap(void*, int);
182 void    wbinvd(void);
183 int     wrmsr(int, vlong);
184 int     xchgw(ushort*, int);
185 void    rdrandbuf(void*, ulong);
186
187 #define userureg(ur)    (((ur)->cs & 3) == 3)
188 #define waserror()      (up->nerrlab++, setlabel(&up->errlab[up->nerrlab-1]))
189 #define KADDR(a)        kaddr(a)
190 #define PADDR(a)        paddr((void*)(a))