@@ -3228,7 +3228,7 @@ static void cf_check sh_update_cr3(struc
{
struct domain *d = v->domain;
mfn_t gmfn;
-#if GUEST_PAGING_LEVELS == 3 && defined(CONFIG_HVM)
+#if GUEST_PAGING_LEVELS == 3
const guest_l3e_t *gl3e;
unsigned int i, guest_idx;
#endif
@@ -3279,7 +3279,7 @@ static void cf_check sh_update_cr3(struc
#endif
gmfn = pagetable_get_mfn(v->arch.guest_table);
-#if GUEST_PAGING_LEVELS == 3 && defined(CONFIG_HVM)
+#if GUEST_PAGING_LEVELS == 3
/*
* On PAE guests we don't use a mapping of the guest's own top-level
* table. We cache the current state of that table and shadow that,
@@ -3321,8 +3321,6 @@ static void cf_check sh_update_cr3(struc
!VM_ASSIST(d, m2p_strict) )
fill_ro_mpt(smfn);
}
-#elif !defined(CONFIG_HVM)
- ASSERT_UNREACHABLE();
#elif GUEST_PAGING_LEVELS == 3
/* PAE guests have four shadow_table entries, based on the
* current values of the guest's four l3es. */
@@ -3373,8 +3371,6 @@ static void cf_check sh_update_cr3(struc
#error This should never happen
#endif
-
-#ifdef CONFIG_HVM
///
/// v->arch.paging.shadow.l3table
///
@@ -3400,7 +3396,6 @@ static void cf_check sh_update_cr3(struc
}
}
#endif /* SHADOW_PAGING_LEVELS == 3 */
-#endif /* CONFIG_HVM */
///
/// v->arch.cr3
@@ -3419,8 +3414,6 @@ static void cf_check sh_update_cr3(struc
}
#endif
-
-#ifdef CONFIG_HVM
///
/// v->arch.hvm.hw_cr[3]
///
@@ -3437,7 +3430,6 @@ static void cf_check sh_update_cr3(struc
#endif
hvm_update_guest_cr3(v, noflush);
}
-#endif /* CONFIG_HVM */
/* Fix up the linear pagetable mappings */
sh_update_linear_entries(v);
Now that we're not building multi.c anymore for 2 and 3 guest levels when !HVM, there's no point in having these conditionals anymore. (As somewhat a special case, the last of the removed conditionals really builds on shadow_mode_external() always returning false when !HVM.) This way the code becomes a tiny bit more readable. Signed-off-by: Jan Beulich <jbeulich@suse.com>