Re: [PATCH v4 0/9] Linear Address Masking (LAM) KVM Enabling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2023-02-09 at 14:15 +0800, Chao Gao wrote:
> On Thu, Feb 09, 2023 at 10:40:13AM +0800, Robert Hoo wrote:
> > Intercept CR4.LAM_SUP by KVM, to avoid read VMCS field every time,
> > with
> > expectation that guest won't toggle this bit frequently.
> > 
> > Under EPT mode, CR3 is fully under guest control, guest LAM is thus
> > transparent to
> > KVM. Nothing more need to do.
> 
> I don't think it is correct. You have to strip LAM_U57/U48 from CR3
> when
> walking guest page table and strip metadata from pointers when
> emulating
> instructions.
> 
Yes, has added patch 8 for emulation case. Didn't explicitly note it in
cover letter.
> > 
> > For Shadow paging (EPT = off), KVM need to handle guest CR3.LAM_U48
> > and CR3.LAM_U57
> > toggles.
> > 
> > [1] ISE Chap10 https://cdrdv2.intel.com/v1/dl/getContent/671368
> > (Section 10.6 VMX interaction)
> > [2] Thus currently, Kernel enabling patch only enables LAM_U57. 
> > https://lore.kernel.org/lkml/20230123220500.21077-1-kirill.shutemov@xxxxxxxxxxxxxxx/
> >  
> 
> Please add a kvm-unit-test or kselftest for LAM, particularly for
> operations (e.g., canonical check for supervisor pointers, toggle
> CR4.LAM_SUP) which aren't covered by the test in Kirill's series.

OK, I can explore for kvm-unit-test in separate patch set.
BTW, this patch set has passed guest running Kirill's kselftests.




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux