X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fvmm_direct_paging.c;h=783f6965aa8e3f2add8b09b6ca43cca5f374e3b2;hb=a6225e5c3b1d99f331f123de87e5f677f402e413;hp=3bbbbf9239ce92e4ff39a349047b8de1a156b9a7;hpb=266af4b5b19da7bee8e7445288c7c1cb3ee194c7;p=palacios.git diff --git a/palacios/src/palacios/vmm_direct_paging.c b/palacios/src/palacios/vmm_direct_paging.c index 3bbbbf9..783f696 100644 --- a/palacios/src/palacios/vmm_direct_paging.c +++ b/palacios/src/palacios/vmm_direct_paging.c @@ -35,6 +35,7 @@ static addr_t create_generic_pt_page() { // Inline handler functions for each cpu mode #include "vmm_direct_paging_32.h" #include "vmm_direct_paging_32pae.h" +#include "vmm_direct_paging_64.h" addr_t v3_create_direct_passthrough_pts(struct guest_info * info) { @@ -48,12 +49,13 @@ int v3_handle_passthrough_pagefault(struct guest_info * info, addr_t fault_addr, case REAL: case PROTECTED: return handle_passthrough_pagefault_32(info, fault_addr, error_code); + case PROTECTED_PAE: - return handle_passthrough_pagefault_32pae(info, fault_addr, error_code); case LONG: - break; case LONG_32_COMPAT: - break; + // Long mode will only use 32PAE page tables... + return handle_passthrough_pagefault_32pae(info, fault_addr, error_code); + default: PrintError("Unknown CPU Mode\n"); break;