plan9fox/sys/src/cmd/vmx/fns.h
2017-06-14 17:40:48 +00:00

41 lines
1.4 KiB
C

void *emalloc(ulong);
void loadkernel(char *);
uvlong rget(char *);
void rpoke(char *, uvlong, int);
#define rset(a,b) rpoke(a,b,0)
void processexit(char *);
void pitadvance(void);
void vmerror(char *, ...);
#define vmdebug vmerror
int ctl(char *, ...);
void registermmio(uvlong, uvlong, uvlong (*)(int, uvlong, uvlong));
void irqline(int, int);
void irqack(int);
void postexc(char *, u32int);
void vgaresize(void);
void uartinit(int, char *);
void sendnotif(void (*)(void *), void *);
PCIDev *mkpcidev(u32int, u32int, u32int, int);
PCIBar *mkpcibar(PCIDev *, u8int, u32int, void *, void *);
PCICap *mkpcicap(PCIDev *, u8int, u32int (*)(PCICap *, u8int), void(*)(PCICap *, u8int, u32int, u32int));
u32int allocbdf(void);
void *gptr(u64int, u64int);
void *gend(void *);
uintptr gpa(void *);
uintptr gavail(void *);
void pciirq(PCIDev *, int);
u32int iowhine(int, u16int, u32int, int, void *);
void elcr(u16int);
int mkvionet(char *);
int mkvioblk(char *);
char* rcflush(int);
void i8042kick(void *);
#define GET8(p,n) (*((u8int*)(p)+(n)))
#define GET16(p,n) (*(u16int*)((u8int*)(p)+(n)))
#define GET32(p,n) (*(u32int*)((u8int*)(p)+(n)))
#define GET64(p,n) (*(u64int*)((u8int*)(p)+(n)))
#define PUT8(p,n,v) (*((u8int*)(p)+(n)) = (v))
#define PUT16(p,n,v) (*(u16int*)((u8int*)(p)+(n)) = (v))
#define PUT32(p,n,v) (*(u32int*)((u8int*)(p)+(n)) = (v))
#define PUT64(p,n,v) (*(u64int*)((u8int*)(p)+(n)) = (v))