On Mon, Feb 21, 2022, Paolo Bonzini wrote: > @@ -4800,13 +4836,15 @@ kvm_calc_shadow_mmu_root_page_role(struct kvm_vcpu *vcpu, > } > > static void shadow_mmu_init_context(struct kvm_vcpu *vcpu, struct kvm_mmu *context, > - const struct kvm_mmu_role_regs *regs, > - union kvm_mmu_role new_role) > + union kvm_mmu_role cpu_mode, Can you give all helpers this treatment (rename "role" => "cpu_mode")? I got tripped up a few times reading patches because the ones where it wasn't necessary, i.e. where there's only a single kvm_mmu_role paramenter, were left as-is. I think kvm_calc_shadow_npt_root_page_role() and kvm_calc_shadow_mmu_root_page_role() are the only offenders. > + union kvm_mmu_role mmu_role) > { > - if (new_role.as_u64 == context->mmu_role.as_u64) > + if (cpu_mode.as_u64 == context->cpu_mode.as_u64 && > + mmu_role.as_u64 == context->mmu_role.as_u64) > return; > > - context->mmu_role.as_u64 = new_role.as_u64; > + context->cpu_mode.as_u64 = cpu_mode.as_u64; > + context->mmu_role.as_u64 = mmu_role.as_u64; > > if (!is_cr0_pg(context)) > nonpaging_init_context(context);