]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/cmd/vmx/fns.h
vmx: emulate ps/2 intellimouse scrolling
[plan9front.git] / sys / src / cmd / vmx / fns.h
index f37a6512d084362e861020bff2bf8252bd927a18..7ec146ee013677434aca3763cc17f7f00d45c612 100644 (file)
@@ -1,14 +1,19 @@
+#define MIN(a,b) ((a)<(b)?(a):(b))
+#define MAX(a,b) ((a)>(b)?(a):(b))
 void *emalloc(ulong);
 void loadkernel(char *);
 uvlong rget(char *);
 void rpoke(char *, uvlong, int);
 #define rset(a,b) rpoke(a,b,0)
+void rsetsz(char *, uvlong, int);
+uvlong rgetsz(char *, int);
 void processexit(char *);
 void pitadvance(void);
 void rtcadvance(void);
 void settimer(vlong targ);
 void vmerror(char *, ...);
-#define vmdebug vmerror
+#pragma varargck argpos vmerror 1
+#define vmdebug if(!debug) {} else vmerror
 int ctl(char *, ...);
 void registermmio(uvlong, uvlong, uvlong (*)(int, uvlong, uvlong));
 void irqline(int, int);
@@ -21,6 +26,7 @@ PCIDev *mkpcidev(u32int, u32int, u32int, int);
 PCIBar *mkpcibar(PCIDev *, u8int, u32int, u32int, void *, void *);
 PCICap *mkpcicap(PCIDev *, u8int, u32int (*)(PCICap *, u8int), void(*)(PCICap *, u8int, u32int, u32int));
 u32int allocbdf(void);
+Region *regptr(u64int);
 void *gptr(u64int, u64int);
 void *gend(void *);
 uintptr gpa(void *);
@@ -30,6 +36,7 @@ u32int iowhine(int, u16int, u32int, int, void *);
 void elcr(u16int);
 int mkvionet(char *);
 int mkvioblk(char *);
+int mkideblk(char *);
 char* rcflush(int);
 void i8042kick(void *);
 #define GET8(p,n) (*((u8int*)(p)+(n)))
@@ -44,3 +51,8 @@ u32int roundpow2(u32int);
 u32int vgagetpal(u8int);
 void vgasetpal(u8int, u32int);
 uintptr vmemread(void *, uintptr, uintptr);
+uintptr vmemwrite(void *, uintptr, uintptr);
+int x86access(int, uintptr, int, uvlong*, int, int, TLB *);
+u32int io(int, u16int, u32int, int);
+int x86step(void);
+uvlong nanosec(void);