X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fvmm_shadow_paging.c;h=015bb84d2ed2dd25c54fc12e2a9511ea87b5ef91;hb=09ff0bf8fd1eba63b83e1232828f9e99b89eeecc;hp=968a840049df6f9a8369b9cb2c82d2767fb9aef6;hpb=3574c981404a1c812d369132db09ec2a27d59a5d;p=palacios.git diff --git a/palacios/src/palacios/vmm_shadow_paging.c b/palacios/src/palacios/vmm_shadow_paging.c index 968a840..015bb84 100644 --- a/palacios/src/palacios/vmm_shadow_paging.c +++ b/palacios/src/palacios/vmm_shadow_paging.c @@ -28,6 +28,8 @@ #include +#include + #ifndef DEBUG_SHADOW_PAGING #undef PrintDebug #define PrintDebug(fmt, args...) @@ -127,7 +129,7 @@ int v3_handle_shadow_pagefault(struct guest_info * info, addr_t fault_addr, pf_e if (v3_get_mem_mode(info) == PHYSICAL_MEM) { // If paging is not turned on we need to handle the special cases - return handle_special_page_fault(info, fault_addr, fault_addr, error_code); + return v3_handle_passthrough_pagefault(info, fault_addr, error_code); } else if (v3_get_mem_mode(info) == VIRTUAL_MEM) { switch (v3_get_cpu_mode(info)) { @@ -221,7 +223,9 @@ static struct shadow_page_data * create_new_shadow_pt(struct guest_info * info) if (page_tail->cr3 != cur_cr3) { PrintDebug("Reusing old shadow Page: %p (cur_CR3=%p)(page_cr3=%p) \n", - (void *) page_tail->page_pa, (void *)cur_cr3, (void *)(page_tail->cr3)); + (void *)(addr_t)page_tail->page_pa, + (void *)(addr_t)cur_cr3, + (void *)(addr_t)(page_tail->cr3)); list_move(&(page_tail->page_list_node), &(state->page_list)); @@ -237,7 +241,9 @@ static struct shadow_page_data * create_new_shadow_pt(struct guest_info * info) page_tail = (struct shadow_page_data *)V3_Malloc(sizeof(struct shadow_page_data)); page_tail->page_pa = (addr_t)V3_AllocPages(1); - PrintDebug("Allocating new shadow Page: %p (cur_cr3=%p)\n", (void *)page_tail->page_pa, (void *)cur_cr3); + PrintDebug("Allocating new shadow Page: %p (cur_cr3=%p)\n", + (void *)(addr_t)page_tail->page_pa, + (void *)(addr_t)cur_cr3); page_tail->cr3 = cur_cr3; list_add(&(page_tail->page_list_node), &(state->page_list));