Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp1348046rwb; Tue, 29 Nov 2022 12:16:50 -0800 (PST) X-Google-Smtp-Source: AA0mqf67mmJYWEkkzlCP29YGeEC6/phCWqvanvKo2RizQF8HKpSBQuxviZ8K9oHJPENb2eHDfs39 X-Received: by 2002:a17:906:94d6:b0:7bd:3a3d:804e with SMTP id d22-20020a17090694d600b007bd3a3d804emr18270513ejy.701.1669753009798; Tue, 29 Nov 2022 12:16:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669753009; cv=none; d=google.com; s=arc-20160816; b=T4kgT+qKc6z5ybmuTEnfqKu7KaCoaqNC3T0apSqr5ZKNnBYcc/eWGx5nhbnMxDyiD6 Tr1engpZi1PHEa4icrkv3dKHWBYQw4qTODmwcCnwUk982LzTaWorvoKR8x11xWZO/AgK s6XcZcS12TuyOW7yBWS4+Zv9C9g96XuWo9Cv2gQHUmQcv6kU92/lFcupCqjmpBHKb55U zFYHFGRH6LCjFFgzLDFpzbP22wPlIHmGYNzBXuhRf/XvhU4Gctin94JHArCF+4yKXZHf Jf0Fl2UdjOX0qkZioSUqtbFF9B18WvDDhdrNHVAum9cUB2lkNjBlR6dawzyKtPmoVoRV 180g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=W3C0J4b/Iq2TqSFgmT2zDR52z47EVntTEYZ6+rgtU/8=; b=c2vKdw8RdSK22QhiqiVMcYtmaQzwvs+rfmCXk08zJZakHHPKpWKujxZiGfcqQ4tT+t BX2Vc+QGKjDLmAKhYW7V+WBgdubgWzLcZQIrG5EgQTnMJFcfBd2wo7VpBHCvsoYoCsAV ByCwPowviDulWdOPcsHzhSgz/BYYOnZ32sWmuu58ZIyApKwkWIcePRbL3wcYyCkYkJ6M ECMX78tIK6nPC2FQY1Z8ICFaI6qk/5XrJiuYpAdkOFdmwHElha38oW9jtbQSF3RF952g Q7l7cwD0ugUZh1XxD5oRnS1LKNgU0f+CijHwJE9LVG2Way70rcHhUePj66al+Ot8VEkY YL5A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b="aG2l1cO/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id nc40-20020a1709071c2800b0078d00203ab2si8176850ejc.41.2022.11.29.12.16.28; Tue, 29 Nov 2022 12:16:49 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b="aG2l1cO/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237163AbiK2Tlv (ORCPT + 85 others); Tue, 29 Nov 2022 14:41:51 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51584 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235990AbiK2Tk4 (ORCPT ); Tue, 29 Nov 2022 14:40:56 -0500 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 44FEF175A8 for ; Tue, 29 Nov 2022 11:38:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1669750682; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=W3C0J4b/Iq2TqSFgmT2zDR52z47EVntTEYZ6+rgtU/8=; b=aG2l1cO/IgswxACI3gVfOgBUtg7an+dgwgHn7/XK4Il7kaHAWUCgBdAWfQBs5VGOk7IE2P vU/aZ9dhR2aS0cH8u/dQl8aeQD6izDmG3AbFEQlyCoXywrJpgUcDgnog8+uJyzqSC69032 ls0k0gfJRPoP1yi8lge6U4KPRGffkBU= Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-247-s4zjxzx_Nja3jk2eWklLvQ-1; Tue, 29 Nov 2022 14:37:57 -0500 X-MC-Unique: s4zjxzx_Nja3jk2eWklLvQ-1 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id F25E73817A62; Tue, 29 Nov 2022 19:37:55 +0000 (UTC) Received: from localhost.localdomain (unknown [10.35.206.46]) by smtp.corp.redhat.com (Postfix) with ESMTP id 00B312028CE4; Tue, 29 Nov 2022 19:37:51 +0000 (UTC) From: Maxim Levitsky To: kvm@vger.kernel.org Cc: Sandipan Das , Paolo Bonzini , Jim Mattson , Peter Zijlstra , Dave Hansen , Borislav Petkov , Pawan Gupta , Thomas Gleixner , Ingo Molnar , Josh Poimboeuf , Daniel Sneddon , Jiaxi Chen , Babu Moger , linux-kernel@vger.kernel.org, Jing Liu , Wyes Karny , x86@kernel.org, "H. Peter Anvin" , Sean Christopherson , Maxim Levitsky , Santosh Shukla Subject: [PATCH v2 08/11] x86/cpu: Add CPUID feature bit for VNMI Date: Tue, 29 Nov 2022 21:37:14 +0200 Message-Id: <20221129193717.513824-9-mlevitsk@redhat.com> In-Reply-To: <20221129193717.513824-1-mlevitsk@redhat.com> References: <20221129193717.513824-1-mlevitsk@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 3.1 on 10.11.54.4 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Santosh Shukla VNMI feature allows the hypervisor to inject NMI into the guest w/o using Event injection mechanism, The benefit of using VNMI over the event Injection that does not require tracking the Guest's NMI state and intercepting the IRET for the NMI completion. VNMI achieves that by exposing 3 capability bits in VMCB intr_cntrl which helps with virtualizing NMI injection and NMI_Masking. The presence of this feature is indicated via the CPUID function 0x8000000A_EDX[25]. Reviewed-by: Maxim Levitsky Signed-off-by: Santosh Shukla --- arch/x86/include/asm/cpufeatures.h | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/x86/include/asm/cpufeatures.h b/arch/x86/include/asm/cpufeatures.h index 1419c4e04d45f3..ed50f28bdf235b 100644 --- a/arch/x86/include/asm/cpufeatures.h +++ b/arch/x86/include/asm/cpufeatures.h @@ -359,6 +359,7 @@ #define X86_FEATURE_VGIF (15*32+16) /* Virtual GIF */ #define X86_FEATURE_X2AVIC (15*32+18) /* Virtual x2apic */ #define X86_FEATURE_V_SPEC_CTRL (15*32+20) /* Virtual SPEC_CTRL */ +#define X86_FEATURE_AMD_VNMI (15*32+25) /* Virtual NMI */ #define X86_FEATURE_SVME_ADDR_CHK (15*32+28) /* "" SVME addr check */ /* Intel-defined CPU features, CPUID level 0x00000007:0 (ECX), word 16 */ -- 2.26.3