]> git.lizzy.rs Git - plan9front.git/blob - sys/src/cmd/vmx/fns.h
vmx: emulate ps/2 intellimouse scrolling
[plan9front.git] / sys / src / cmd / vmx / fns.h
1 #define MIN(a,b) ((a)<(b)?(a):(b))
2 #define MAX(a,b) ((a)>(b)?(a):(b))
3 void *emalloc(ulong);
4 void loadkernel(char *);
5 uvlong rget(char *);
6 void rpoke(char *, uvlong, int);
7 #define rset(a,b) rpoke(a,b,0)
8 void rsetsz(char *, uvlong, int);
9 uvlong rgetsz(char *, int);
10 void processexit(char *);
11 void pitadvance(void);
12 void rtcadvance(void);
13 void settimer(vlong targ);
14 void vmerror(char *, ...);
15 #pragma varargck argpos vmerror 1
16 #define vmdebug if(!debug) {} else vmerror
17 int ctl(char *, ...);
18 void registermmio(uvlong, uvlong, uvlong (*)(int, uvlong, uvlong));
19 void irqline(int, int);
20 void irqack(int);
21 void postexc(char *, vlong);
22 void vgaresize(void);
23 void uartinit(int, char *);
24 void sendnotif(void (*)(void *), void *);
25 PCIDev *mkpcidev(u32int, u32int, u32int, int);
26 PCIBar *mkpcibar(PCIDev *, u8int, u32int, u32int, void *, void *);
27 PCICap *mkpcicap(PCIDev *, u8int, u32int (*)(PCICap *, u8int), void(*)(PCICap *, u8int, u32int, u32int));
28 u32int allocbdf(void);
29 Region *regptr(u64int);
30 void *gptr(u64int, u64int);
31 void *gend(void *);
32 uintptr gpa(void *);
33 uintptr gavail(void *);
34 void pciirq(PCIDev *, int);
35 u32int iowhine(int, u16int, u32int, int, void *);
36 void elcr(u16int);
37 int mkvionet(char *);
38 int mkvioblk(char *);
39 int mkideblk(char *);
40 char* rcflush(int);
41 void i8042kick(void *);
42 #define GET8(p,n) (*((u8int*)(p)+(n)))
43 #define GET16(p,n) (*(u16int*)((u8int*)(p)+(n)))
44 #define GET32(p,n) (*(u32int*)((u8int*)(p)+(n)))
45 #define GET64(p,n) (*(u64int*)((u8int*)(p)+(n)))
46 #define PUT8(p,n,v) (*((u8int*)(p)+(n)) = (v))
47 #define PUT16(p,n,v) (*(u16int*)((u8int*)(p)+(n)) = (v))
48 #define PUT32(p,n,v) (*(u32int*)((u8int*)(p)+(n)) = (v))
49 #define PUT64(p,n,v) (*(u64int*)((u8int*)(p)+(n)) = (v))
50 u32int roundpow2(u32int);
51 u32int vgagetpal(u8int);
52 void vgasetpal(u8int, u32int);
53 uintptr vmemread(void *, uintptr, uintptr);
54 uintptr vmemwrite(void *, uintptr, uintptr);
55 int x86access(int, uintptr, int, uvlong*, int, int, TLB *);
56 u32int io(int, u16int, u32int, int);
57 int x86step(void);
58 uvlong nanosec(void);