From: Peter Dinda Date: Sun, 22 Jun 2014 23:04:20 +0000 (-0500) Subject: Minor bug fixes and defensive programming X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=commitdiff_plain;h=894733a198529cfaf93f4f4b68b255906154ab56 Minor bug fixes and defensive programming --- diff --git a/palacios/src/palacios/mmu/vmm_shdw_pg_tlb.c b/palacios/src/palacios/mmu/vmm_shdw_pg_tlb.c index d0c02de..9c5545c 100644 --- a/palacios/src/palacios/mmu/vmm_shdw_pg_tlb.c +++ b/palacios/src/palacios/mmu/vmm_shdw_pg_tlb.c @@ -225,15 +225,19 @@ static int vtlb_handle_invlpg(struct guest_info * core, addr_t vaddr) { switch (v3_get_vm_cpu_mode(core)) { case PROTECTED: return handle_shadow_invlpg_32(core, vaddr); + break; case PROTECTED_PAE: return handle_shadow_invlpg_32pae(core, vaddr); + break; case LONG: case LONG_32_COMPAT: case LONG_16_COMPAT: return handle_shadow_invlpg_64(core, vaddr); + break; default: PrintError(core->vm_info, core, "Invalid CPU mode: %s\n", v3_cpu_mode_to_str(v3_get_vm_cpu_mode(core))); return -1; + break; } } diff --git a/palacios/src/palacios/vmm_direct_paging.c b/palacios/src/palacios/vmm_direct_paging.c index 32aba7c..a736571 100644 --- a/palacios/src/palacios/vmm_direct_paging.c +++ b/palacios/src/palacios/vmm_direct_paging.c @@ -264,7 +264,7 @@ int v3_handle_passthrough_pagefault(struct guest_info * info, addr_t fault_addr, case LONG_32_COMPAT: // Long mode will only use 32PAE page tables... rc=handle_passthrough_pagefault_32pae(info, fault_addr, error_code, actual_start, actual_end); - + break; default: PrintError(info->vm_info, info, "Unknown CPU Mode\n"); break; @@ -308,8 +308,8 @@ int v3_invalidate_passthrough_addr(struct guest_info * info, addr_t inv_addr, case LONG: case LONG_32_COMPAT: // Long mode will only use 32PAE page tables... - rc=invalidate_addr_32pae(info, inv_addr, actual_start, actual_end); - + rc=invalidate_addr_32pae(info, inv_addr, actual_start, actual_end); + break; default: PrintError(info->vm_info, info, "Unknown CPU Mode\n"); break; @@ -352,7 +352,7 @@ int v3_invalidate_passthrough_addr_range(struct guest_info * info, case LONG_32_COMPAT: // Long mode will only use 32PAE page tables... rc=invalidate_addr_32pae_range(info, inv_addr_start, inv_addr_end, actual_start, actual_end); - + break; default: PrintError(info->vm_info, info, "Unknown CPU Mode\n"); break;