X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fsvm.c;h=c2c7a12718f289f8278c597f4ed4254845c0e75d;hb=0e1c2f1eb7e964848d43824328205d5557bc7639;hp=36d3d46c872b465ae97ad4beb72f82066dc82207;hpb=3f4d4561cb9187c173cc38b237a2da583b8bae65;p=palacios.releases.git diff --git a/palacios/src/palacios/svm.c b/palacios/src/palacios/svm.c index 36d3d46..c2c7a12 100644 --- a/palacios/src/palacios/svm.c +++ b/palacios/src/palacios/svm.c @@ -41,6 +41,7 @@ #include +#include extern void v3_stgi(); extern void v3_clgi(); @@ -212,7 +213,7 @@ static void Init_VMCB_BIOS(vmcb_t * vmcb, struct guest_info *vm_info) { ushort_t port = iter->port; uchar_t * bitmap = (uchar_t *)io_port_bitmap; - PrintDebug("%d: Hooking Port %d\n", i, port); + //PrintDebug("%d: Hooking Port %d\n", i, port); bitmap += (port / 8); // PrintDebug("Setting Bit for port 0x%x\n", port); @@ -240,7 +241,7 @@ static void Init_VMCB_BIOS(vmcb_t * vmcb, struct guest_info *vm_info) { /* Testing 64 bit page tables for long paged real mode guests */ // vm_info->direct_map_pt = (addr_t)V3_PAddr(create_passthrough_pts_64(vm_info)); - vm_info->direct_map_pt = (addr_t)V3_PAddr(create_passthrough_pts_32(vm_info)); + vm_info->direct_map_pt = (addr_t)V3_PAddr(v3_create_direct_passthrough_pts(vm_info)); /* End Test */ vm_info->shdw_pg_state.guest_cr0 = 0x0000000000000010LL; @@ -385,10 +386,10 @@ static int start_svm_guest(struct guest_info *info) { v3_get_msr(MSR_GS_BASE, &(host_gs_base.hi), &(host_gs_base.lo)); rdtscll(info->time_state.cached_host_tsc); - guest_ctrl->TSC_OFFSET = info->time_state.guest_tsc - info->time_state.cached_host_tsc; v3_svm_launch((vmcb_t*)V3_PAddr(info->vmm_data), &(info->vm_regs)); + rdtscll(tmp_tsc); v3_set_msr(MSR_STAR, host_star.hi, host_star.lo);