X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fvmcb.h;h=5effea4440de33974ed484be7a239b08771d9515;hp=d8ee5c8c0172f10cc57d604a34759a2ccc711cff;hb=5bf6d0c260240e314876a2fca8e3fd56bd6a1029;hpb=9b4bfeefac09294a6f0ae12dbadf102eb547f5ec diff --git a/palacios/include/palacios/vmcb.h b/palacios/include/palacios/vmcb.h index d8ee5c8..5effea4 100644 --- a/palacios/include/palacios/vmcb.h +++ b/palacios/include/palacios/vmcb.h @@ -33,12 +33,6 @@ #define GET_VMCB_SAVE_STATE_AREA(page) (page + VMCB_STATE_SAVE_AREA_OFFSET) -#if __TINYC__ -#define PACKED -#else -#define PACKED __attribute__((packed)) -#endif - typedef void vmcb_t; @@ -185,8 +179,7 @@ struct Guest_Control { uint_t rsvd4 : 24; // Should be 0 } __attribute__((packed)); -#define SVM_INJECTION_EXTERNAL_INTR 0 -#define SVM_INJECTION_VIRTUAL_INTR 0 +#define SVM_INJECTION_IRQ 0 #define SVM_INJECTION_NMI 2 #define SVM_INJECTION_EXCEPTION 3 #define SVM_INJECTION_SOFT_INTR 4 @@ -281,7 +274,7 @@ typedef struct VMCB_Control_Area vmcb_ctrl_t; struct vmcb_selector { - ushort_t selector; + uint16_t selector; /* These attributes are basically a direct map of the attribute fields of a segment desc. * The segment limit in the middle is removed and the fields are fused together @@ -302,8 +295,8 @@ struct vmcb_selector { } __attribute__((packed)) fields; } __attribute__((packed)) attrib; - uint_t limit; - ullong_t base; + uint32_t limit; + uint64_t base; } __attribute__((packed)); @@ -386,8 +379,8 @@ typedef struct VMCB_State_Save_Area vmcb_saved_state_t; void PrintDebugVMCB(vmcb_t * vmcb); -void set_vmcb_segments(vmcb_t * vmcb, struct v3_segments * segs); -void get_vmcb_segments(vmcb_t * vmcb, struct v3_segments * segs); +void v3_set_vmcb_segments(vmcb_t * vmcb, struct v3_segments * segs); +void v3_get_vmcb_segments(vmcb_t * vmcb, struct v3_segments * segs); #endif // ! __V3VEE__