|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen staging] x86/shadow: vCPU-s never have "no mode"
commit 88f7ce5f57d49f61941986aac158baeca5b9c381
Author: Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Tue Feb 24 09:16:27 2026 +0100
Commit: Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Tue Feb 24 10:29:56 2026 +0100
x86/shadow: vCPU-s never have "no mode"
With an initial mode installed by shadow_vcpu_init(), there's no need
for sh_update_paging_modes() to deal with the "mode is still unset"
case. Leave an assertion, though.
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
xen/arch/x86/mm/shadow/common.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/xen/arch/x86/mm/shadow/common.c b/xen/arch/x86/mm/shadow/common.c
index 126523b898..e07ba6d5a7 100644
--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -1855,6 +1855,8 @@ static void sh_update_paging_modes(struct vcpu *v)
make_cr3(v, mmfn);
hvm_update_host_cr3(v);
}
+ else if ( !old_mode )
+ ASSERT_UNREACHABLE();
else if ( v->arch.paging.mode != old_mode )
{
SHADOW_PRINTK("new paging mode: %pv pe=%d gl=%u "
@@ -1863,11 +1865,10 @@ static void sh_update_paging_modes(struct vcpu *v)
hvm_paging_enabled(v),
v->arch.paging.mode->guest_levels,
v->arch.paging.mode->shadow.shadow_levels,
- old_mode ? old_mode->guest_levels : 0,
- old_mode ? old_mode->shadow.shadow_levels : 0);
- if ( old_mode &&
- (v->arch.paging.mode->shadow.shadow_levels !=
- old_mode->shadow.shadow_levels) )
+ old_mode->guest_levels,
+ old_mode->shadow.shadow_levels);
+ if ( v->arch.paging.mode->shadow.shadow_levels !=
+ old_mode->shadow.shadow_levels )
{
/* Need to make a new monitor table for the new mode */
mfn_t new_mfn, old_mfn;
--
generated by git-patchbot for /home/xen/git/xen.git#staging
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |