Summary ------- KVM x86 support for virtualizing Linear Address Masking (LAM) Add KVM support for Linear Address Masking (LAM). LAM tweaks the canonicality checks for most virtual address usage in 64-bit mode, such that only the most significant bit of the untranslated address bits must match the polarity of the last translated address bit. This allows software to use ignored, untranslated address bits for metadata, e.g. to efficiently tag pointers for address sanitization. Commit list ------------ 183bdd161c2b KVM: x86: Use KVM-governed feature framework to track "LAM enabled" 703d794cb8cb KVM: x86: Advertise and enable LAM (user and supervisor) 3098e6eca88e KVM: x86: Virtualize LAM for user pointer 93d1c9f498a7 KVM: x86: Virtualize LAM for supervisor pointer b39bd520a60c KVM: x86: Untag addresses for LAM emulation where applicable 37a41847b770 KVM: x86: Introduce get_untagged_addr() in kvm_x86_ops and call it in emulator 9c8021d4ae85 KVM: x86: Remove kvm_vcpu_is_illegal_gpa() 2c49db455ee2 KVM: x86: Add & use kvm_vcpu_is_legal_cr3() to check CR3's legality a130066f7400 KVM: x86/mmu: Drop non-PA bits when getting GFN for guest's PGD 538ac9a92d66 KVM: x86: Add X86EMUL_F_INVLPG and pass it in em_invlpg() 3963c52df422 KVM: x86: Add an emulation flag for implicit system access 7b0dd9430cf0 KVM: x86: Consolidate flags for __linearize() References ---------- [GIT PULL] KVM: x86: LAM support for 6.8 https://lore.kernel.org/kvm/20240104193303.3175844-4-seanjc@google.com/
The PR Link: https://gitee.com/anolis/cloud-kernel/pulls/2805
Merged