X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fvmx.h;h=278622fdf06a12e415c765a436bb01d4ee61c84b;hp=4ba12d880f44a490c306ab9f47e17b68f2f0ba79;hb=5db3136d5331c355c188537c68005db8d2cb4eac;hpb=1aaebb897ea68da37b76519f74460808de7b92e6 diff --git a/palacios/include/palacios/vmx.h b/palacios/include/palacios/vmx.h index 4ba12d8..278622f 100644 --- a/palacios/include/palacios/vmx.h +++ b/palacios/include/palacios/vmx.h @@ -60,39 +60,34 @@ typedef void VmxOnRegion; -#if __TINYC__ -#define PACKED -#else -#define PACKED __attribute__((packed)) -#endif struct MSR_REGS { - uint_t low PACKED; - uint_t high PACKED; -}; + uint_t low; + uint_t high; +} __attribute__((packed)); struct VMX_BASIC { - uint_t revision PACKED ; - uint_t regionSize : 13 PACKED ; - uint_t rsvd1 : 4 PACKED ; // Always 0 - uint_t physWidth : 1 PACKED ; - uint_t smm : 1 PACKED ; // Always 1 - uint_t memType : 4 PACKED ; - uint_t rsvd2 : 10 PACKED ; // Always 0 -}; + uint_t revision; + uint_t regionSize : 13; + uint_t rsvd1 : 4; // Always 0 + uint_t physWidth : 1; + uint_t smm : 1; // Always 1 + uint_t memType : 4; + uint_t rsvd2 : 10; // Always 0 +} __attribute__((packed)); union VMX_MSR { - struct MSR_REGS regs PACKED; - struct VMX_BASIC vmxBasic PACKED; -}; + struct MSR_REGS regs; + struct VMX_BASIC vmxBasic; +} __attribute__((packed)); struct VMDescriptor { uint_t entry_ip; uint_t exit_eip; uint_t guest_esp; -} ; +} __attribute__((packed)); enum VMState { VM_VMXASSIST_STARTUP, VM_VMXASSIST_V8086_BIOS, VM_VMXASSIST_V8086, VM_NORMAL };