From: Jim Mattson Date: Wed, 5 Dec 2018 23:28:59 +0000 (-0800) Subject: kvm: vmx: Document the need for MSR_STAR in i386 builds X-Git-Tag: v5.4-rc1~1984^2~85 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=898a811f1486df3209ce857027d0564d6a616cf2;p=platform%2Fkernel%2Flinux-rpi.git kvm: vmx: Document the need for MSR_STAR in i386 builds Add a comment explaining why MSR_STAR must be included in vmx_msr_index[] even for i386 builds. The elided comment has not been relevant since move_msr_up() was introduced in commit a75beee6e4f5d ("KVM: VMX: Avoid saving and restoring msrs on lightweight vmexit"). Signed-off-by: Jim Mattson Reviewed-by: Peter Shier Signed-off-by: Paolo Bonzini --- diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c index c1feb62..d754fd0 100644 --- a/arch/x86/kvm/vmx/vmx.c +++ b/arch/x86/kvm/vmx/vmx.c @@ -373,8 +373,11 @@ static const struct kvm_vmx_segment_field { u64 host_efer; /* - * Keep MSR_STAR at the end, as setup_msrs() will try to optimize it - * away by decrementing the array size. + * Though SYSCALL is only supported in 64-bit mode on Intel CPUs, kvm + * will emulate SYSCALL in legacy mode if the vendor string in guest + * CPUID.0:{EBX,ECX,EDX} is "AuthenticAMD" or "AMDisbetter!" To + * support this emulation, IA32_STAR must always be included in + * vmx_msr_index[], even in i386 builds. */ const u32 vmx_msr_index[] = { #ifdef CONFIG_X86_64