X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fvmm.h;h=4d725d1fdb56fcf4f2e6481fd7a161af2a080c0c;hb=6eecf583b522147ef13faabb634562f6f23bb712;hp=2caba33a4ba2dc2554a8bd52e4dd0b251308b1d2;hpb=a1e0475bbefa968791679c5e71232ddca522868b;p=palacios.git diff --git a/palacios/include/palacios/vmm.h b/palacios/include/palacios/vmm.h index 2caba33..4d725d1 100644 --- a/palacios/include/palacios/vmm.h +++ b/palacios/include/palacios/vmm.h @@ -1,3 +1,6 @@ +/* (c) 2008, Jack Lange */ +/* (c) 2008, The V3VEE Project */ + #ifndef __VMM_H #define __VMM_H @@ -29,12 +32,12 @@ -#define PrintError(fmt, args...) \ - do { \ - extern struct vmm_os_hooks * os_hooks; \ - if ((os_hooks) && (os_hooks)->print_debug) { \ - (os_hooks)->print_debug((fmt), ##args); \ - } \ +#define PrintError(fmt, args...) \ + do { \ + extern struct vmm_os_hooks * os_hooks; \ + if ((os_hooks) && (os_hooks)->print_debug) { \ + (os_hooks)->print_debug("%s(%d): " fmt, __FILE__, __LINE__, ##args); \ + } \ } while (0) @@ -53,12 +56,12 @@ #if VMM_TRACE -#define PrintTrace(fmt, args...) \ - do { \ - extern struct vmm_os_hooks * os_hooks; \ - if ((os_hooks) && (os_hooks)->print_trace) { \ - (os_hooks)->print_trace((fmt), ##args); \ - } \ +#define PrintTrace(fmt, args...) \ + do { \ + extern struct vmm_os_hooks * os_hooks; \ + if ((os_hooks) && (os_hooks)->print_trace) { \ + (os_hooks)->print_trace(fmt, ##args); \ + } \ } while (0) #else #define PrintTrace(fmt, args...) @@ -121,7 +124,7 @@ #define V3_Hook_Interrupt(irq, opaque) \ ({ \ - int ret = 0; \ + int ret = 0; \ extern struct vmm_os_hooks * os_hooks; \ if ((os_hooks) && (os_hooks)->hook_interrupt) { \ ret = (os_hooks)->hook_interrupt(irq, opaque); \ @@ -156,12 +159,6 @@ typedef enum v3_cpu_arch {V3_INVALID_CPU, V3_SVM_CPU, V3_SVM_REV3_CPU, V3_VMX_CP #endif //!__V3VEE__ -#ifdef __V3VEE__ -typedef struct guest_info v3_guest_t; -#else -typedef void v3_guest_t; -#endif - // @@ -212,18 +209,16 @@ struct vmm_os_hooks { - // Filled in by initialization - }; /* This will contain Function pointers that control the VMs */ struct vmm_ctrl_ops { - void *(*allocate_guest)(); + struct guest_info *(*allocate_guest)(); - int (*config_guest)(v3_guest_t * info, void * config_ptr); - int (*init_guest)(v3_guest_t * info); - int (*start_guest)(v3_guest_t * info); + int (*config_guest)(struct guest_info * info, void * config_ptr); + int (*init_guest)(struct guest_info * info); + int (*start_guest)(struct guest_info * info); // int (*stop_vm)(uint_t vm_id); int (*has_nested_paging)();