Re: [PATCH v9 6/6] KVM: x86: Expose LAM feature to userspace VMM

From: Huang, Kai
Date: Tue Jun 06 2023 - 23:53:03 EST


On Tue, 2023-06-06 at 17:18 +0800, Binbin Wu wrote:
> From: Robert Hoo <robert.hu@xxxxxxxxxxxxxxx>
>
> LAM feature is enumerated by CPUID.7.1:EAX.LAM[bit 26].
> Expose the feature to userspace as the final step after the following
> supports:
> - CR4.LAM_SUP virtualization
> - CR3.LAM_U48 and CR3.LAM_U57 virtualization
> - Check and untag 64-bit linear address when LAM applies in instruction
> emulations and VMExit handlers.
>
> LAM support in SGX enclave mode needs additional enabling and is not
> included in this patch series.

"needs additional enabling" may not be accurate. Just say:

Exposing SGX LAM support is not supported yet. SGX LAM support is enumerated in
SGX's own CPUID and there's no hard requirement that it must be supported when
LAM is reported in CPUID leaf 0x7.

?

Or have you found the answer to above question that I asked in previous series.

Anyway:

Reviewed-by: Kai Huang <kai.huang@xxxxxxxxx>

>
> Signed-off-by: Robert Hoo <robert.hu@xxxxxxxxxxxxxxx>
> Signed-off-by: Binbin Wu <binbin.wu@xxxxxxxxxxxxxxx>
> Reviewed-by: Jingqi Liu <jingqi.liu@xxxxxxxxx>
> Reviewed-by: Chao Gao <chao.gao@xxxxxxxxx>
> Tested-by: Xuelian Guo <xuelian.guo@xxxxxxxxx>
> ---
> arch/x86/kvm/cpuid.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c
> index 241f554f1764..166243fb5705 100644
> --- a/arch/x86/kvm/cpuid.c
> +++ b/arch/x86/kvm/cpuid.c
> @@ -643,7 +643,7 @@ void kvm_set_cpu_caps(void)
> kvm_cpu_cap_mask(CPUID_7_1_EAX,
> F(AVX_VNNI) | F(AVX512_BF16) | F(CMPCCXADD) |
> F(FZRM) | F(FSRS) | F(FSRC) |
> - F(AMX_FP16) | F(AVX_IFMA)
> + F(AMX_FP16) | F(AVX_IFMA) | F(LAM)
> );
>
> kvm_cpu_cap_init_kvm_defined(CPUID_7_1_EDX,