diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c index 0768492f4687..3edc743c5156 100644 --- a/arch/x86/kernel/cpu/common.c +++ b/arch/x86/kernel/cpu/common.c @@ -987,7 +987,7 @@ static const __initconst struct x86_cpu_id cpu_no_l1tf[] = { { X86_VENDOR_INTEL, 6, INTEL_FAM6_ATOM_MOOREFIELD }, { X86_VENDOR_INTEL, 6, INTEL_FAM6_ATOM_GOLDMONT }, { X86_VENDOR_INTEL, 6, INTEL_FAM6_ATOM_DENVERTON }, - { X86_VENDOR_INTEL, 6, INTEL_FAM6_ATOM_GEMINI_LAKE }, + /*{ X86_VENDOR_INTEL, 6, INTEL_FAM6_ATOM_GEMINI_LAKE },*/ { X86_VENDOR_INTEL, 6, INTEL_FAM6_XEON_PHI_KNL }, { X86_VENDOR_INTEL, 6, INTEL_FAM6_XEON_PHI_KNM }, {} diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index 172504d76b6c..50e3da7831d4 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c @@ -222,6 +222,7 @@ static int vmx_setup_l1d_flush(enum vmx_l1d_flush_state l1tf) u64 msr; rdmsrl(MSR_IA32_ARCH_CAPABILITIES, msr); +printk("%s:%x\n",__func__,msr); if (msr & ARCH_CAP_SKIP_VMENTRY_L1DFLUSH) { l1tf_vmx_mitigation = VMENTER_L1D_FLUSH_NOT_REQUIRED; return 0; @@ -3916,6 +3917,9 @@ static int vmx_get_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info) msr_info->data = to_vmx(vcpu)->spec_ctrl; break; case MSR_IA32_ARCH_CAPABILITIES: +printk("%s:%d %d %x\n",__func__, + msr_info->host_initiated, guest_cpuid_has(vcpu, X86_FEATURE_ARCH_CAPABILITIES), + to_vmx(vcpu)->arch_capabilities); if (!msr_info->host_initiated && !guest_cpuid_has(vcpu, X86_FEATURE_ARCH_CAPABILITIES)) return 1; @@ -4084,6 +4088,8 @@ static int vmx_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info) MSR_TYPE_W); break; case MSR_IA32_ARCH_CAPABILITIES: +printk("%s:%d %x\n", __func__,msr_info->host_initiated, data); +if (data==0) dump_stack(); if (!msr_info->host_initiated) return 1; vmx->arch_capabilities = data; @@ -6431,7 +6437,7 @@ static void vmx_vcpu_setup(struct vcpu_vmx *vmx) } vmx->arch_capabilities = kvm_get_arch_capabilities(); - +printk("%s:%x\n",__func__,kvm_get_arch_capabilities()); vm_exit_controls_init(vmx, vmcs_config.vmexit_ctrl); /* 22.2.1, 20.8.1 */ diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 1a1d4cfc6322..efb7290b412c 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -1120,6 +1120,8 @@ static int kvm_get_msr_feature(struct kvm_msr_entry *msr) switch (msr->index) { case MSR_IA32_ARCH_CAPABILITIES: msr->data = kvm_get_arch_capabilities(); +printk("%s:%x\n",__func__, msr->data); +dump_stack(); break; case MSR_IA32_UCODE_REV: rdmsrl_safe(msr->index, &msr->data);