Received: by 10.223.176.5 with SMTP id f5csp3259549wra; Mon, 29 Jan 2018 10:55:47 -0800 (PST) X-Google-Smtp-Source: AH8x226n0fQMNHch5NrXeQgHtW0XvMW5Fz3QDsdKZMeSL2WSQ/A8IUMXwT73t7TipLUYTcD3Wi0Y X-Received: by 10.101.72.143 with SMTP id n15mr21558980pgs.181.1517252147511; Mon, 29 Jan 2018 10:55:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1517252147; cv=none; d=google.com; s=arc-20160816; b=b6af6bzhL6WvDBwUayXh871bBVm5oKAxXYXyLiiK7e4527+DQ+uiurgQimdYgQRDn5 6Ix7DRZ9RQ3xdjgE+7RqlhvwKKbgjs+CcWkGOB09oZi4T4LUKrri5E0v+DNfOcmbzbDy dlGhOgs/6L+KyzStUCzNz84HKpdTqyaGDeCF/1S2Efg4HABSOe8g98Z/fT/gKuxT5PMO 32NhzRgKWUoDBznmEwpy9ChEfJ1D+y9N20WAMofabplWylP4HGI/4LFrjDY4A6emJEjn JL/K/RDMIvvh2g36GxJDDAx77GUuJZd+4L51M7fngNUs0fWqw6ZbBasYf9tQGnkKKfEK /vsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=jt/eZv39LAQ67NpyBP5nvzCq//lGEaiOpBMdw/BsXm0=; b=D1I0+MWh3PB+rj/AhqHqQz6IhY7bMcdQSuHQrDvnGO6+nyMrXE1y/PU5GYkbzBHKP/ upo8LyQ9pVARiRXTQaO4VxKxdmt1twWc6ez0sjqSFpt8Wscc8Nw5ykmjlftnf3uWSk7F gI7Kr6E/9lSu+eovH8khxh85rcPGmCgEGEFN50GF7oJfDoI50wC5IX86PSdnvaty4sJk x884v+Wpu+3+jcscjvuh4uUkyjdEQ2+jfhRhNFDlwj6j6edZNhbl4Zpvn5bXTBp7I7Ya 6Q8ugxDezPuiCmuQSaLfoEpq6HVj1vHlosU1rUA/8PnI0HTVQMofJT4VALWxNrMBrxHq 3cnQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=AEItL82Z; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a1-v6si9908940plp.568.2018.01.29.10.55.32; Mon, 29 Jan 2018 10:55:47 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=AEItL82Z; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751709AbeA2SzI (ORCPT + 99 others); Mon, 29 Jan 2018 13:55:08 -0500 Received: from mail-io0-f195.google.com ([209.85.223.195]:33276 "EHLO mail-io0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751405AbeA2SzG (ORCPT ); Mon, 29 Jan 2018 13:55:06 -0500 Received: by mail-io0-f195.google.com with SMTP id n7so8734033iob.0 for ; Mon, 29 Jan 2018 10:55:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=jt/eZv39LAQ67NpyBP5nvzCq//lGEaiOpBMdw/BsXm0=; b=AEItL82Z1UzS0fjSpVNwijBoS52nhHmr2IaJwqtT/O9BoI2yBuu1LPny89JfFcYc+r mbd98ld/eQ5F6Qk4049D3pOOgc9nueJhzVCBfQQKEFxtDiOuCr8X+3TXTUst4dhVeHe0 KIZgl4blinV0evfYGkeChuAhnw/HGmuknl0LjxZV05NgbWbJZUgaGkb9l+4wWsatw3Sw tN2e2RW+eyzthcUTZQRzN/+5bdUjwUIuyACq93omPsD4aEno8Ds+sCIIbVteTc03UM7z iKy3gZbx3iMNpnk3WQXKn82ML5XHlzT+433WV676aZ936aiBDolWiTdo/kv+zFU0ptKV 0Q/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=jt/eZv39LAQ67NpyBP5nvzCq//lGEaiOpBMdw/BsXm0=; b=BIuPjyPUCT/dSkbm4MM5I55FY2gTv8cdk/6JJy/XdCwZ+OraakLvMKHPjJs4cEiuFn 1OUS0WEfYVTrh2bnnhecXJkeSDaIBDEdW5a7Em3lCH876ttMK/8dTbxcc8gjxJjnpX/x a6LOS6ZSCBFreCzgiOLNkZzUAwgSzphaHq67uTFmceiykvH+m1B7HVLOHUYSEWaz7aLt AEhv547hDf/GvenRxt6w8jrlVdIpJHRGau74dfljYNSlj+ohl5QSYGmCvY02fYJ8wAhK 6shoPU2og0qSeMJyi+8cJpBaJnZkBdMCPOW6P2zYiJPdSiQ/8Jhf4iM4oMME03QLzPZA uLEg== X-Gm-Message-State: AKwxytcAouSZKj30v6SJNJLV3iTeFB5giazFY+AJCmOKRAbVwMfAc5XW 89dA0zxA4lYQlBzwdXSIX2dL1Dbo166RhukpVh8gDA== X-Received: by 10.107.97.24 with SMTP id v24mr26811446iob.296.1517252105779; Mon, 29 Jan 2018 10:55:05 -0800 (PST) MIME-Version: 1.0 Received: by 10.107.128.7 with HTTP; Mon, 29 Jan 2018 10:55:05 -0800 (PST) In-Reply-To: <1517187532-32286-5-git-send-email-karahmed@amazon.de> References: <1517187532-32286-1-git-send-email-karahmed@amazon.de> <1517187532-32286-5-git-send-email-karahmed@amazon.de> From: Jim Mattson Date: Mon, 29 Jan 2018 10:55:05 -0800 Message-ID: Subject: Re: [PATCH v2 4/4] x86: vmx: Allow direct access to MSR_IA32_ARCH_CAPABILITIES To: KarimAllah Ahmed Cc: kvm list , LKML , "the arch/x86 maintainers" , Asit Mallick , Dave Hansen , Arjan Van De Ven , Tim Chen , Linus Torvalds , Andrea Arcangeli , Andi Kleen , Thomas Gleixner , Dan Williams , Jun Nakajima , Andy Lutomirski , Greg KH , Paolo Bonzini , Ashok Raj Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Why should this MSR be pass-through? I doubt that it would be accessed frequently. On Sun, Jan 28, 2018 at 4:58 PM, KarimAllah Ahmed wrote: > Add direct access to MSR_IA32_SPEC_CTRL for guests. Future intel processors > will use this MSR to indicate RDCL_NO (bit 0) and IBRS_ALL (bit 1). > > Cc: Asit Mallick > Cc: Dave Hansen > Cc: Arjan Van De Ven > Cc: Tim Chen > Cc: Linus Torvalds > Cc: Andrea Arcangeli > Cc: Andi Kleen > Cc: Thomas Gleixner > Cc: Dan Williams > Cc: Jun Nakajima > Cc: Andy Lutomirski > Cc: Greg KH > Cc: Paolo Bonzini > Cc: Ashok Raj > Signed-off-by: KarimAllah Ahmed > --- > arch/x86/kvm/cpuid.c | 4 +++- > arch/x86/kvm/vmx.c | 2 ++ > 2 files changed, 5 insertions(+), 1 deletion(-) > > diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c > index 32c0c14..2339b1a 100644 > --- a/arch/x86/kvm/cpuid.c > +++ b/arch/x86/kvm/cpuid.c > @@ -71,6 +71,7 @@ u64 kvm_supported_xcr0(void) > #define KVM_CPUID_BIT_AVX512_4VNNIW 2 > #define KVM_CPUID_BIT_AVX512_4FMAPS 3 > #define KVM_CPUID_BIT_IBRS 26 > +#define KVM_CPUID_BIT_ARCH_CAPABILITIES 29 > #define KF(x) bit(KVM_CPUID_BIT_##x) > > int kvm_update_cpuid(struct kvm_vcpu *vcpu) > @@ -394,7 +395,8 @@ static inline int __do_cpuid_ent(struct kvm_cpuid_entry2 *entry, u32 function, > /* cpuid 7.0.edx*/ > const u32 kvm_cpuid_7_0_edx_x86_features = > KF(AVX512_4VNNIW) | KF(AVX512_4FMAPS) | \ > - (boot_cpu_has(X86_FEATURE_IBRS) ? KF(IBRS) : 0); > + (boot_cpu_has(X86_FEATURE_IBRS) ? KF(IBRS) : 0) | \ > + (boot_cpu_has(X86_FEATURE_ARCH_CAPABILITIES) ? KF(ARCH_CAPABILITIES) : 0); > > /* all calls to cpuid_count() should be made on the same cpu */ > get_cpu(); > diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c > index f82a44c..99cb761 100644 > --- a/arch/x86/kvm/vmx.c > +++ b/arch/x86/kvm/vmx.c > @@ -9617,6 +9617,8 @@ static struct kvm_vcpu *vmx_create_vcpu(struct kvm *kvm, unsigned int id) > > if (boot_cpu_has(X86_FEATURE_IBPB)) > vmx_disable_intercept_for_msr(msr_bitmap, MSR_IA32_PRED_CMD, MSR_TYPE_RW); > + if (boot_cpu_has(X86_FEATURE_ARCH_CAPABILITIES)) > + vmx_disable_intercept_for_msr(msr_bitmap, MSR_IA32_ARCH_CAPABILITIES, MSR_TYPE_R); > vmx_disable_intercept_for_msr(msr_bitmap, MSR_FS_BASE, MSR_TYPE_RW); > vmx_disable_intercept_for_msr(msr_bitmap, MSR_GS_BASE, MSR_TYPE_RW); > vmx_disable_intercept_for_msr(msr_bitmap, MSR_KERNEL_GS_BASE, MSR_TYPE_RW); > -- > 2.7.4 >