X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fvmx.h;h=4384b13b8807b1341d8ed32bdf692c9dbabf66c9;hp=06e4df2644c6fe636d9d2d704e6d976ae55969dc;hb=88648ddca6003a438826e7d86e28a2ba7b5bfcac;hpb=c71fc30eb921a0d155d578d609cabdeea9f99d40 diff --git a/palacios/include/palacios/vmx.h b/palacios/include/palacios/vmx.h index 06e4df2..4384b13 100644 --- a/palacios/include/palacios/vmx.h +++ b/palacios/include/palacios/vmx.h @@ -188,6 +188,29 @@ struct vmcs_host_state { }; +struct vmcs_msr_save_area { + union { + struct vmcs_msr_entry guest_msrs[4]; + struct { + struct vmcs_msr_entry guest_star; + struct vmcs_msr_entry guest_lstar; + struct vmcs_msr_entry guest_fmask; + struct vmcs_msr_entry guest_kern_gs; + } __attribute__((packed)); + } __attribute__((packed)); + + union { + struct vmcs_msr_entry host_msrs[4]; + struct { + struct vmcs_msr_entry host_star; + struct vmcs_msr_entry host_lstar; + struct vmcs_msr_entry host_fmask; + struct vmcs_msr_entry host_kern_gs; + } __attribute__((packed)); + } __attribute__((packed)); + +} __attribute__((packed)); + struct vmx_data { vmx_state_t state; @@ -210,7 +233,8 @@ struct vmx_data { struct vmx_exception_bitmap excp_bmap; - void * msr_area; + addr_t msr_area_paddr; + struct vmcs_msr_save_area * msr_area; }; int v3_is_vmx_capable();