X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fvmm.h;h=2f264004d4bc0b027ebfeb5bcea98b2e3cf1700f;hb=3cd1d3771e3f8e30b09f6c4995851979aaafc5ff;hp=ebd0d90b1f8713277cb9fd370f3e67ec1212673f;hpb=1c46db5ec8d086d76f7120a638199564947694d3;p=palacios-OLD.git diff --git a/palacios/include/palacios/vmm.h b/palacios/include/palacios/vmm.h index ebd0d90..2f26400 100644 --- a/palacios/include/palacios/vmm.h +++ b/palacios/include/palacios/vmm.h @@ -17,8 +17,8 @@ * redistribute, and modify it as specified in the file "V3VEE_LICENSE". */ -#ifndef __VMM_H -#define __VMM_H +#ifndef __VMM_H__ +#define __VMM_H__ #include @@ -37,7 +37,7 @@ #ifdef VMM_DEBUG #define PrintDebug(fmt, args...) \ do { \ - extern struct vmm_os_hooks * os_hooks; \ + extern struct v3_os_hooks * os_hooks; \ if ((os_hooks) && (os_hooks)->print_debug) { \ (os_hooks)->print_debug((fmt), ##args); \ } \ @@ -50,7 +50,7 @@ #define PrintError(fmt, args...) \ do { \ - extern struct vmm_os_hooks * os_hooks; \ + extern struct v3_os_hooks * os_hooks; \ if ((os_hooks) && (os_hooks)->print_debug) { \ (os_hooks)->print_debug("%s(%d): " fmt, __FILE__, __LINE__, ##args); \ } \ @@ -61,7 +61,7 @@ #ifdef VMM_INFO #define PrintInfo(fmt, args...) \ do { \ - extern struct vmm_os_hooks * os_hooks; \ + extern struct v3_os_hooks * os_hooks; \ if ((os_hooks) && (os_hooks)->print_info) { \ (os_hooks)->print_info((fmt), ##args); \ } \ @@ -74,7 +74,7 @@ #ifdef VMM_TRACE #define PrintTrace(fmt, args...) \ do { \ - extern struct vmm_os_hooks * os_hooks; \ + extern struct v3_os_hooks * os_hooks; \ if ((os_hooks) && (os_hooks)->print_trace) { \ (os_hooks)->print_trace(fmt, ##args); \ } \ @@ -86,7 +86,7 @@ #define V3_AllocPages(num_pages) \ ({ \ - extern struct vmm_os_hooks * os_hooks; \ + extern struct v3_os_hooks * os_hooks; \ void * ptr = 0; \ if ((os_hooks) && (os_hooks)->allocate_pages) { \ ptr = (os_hooks)->allocate_pages(num_pages); \ @@ -97,7 +97,7 @@ #define V3_FreePage(page) \ do { \ - extern struct vmm_os_hooks * os_hooks; \ + extern struct v3_os_hooks * os_hooks; \ if ((os_hooks) && (os_hooks)->free_page) { \ (os_hooks)->free_page(page); \ } \ @@ -107,7 +107,7 @@ #define V3_Malloc(size) ({ \ - extern struct vmm_os_hooks * os_hooks; \ + extern struct v3_os_hooks * os_hooks; \ void * var = 0; \ if ((os_hooks) && (os_hooks)->malloc) { \ var = (os_hooks)->malloc(size); \ @@ -118,7 +118,7 @@ // We need to check the hook structure at runtime to ensure its SAFE #define V3_Free(addr) \ do { \ - extern struct vmm_os_hooks * os_hooks; \ + extern struct v3_os_hooks * os_hooks; \ if ((os_hooks) && (os_hooks)->free) { \ (os_hooks)->free(addr); \ } \ @@ -129,7 +129,7 @@ #define V3_CPU_KHZ() \ ({ \ unsigned int khz = 0; \ - extern struct vmm_os_hooks * os_hooks; \ + extern struct v3_os_hooks * os_hooks; \ if ((os_hooks) && (os_hooks)->get_cpu_khz) { \ khz = (os_hooks)->get_cpu_khz(); \ } \ @@ -141,7 +141,7 @@ #define V3_Hook_Interrupt(irq, opaque) \ ({ \ int ret = 0; \ - extern struct vmm_os_hooks * os_hooks; \ + extern struct v3_os_hooks * os_hooks; \ if ((os_hooks) && (os_hooks)->hook_interrupt) { \ ret = (os_hooks)->hook_interrupt(irq, opaque); \ } \ @@ -150,7 +150,7 @@ #define V3_Yield(addr) \ do { \ - extern struct vmm_os_hooks * os_hooks; \ + extern struct v3_os_hooks * os_hooks; \ if ((os_hooks) && (os_hooks)->yield_cpu) { \ (os_hooks)->yield_cpu(); \ } \ @@ -191,7 +191,7 @@ typedef enum v3_cpu_arch {V3_INVALID_CPU, V3_SVM_CPU, V3_SVM_REV3_CPU, V3_VMX_CP struct guest_info; /* This will contain function pointers that provide OS services */ -struct vmm_os_hooks { +struct v3_os_hooks { void (*print_info)(const char * format, ...); void (*print_debug)(const char * format, ...); void (*print_trace)(const char * format, ...); @@ -232,7 +232,7 @@ struct v3_vm_config { /* This will contain Function pointers that control the VMs */ -struct vmm_ctrl_ops { +struct v3_ctrl_ops { struct guest_info *(*allocate_guest)(); int (*config_guest)(struct guest_info * info, struct v3_vm_config * config_ptr); @@ -263,7 +263,7 @@ struct v3_interrupt { -void Init_V3(struct vmm_os_hooks * hooks, struct vmm_ctrl_ops * vmm_ops); +void Init_V3(struct v3_os_hooks * hooks, struct v3_ctrl_ops * vmm_ops); int v3_deliver_irq(struct guest_info * vm, struct v3_interrupt * intr); int v3_deliver_keyboard_evt(struct guest_info * vm);