Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp2167071rwb; Thu, 17 Nov 2022 07:21:59 -0800 (PST) X-Google-Smtp-Source: AA0mqf5XgNadTXYhf6p6c5T7/nqTJqZ/FC2zNyY1uWjqude4NH2LjKDIf3wQO3DCsi6RvqD17+/r X-Received: by 2002:a17:90a:71c8:b0:213:caaf:411 with SMTP id m8-20020a17090a71c800b00213caaf0411mr9609082pjs.74.1668698519679; Thu, 17 Nov 2022 07:21:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668698519; cv=none; d=google.com; s=arc-20160816; b=DM59rN3H5DSNwwy0W0qT1x8SgFlPyk7eJFGj7gU4LJXYrOVGc5Ti9vdbLDD0enxIvY DV1y2b5rHysx03957ek6PiYHGXkL0vR7eWelCi6o+i1+eHWIGMkEOrGSHAlfDFC/krv/ ZiTjSixhEgyuqYOmInlyZFaK1hvIknzVlvjpnv6wiRbdeW+pFPYODRlxO7cAikxRxe7z X7VqOjGChzqTRn49uIFePH9blFey4OSc8fp7ivH92sds36MZzFjS+6wNIEitbULpcgwD M1BsEKY9TOEF5i/R8lD3sih1lTtBI39zs6Icon+iCmvFlK/RiUOKkuopTdUFK/GZNAB+ rE1A== 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=jSFZZCAEySlCF5KURW1fd9eOz0e4b0R1xYf15+jkIuw=; b=WV7mhsRXR8lqR3tLrfaAHgPhQ+aUslVw0U2oePOWMwrfq7UIim5OIvy0grTiuZ2rUT KMNav2R/5nFUBZZWiAljRwzKomdF/6Fly3RJ6Wb45w6e3XiK0M8bPWWglH+0WO5YQa3n c/WIjPIwljlMZilUL1MZFzbeX882cUCUt41xley83myzVPxif4pxfqjvfiXP577FIS3m FpTlziQFKdyq+xfzjuSFzWqovQRoVvGcAihCXBxQ619RUOwVmaPZfaLSNH67I1j2P4JN Fue9XyCfXNb1GNZIiKC/axI4bJniJZJglfeveQFmqaXfIlZo2H4iFCbhC66EaNu6+ql1 W7KA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=RDH+B+b5; 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 y7-20020a170902864700b00186ab026646si1172543plt.394.2022.11.17.07.21.37; Thu, 17 Nov 2022 07:21:59 -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=RDH+B+b5; 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 S240489AbiKQOe6 (ORCPT + 92 others); Thu, 17 Nov 2022 09:34:58 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58770 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240397AbiKQOeR (ORCPT ); Thu, 17 Nov 2022 09:34:17 -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 3E2627722E for ; Thu, 17 Nov 2022 06:33:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1668695590; 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=jSFZZCAEySlCF5KURW1fd9eOz0e4b0R1xYf15+jkIuw=; b=RDH+B+b5DaqukZ4oFchza44n17Zyh48DoReiIRSEFnT2IUUsNdnR8CcoJxxeqWgpD7ZPCn kZs6/HnxkD43KeFT2NFcQWHE0ei25AqiHu34bM1FjpUhCuOZ7URBxRsbLnBrlpPVWARpQW 3CHVv8O0tQ0ZqJ0713NcBM5aPZhoIBw= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-353-dbc2GAnvMiOz5BpZwxvPuA-1; Thu, 17 Nov 2022 09:33:06 -0500 X-MC-Unique: dbc2GAnvMiOz5BpZwxvPuA-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id BF35F101E152; Thu, 17 Nov 2022 14:33:05 +0000 (UTC) Received: from amdlaptop.tlv.redhat.com (dhcp-4-238.tlv.redhat.com [10.35.4.238]) by smtp.corp.redhat.com (Postfix) with ESMTP id 653D62166B29; Thu, 17 Nov 2022 14:33:02 +0000 (UTC) From: Maxim Levitsky To: kvm@vger.kernel.org Cc: Paolo Bonzini , Ingo Molnar , "H. Peter Anvin" , Dave Hansen , linux-kernel@vger.kernel.org, Peter Zijlstra , Thomas Gleixner , Sandipan Das , Daniel Sneddon , Jing Liu , Josh Poimboeuf , Wyes Karny , Borislav Petkov , Babu Moger , Pawan Gupta , Sean Christopherson , Jim Mattson , x86@kernel.org, Maxim Levitsky , Santosh Shukla Subject: [PATCH 05/13] x86/cpu: Add CPUID feature bit for VNMI Date: Thu, 17 Nov 2022 16:32:34 +0200 Message-Id: <20221117143242.102721-6-mlevitsk@redhat.com> In-Reply-To: <20221117143242.102721-1-mlevitsk@redhat.com> References: <20221117143242.102721-1-mlevitsk@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 3.1 on 10.11.54.6 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=unavailable 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 b71f4f2ecdd571..23bd69848d271e 100644 --- a/arch/x86/include/asm/cpufeatures.h +++ b/arch/x86/include/asm/cpufeatures.h @@ -356,6 +356,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.34.3