X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fvmm_msr.h;h=1869e33da83d30d89206865b0bcf46f3da6aff63;hb=ec9f38e306b02bb98029fb950bcb4d0bd0c3aed2;hp=0d2391a9b4e9835b59cbfe701e7f533a16d3687f;hpb=912f74aae257be698044de894124289ba5356621;p=palacios.git diff --git a/palacios/include/palacios/vmm_msr.h b/palacios/include/palacios/vmm_msr.h index 0d2391a..1869e33 100644 --- a/palacios/include/palacios/vmm_msr.h +++ b/palacios/include/palacios/vmm_msr.h @@ -26,6 +26,20 @@ #include #include +#define IA32_PAT_MSR 0x277 +#define SYSENTER_CS_MSR 0x00000174 +#define SYSENTER_ESP_MSR 0x00000175 +#define SYSENTER_EIP_MSR 0x00000176 +#define EFER_MSR 0xc0000080 +#define IA32_STAR_MSR 0xc0000081 +#define IA32_LSTAR_MSR 0xc0000082 +#define IA32_CSTAR_MSR 0xc0000083 +#define IA32_FMASK_MSR 0xc0000084 +#define FS_BASE_MSR 0xc0000100 +#define GS_BASE_MSR 0xc0000101 +#define IA32_KERN_GS_BASE_MSR 0xc0000102 + + struct guest_info; struct v3_vm_info; @@ -80,6 +94,9 @@ int v3_hook_msr(struct v3_vm_info * vm, uint32_t msr, void * priv_data); +int v3_msr_unhandled_read(struct guest_info * core, uint32_t msr, struct v3_msr * dst, void * priv_data); +int v3_msr_unhandled_write(struct guest_info * core, uint32_t msr, struct v3_msr src, void * priv_data); + struct v3_msr_hook * v3_get_msr_hook(struct v3_vm_info * vm, uint32_t msr); void v3_refresh_msr_map(struct v3_vm_info * vm); @@ -87,7 +104,6 @@ void v3_refresh_msr_map(struct v3_vm_info * vm); void v3_print_msr_map(struct v3_vm_info * vm); int v3_handle_msr_write(struct guest_info * info); - int v3_handle_msr_read(struct guest_info * info);