Re: [PATCH v11 00/16] LAM and LASS KVM Enabling

From: Sean Christopherson
Date: Mon Oct 23 2023 - 19:46:34 EST


On Wed, 13 Sep 2023 20:42:11 +0800, Binbin Wu wrote:
> This patch series includes KVM enabling patches for Linear-address masking
> (LAM) v11 and Linear Address Space Separation (LASS) v3 since the two features
> have overlapping prep work and concepts. Sent as a single series to reduce the
> probability of conflicts.
>
> The patch series is organized as follows:
> - Patch 1-4: Common prep work for both LAM and LASS.
> - Patch 5-13: LAM part.
> - Patch 14-16: LASS part.
>
> [...]

Applied to kvm-x86 lam (for 6.8)! I skipped the LASS patches, including patch 2
(the branch targets patch). I kept the IMPLICIT emulator flag even thought it's
not strictly needed as it's a nice way to document non-existent code.

I massaged a few changelogs and fixed the KVM_X86_OP_OPTIONAL() issue, but
otherwise I don't think I made any code changes (it's been a long day :-) ).
Please take a look to make sure it all looks good.

Thanks!

[01/16] KVM: x86: Consolidate flags for __linearize()
https://github.com/kvm-x86/linux/commit/81c940395b14
[02/16] KVM: x86: Use a new flag for branch targets
(no commit info)
[03/16] KVM: x86: Add an emulation flag for implicit system access
https://github.com/kvm-x86/linux/commit/90532843aebf
[04/16] KVM: x86: Add X86EMUL_F_INVLPG and pass it in em_invlpg()
https://github.com/kvm-x86/linux/commit/34b4ed7c1eaf
[05/16] KVM: x86/mmu: Drop non-PA bits when getting GFN for guest's PGD
https://github.com/kvm-x86/linux/commit/8b83853c5c98
[06/16] KVM: x86: Add & use kvm_vcpu_is_legal_cr3() to check CR3's legality
https://github.com/kvm-x86/linux/commit/82ba7169837e
[07/16] KVM: x86: Remove kvm_vcpu_is_illegal_gpa()
https://github.com/kvm-x86/linux/commit/95df55ee42fe
[08/16] KVM: x86: Introduce get_untagged_addr() in kvm_x86_ops and call it in emulator
https://github.com/kvm-x86/linux/commit/7a747b6c84a1
[09/16] KVM: x86: Untag address for vmexit handlers when LAM applicable
https://github.com/kvm-x86/linux/commit/ef99001b30a8
[10/16] KVM: x86: Virtualize LAM for supervisor pointer
https://github.com/kvm-x86/linux/commit/4daea9a5183f
[11/16] KVM: x86: Virtualize LAM for user pointer
https://github.com/kvm-x86/linux/commit/0cadc474eff0
[12/16] KVM: x86: Advertise and enable LAM (user and supervisor)
https://github.com/kvm-x86/linux/commit/6ef90ee226f1
[13/16] KVM: x86: Use KVM-governed feature framework to track "LAM enabled"
https://github.com/kvm-x86/linux/commit/b291db540763
[14/16] KVM: emulator: Add emulation of LASS violation checks on linear address
(no commit info)
[15/16] KVM: VMX: Virtualize LASS
(no commit info)
[16/16] KVM: x86: Advertise LASS CPUID to user space
(no commit info)

--
https://github.com/kvm-x86/linux/tree/next