KVM: x86/mmu: Set CR4.PKE/LA57 in MMU role iff long mode is active
authorSean Christopherson <seanjc@google.com>
Tue, 22 Jun 2021 17:57:12 +0000 (10:57 -0700)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 24 Jun 2021 22:00:41 +0000 (18:00 -0400)
commit84c679f5f52c7a98c9f0986ff89d50dc073b97f3
treed1f357134c52ba6e9c07d88c979a995fac1aad65
parentca8d664f509932eb316a4ae3926176be745e3b3d
KVM: x86/mmu: Set CR4.PKE/LA57 in MMU role iff long mode is active

Don't set cr4_pke or cr4_la57 in the MMU role if long mode isn't active,
which is required for protection keys and 5-level paging to be fully
enabled.  Ignoring the bit avoids unnecessary reconfiguration on reuse,
and also means consumers of mmu_role don't need to manually check for
long mode.

Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20210622175739.3610207-28-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/mmu/mmu.c