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