X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fsvm.c;h=96802d44c7d3d74a860a3361dfa501b78ba9dc1c;hb=9526410ca7474542623aa2e74b2ce001dd7ec55e;hp=634064dac10eedb14c93650b7182a6d3c428a55f;hpb=a901a91b64a0aa5d33ecb072a826c6e2f505380d;p=palacios.git diff --git a/palacios/src/palacios/svm.c b/palacios/src/palacios/svm.c index 634064d..96802d4 100644 --- a/palacios/src/palacios/svm.c +++ b/palacios/src/palacios/svm.c @@ -73,7 +73,7 @@ static void Init_VMCB_BIOS(vmcb_t * vmcb, struct guest_info *vm_info) { //ctrl_area->instrs.instrs.CR0 = 1; ctrl_area->cr_reads.cr0 = 1; ctrl_area->cr_writes.cr0 = 1; - ctrl_area->cr_reads.cr4 = 1; + //ctrl_area->cr_reads.cr4 = 1; ctrl_area->cr_writes.cr4 = 1; @@ -233,12 +233,9 @@ static void Init_VMCB_BIOS(vmcb_t * vmcb, struct guest_info *vm_info) { vm_info->direct_map_pt = (addr_t)V3_PAddr(create_passthrough_pts_32(vm_info)); /* End Test */ - //vm_info->shdw_pg_state.shadow_cr3 |= (vm_info->direct_map_pt & ~0xfff); - vm_info->shdw_pg_state.shadow_cr3 = 0; vm_info->shdw_pg_state.guest_cr0 = 0x0000000000000010LL; PrintDebug("Created\n"); - //guest_state->cr3 = vm_info->shdw_pg_state.shadow_cr3; guest_state->cr3 = vm_info->direct_map_pt; @@ -398,9 +395,18 @@ static int start_svm_guest(struct guest_info *info) { PrintDebug("RIP Linear: %p\n", (void *)linear_addr); v3_print_segments(info); v3_print_ctrl_regs(info); + if (info->shdw_pg_mode == SHADOW_PAGING) { + PrintDebug("Shadow Paging Guest Registers:\n"); + PrintDebug("\tGuest CR0=%p\n", (void *)(addr_t)(info->shdw_pg_state.guest_cr0)); + PrintDebug("\tGuest CR3=%p\n", (void *)(addr_t)(info->shdw_pg_state.guest_cr3)); + // efer + // CR4 + } v3_print_GPRs(info); + + PrintDebug("SVM Exit Code: %p\n", (void *)(addr_t)guest_ctrl->exit_code);