X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fsvm.c;h=f02a8947c9450309bca78a358f8bb42ef219e945;hp=e1f503499890a11818b3d21b827b6a13b2e70fa2;hb=df88a0e0e54e9f499fbf38b25863bc04c8a37934;hpb=9fa4d593b592f3619310332bad6db2222d93679a diff --git a/palacios/src/palacios/svm.c b/palacios/src/palacios/svm.c index e1f5034..f02a894 100644 --- a/palacios/src/palacios/svm.c +++ b/palacios/src/palacios/svm.c @@ -306,17 +306,18 @@ static int start_svm_guest(struct guest_info *info) { #else -#define MSR_STAR 0xc0000081 #define MSR_SYSENTER_CS 0x00000174 #define MSR_SYSENTER_ESP 0x00000175 #define MSR_SYSENTER_EIP 0x00000176 - struct v3_msr host_star; + struct v3_msr host_sysenter_cs; struct v3_msr host_sysenter_esp; struct v3_msr host_sysenter_eip; #endif +#define MSR_STAR 0xc0000081 + struct v3_msr host_star; /* @@ -336,11 +337,8 @@ static int start_svm_guest(struct guest_info *info) { v3_get_msr(MSR_SYSENTER_CS, &(host_sysenter_cs.hi), &(host_sysenter_cs.lo)); v3_get_msr(MSR_SYSENTER_ESP, &(host_sysenter_esp.hi), &(host_sysenter_esp.lo)); v3_get_msr(MSR_SYSENTER_EIP, &(host_sysenter_eip.hi), &(host_sysenter_eip.lo)); - v3_get_msr(MSR_STAR, &(host_star.hi), &(host_star.lo)); #endif - - - + v3_get_msr(MSR_STAR, &(host_star.hi), &(host_star.lo)); rdtscll(info->time_state.cached_host_tsc); // guest_ctrl->TSC_OFFSET = info->time_state.guest_tsc - info->time_state.cached_host_tsc; @@ -359,9 +357,8 @@ static int start_svm_guest(struct guest_info *info) { v3_set_msr(MSR_SYSENTER_CS, host_sysenter_cs.hi, host_sysenter_cs.lo); v3_set_msr(MSR_SYSENTER_ESP, host_sysenter_esp.hi, host_sysenter_esp.lo); v3_set_msr(MSR_SYSENTER_EIP, host_sysenter_eip.hi, host_sysenter_eip.lo); - v3_set_msr(MSR_STAR, host_star.hi, host_star.lo); #endif - + v3_set_msr(MSR_STAR, host_star.hi, host_star.lo); //PrintDebug("SVM Returned\n");