From 63eecf084e3f85fbf980dff4c8c4ef80c21de6b7 Mon Sep 17 00:00:00 2001 From: Chaohong guo Date: Thu, 20 Dec 2018 12:22:31 +0800 Subject: [PATCH] HV: remove multiple return statement in get_vcpu_paging_mode() routine To meet MISRA, remove multiple return in get_vcpu_paging_mode() routine. Tracked-On: #861 Signed-off-by: Chaohong guo Acked-by: Eddie Dong --- hypervisor/arch/x86/guest/guest.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/hypervisor/arch/x86/guest/guest.c b/hypervisor/arch/x86/guest/guest.c index aae94d366..eeba964b3 100644 --- a/hypervisor/arch/x86/guest/guest.c +++ b/hypervisor/arch/x86/guest/guest.c @@ -47,23 +47,26 @@ uint64_t vcpumask2pcpumask(struct acrn_vm *vm, uint64_t vdmask) enum vm_paging_mode get_vcpu_paging_mode(struct acrn_vcpu *vcpu) { enum vm_cpu_mode cpu_mode; + enum vm_paging_mode ret; cpu_mode = get_vcpu_mode(vcpu); if (cpu_mode == CPU_MODE_REAL) { - return PAGING_MODE_0_LEVEL; - } - else if (cpu_mode == CPU_MODE_PROTECTED) { + ret = PAGING_MODE_0_LEVEL; + + } else if (cpu_mode == CPU_MODE_PROTECTED) { if (is_pae(vcpu)) { - return PAGING_MODE_3_LEVEL; + ret = PAGING_MODE_3_LEVEL; + } else if (is_paging_enabled(vcpu)) { + ret = PAGING_MODE_2_LEVEL; + } else { + ret = PAGING_MODE_0_LEVEL; } - else if (is_paging_enabled(vcpu)) { - return PAGING_MODE_2_LEVEL; - } - return PAGING_MODE_0_LEVEL; } else { /* compatibility or 64bit mode */ - return PAGING_MODE_4_LEVEL; + ret = PAGING_MODE_4_LEVEL; } + + return ret; } /* TODO: Add code to check for Revserved bits, SMAP and PKE when do translation