X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fsvm_handler.c;h=798177e84553e045c03c1ad09d89d2c66b68ba8d;hb=master;hp=fece42c87da22407fde2f08ab262962283b0f478;hpb=2ff2b6c0456f332f5dfbaffdf943c07765709173;p=palacios-OLD.git diff --git a/palacios/src/palacios/svm_handler.c b/palacios/src/palacios/svm_handler.c index fece42c..798177e 100644 --- a/palacios/src/palacios/svm_handler.c +++ b/palacios/src/palacios/svm_handler.c @@ -339,10 +339,10 @@ int v3_handle_svm_exit(struct guest_info * info) { PrintError("SVM Returned:(VMCB=%p)\n", (void *)(info->vmm_data)); - PrintError("RIP: %p\n", (void *)(guest_state->rip)); - PrintError("RIP Linear: %p\n", (void *)(rip_addr)); + PrintError("RIP: %p\n", (void *)(addr_t)(guest_state->rip)); + PrintError("RIP Linear: %p\n", (void *)(addr_t)(rip_addr)); - PrintError("SVM Returned: Exit Code: %p\n", (void *)exit_code); + PrintError("SVM Returned: Exit Code: %p\n", (void *)(addr_t)exit_code); PrintError("io_info1 low = 0x%.8x\n", *(uint_t*)&(guest_ctrl->exit_info1)); PrintError("io_info1 high = 0x%.8x\n", *(uint_t *)(((uchar_t *)&(guest_ctrl->exit_info1)) + 4)); @@ -353,12 +353,12 @@ int v3_handle_svm_exit(struct guest_info * info) { if (info->mem_mode == PHYSICAL_MEM) { - if (guest_pa_to_host_pa(info, guest_state->rip, &host_addr) == -1) { + if (guest_pa_to_host_va(info, guest_state->rip, &host_addr) == -1) { PrintError("Could not translate guest_state->rip to host address\n"); return -1; } } else if (info->mem_mode == VIRTUAL_MEM) { - if (guest_va_to_host_pa(info, guest_state->rip, &host_addr) == -1) { + if (guest_va_to_host_va(info, guest_state->rip, &host_addr) == -1) { PrintError("Could not translate guest_state->rip to host address\n"); return -1; } @@ -417,7 +417,7 @@ int v3_handle_svm_exit(struct guest_info * info) { #ifdef DEBUG_INTERRUPTS PrintDebug("Injecting Interrupt %d (EIP=%p)\n", guest_ctrl->guest_ctrl.V_INTR_VECTOR, - (void *)info->rip); + (void *)(addr_t)info->rip); #endif v3_injecting_intr(info, irq, EXTERNAL_IRQ); @@ -446,7 +446,7 @@ int v3_handle_svm_exit(struct guest_info * info) { #ifdef DEBUG_INTERRUPTS PrintDebug("Injecting Interrupt %d (EIP=%p)\n", guest_ctrl->EVENTINJ.vector, - (void *)info->rip); + (void *)(addr_t)info->rip); #endif v3_injecting_intr(info, excp, EXCEPTION); break;