From patchwork Thu Sep 1 21:18:06 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Mattson X-Patchwork-Id: 12963228 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 34730ECAAD2 for ; Thu, 1 Sep 2022 21:18:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234110AbiIAVSi (ORCPT ); Thu, 1 Sep 2022 17:18:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58834 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231281AbiIAVSh (ORCPT ); Thu, 1 Sep 2022 17:18:37 -0400 Received: from mail-pj1-x104a.google.com (mail-pj1-x104a.google.com [IPv6:2607:f8b0:4864:20::104a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6D00672857 for ; Thu, 1 Sep 2022 14:18:36 -0700 (PDT) Received: by mail-pj1-x104a.google.com with SMTP id y16-20020a17090aa41000b001fdf0a76a4eso58092pjp.3 for ; Thu, 01 Sep 2022 14:18:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=to:from:subject:message-id:mime-version:date:from:to:cc:subject :date; bh=c2WitT/tE1qbywkS6XRK3QEEf67FVJV8wq/kxKQuycE=; b=GfV4SjV5CZ+owAHNrgWo15g1gCfixHKj+X/QoAYDx0rXRLNLTBUP2JXSp07BUwU9dn D6vPYPGzGw6eByrO8uirH7ODk2YLlXURfCuExc71QXo9Ok8W7jKLB608oSoV0DI6PAzv cnODe7v6m/04d5/RS+Z3GXT2jOu3GgF6TtdAhiYvyjpzXnSt0Q3pEvcAmWe9SN6M5WPb oDh/fA4bSNn6prx9eHeq7K2dimArpQ4zFHw94F+rZyUvx9oa4FrujU8NmT2dHBB5tiPX HcM04OlPu7gfwjJlf9/DkfBP5zo7JhQunSCW2mMkNiNtNthkrqtV+s8mRevNcDTV7YpE H4MA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:from:subject:message-id:mime-version:date:x-gm-message-state :from:to:cc:subject:date; bh=c2WitT/tE1qbywkS6XRK3QEEf67FVJV8wq/kxKQuycE=; b=fLPxoueU9ntYXDL2IOnj9bBIUBkPuJNVVSqC+xJl7uX2BrYYzLKcUFBXTx31Zn8BZe sAf2HBwcPOW8ep8tcdRzxqYO22z4H6WWW5dg998QLHxBmdFvLWvtlRcfipPQUnmf9wyC 8LwFZW7xClaV76JJJ5YT5MBv1ti9MR1GMBGAEVwDAz2k+nxeL9DaXczpT0Rfm/h3zraq e54U86fBuDPMQbzPvkSAb9pCMMbeTMEAn1tWZLHDW32IipEPyjQ430doxV+TpE/MDJcq jKu9cG7akAH5t7FIhE+SgWy9Eo5mcp9sEICrCVcVs9vXXnEy/hp7pQO5f8UwPPqWwE7I A1Vg== X-Gm-Message-State: ACgBeo0ouKB/A4B3cmstyRZzVyyCxJE4wajPg9X55MmOOoh3urSbwknA b3cMpJ5tPB7/PWi4Y5MGFdQx7gZXWYtd0A== X-Google-Smtp-Source: AA6agR4DbKP7+lxqS/fjuzDHUnCbRZL5YR6c6T3bKX3oIg0r9hXRQbJ/vc9sB5oMdN0tyL+knzzZu7FeGuerbQ== X-Received: from loggerhead.c.googlers.com ([fda3:e722:ac3:cc00:24:72f4:c0a8:29a]) (user=jmattson job=sendgmr) by 2002:a05:6a00:1496:b0:52f:734f:9122 with SMTP id v22-20020a056a00149600b0052f734f9122mr33475818pfu.85.1662067115834; Thu, 01 Sep 2022 14:18:35 -0700 (PDT) Date: Thu, 1 Sep 2022 14:18:06 -0700 Mime-Version: 1.0 X-Mailer: git-send-email 2.37.2.789.g6183377224-goog Message-ID: <20220901211811.2883855-1-jmattson@google.com> Subject: [PATCH v3 1/2] x86/cpufeatures: Add macros for Intel's new fast rep string features From: Jim Mattson To: Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , "maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)" , "H. Peter Anvin" , Sean Christopherson , Paolo Bonzini , Peter Zijlstra , Josh Poimboeuf , Pawan Gupta , Jim Mattson , Babu Moger , "Chang S. Bae" , Wyes Karny , "open list:X86 ARCHITECTURE (32-BIT AND 64-BIT)" , "open list:KERNEL VIRTUAL MACHINE FOR X86 (KVM/x86)" Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org KVM_GET_SUPPORTED_CPUID should reflect these host CPUID bits. The bits are already cached in word 12. Give the bits X86_FEATURE names, so that they can be easily referenced. Hide these bits from /proc/cpuinfo, since the host kernel makes no use of them at present. Signed-off-by: Jim Mattson Reviewed-by: Sean Christopherson --- arch/x86/include/asm/cpufeatures.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/x86/include/asm/cpufeatures.h b/arch/x86/include/asm/cpufeatures.h index ef4775c6db01..454f0faa8e90 100644 --- a/arch/x86/include/asm/cpufeatures.h +++ b/arch/x86/include/asm/cpufeatures.h @@ -308,6 +308,9 @@ /* Intel-defined CPU features, CPUID level 0x00000007:1 (EAX), word 12 */ #define X86_FEATURE_AVX_VNNI (12*32+ 4) /* AVX VNNI instructions */ #define X86_FEATURE_AVX512_BF16 (12*32+ 5) /* AVX512 BFLOAT16 instructions */ +#define X86_FEATURE_FZRM (12*32+10) /* "" Fast zero-length REP MOVSB */ +#define X86_FEATURE_FSRS (12*32+11) /* "" Fast short REP STOSB */ +#define X86_FEATURE_FSRC (12*32+12) /* "" Fast short REP {CMPSB,SCASB} */ /* AMD-defined CPU features, CPUID level 0x80000008 (EBX), word 13 */ #define X86_FEATURE_CLZERO (13*32+ 0) /* CLZERO instruction */ From patchwork Thu Sep 1 21:18:07 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Mattson X-Patchwork-Id: 12963229 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 344D8ECAAD3 for ; Thu, 1 Sep 2022 21:18:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233353AbiIAVSt (ORCPT ); Thu, 1 Sep 2022 17:18:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58988 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234152AbiIAVSq (ORCPT ); Thu, 1 Sep 2022 17:18:46 -0400 Received: from mail-pl1-x649.google.com (mail-pl1-x649.google.com [IPv6:2607:f8b0:4864:20::649]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C43177C316 for ; Thu, 1 Sep 2022 14:18:44 -0700 (PDT) Received: by mail-pl1-x649.google.com with SMTP id c8-20020a170902d48800b0017545868987so3666802plg.15 for ; Thu, 01 Sep 2022 14:18:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date; bh=9FbEF2u2Wd8nNdrOcqEf1hjJETad70OGAaRnEVrgyZs=; b=tA8U8AtVPwpwQJnv8/Ju0yEsJiQZCkhrdkYMvlM69umJFpREDp09tZkqcrtJE6Ea50 vEEzYBmJvqkSEv7G2cZGTFVawCI07V0/XU7MFjgB4d8BUW5JdhHi6iKziJ3ZGC7/S/iK kCq0ldUplUfnTIAErUg3T07G9Yu3H8UCcCxwsmqAULKhqWaeP8K9oMEK/LhYa8LllzIR HJcKzFw/huceUzaEoJAy5OarWAa2mVMHFpyVAteBBF7p6g0YHotU14D67EhFuKGDDa+W SZFYEZ4wThGwUO92HWAS9QOY+MMZt8DMMJW92BSQq+MJnPg9FH1qJogTuJEqzX1ST5VN JxcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date; bh=9FbEF2u2Wd8nNdrOcqEf1hjJETad70OGAaRnEVrgyZs=; b=eIz8FQy4Ict7Gdo99lAMNnehQTsUqglCfu9qJzwr66HHtF9v3H2G3ahI2uioIXFHrc Sifg2uyzR96GoiVjsiNLoK1gohaHiop0MEsOMJN7MqBECaNm6E3XEnweC/t3DuS5yX1G kTMaRcL5NSZEX5TFU6AhI3uhotLA0jAONh/Iaj14AcWSeUHMp/kPPGJJ6wKWJkSgaHMp qv3xg47ZkmQ9qQDjFu34g7hzE1VagKkP4eH7oGEELCja/dAfzxA/NPKRx5RX0Hf80xCv cl0b9u5C1f3UXrcgIbEpre06YYEHI//ccpd6rZIqueIOB1xf+V9v8UtCsh+2LyWVb8nZ cgFA== X-Gm-Message-State: ACgBeo3lQgzG3Hl/XzxabBkNevdrLMlcJy58hE0a+6hcmHXkUgA6HeMS aUCAT+U4fiJz1yKb0PuhTWWdQxcZs0YW3g== X-Google-Smtp-Source: AA6agR4STjdtNy5UpF+u2VbqMIU5QX+iFd/AvwiK97WR//zap/n8GulygyWoxlkeLxeH5L+xApfuS5OrslhvXw== X-Received: from loggerhead.c.googlers.com ([fda3:e722:ac3:cc00:24:72f4:c0a8:29a]) (user=jmattson job=sendgmr) by 2002:a17:90a:e558:b0:1fb:c4b7:1a24 with SMTP id ei24-20020a17090ae55800b001fbc4b71a24mr107677pjb.1.1662067123612; Thu, 01 Sep 2022 14:18:43 -0700 (PDT) Date: Thu, 1 Sep 2022 14:18:07 -0700 In-Reply-To: <20220901211811.2883855-1-jmattson@google.com> Mime-Version: 1.0 References: <20220901211811.2883855-1-jmattson@google.com> X-Mailer: git-send-email 2.37.2.789.g6183377224-goog Message-ID: <20220901211811.2883855-2-jmattson@google.com> Subject: [PATCH v3 2/2] KVM: x86: Expose CPUID.(EAX=7,ECX=1).EAX[12:10] to the guest From: Jim Mattson To: Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , "maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)" , "H. Peter Anvin" , Sean Christopherson , Paolo Bonzini , Peter Zijlstra , Josh Poimboeuf , Pawan Gupta , "Chang S. Bae" , Jim Mattson , Babu Moger , Wyes Karny , "open list:X86 ARCHITECTURE (32-BIT AND 64-BIT)" , "open list:KERNEL VIRTUAL MACHINE FOR X86 (KVM/x86)" Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org Fast zero-length REP MOVSB, fast short REP STOSB, and fast short REP {CMPSB,SCASB} are inherent features of the processor that cannot be hidden by the hypervisor. When these features are present on the host, enumerate them in KVM_GET_SUPPORTED_CPUID. Signed-off-by: Jim Mattson Reviewed-by: Sean Christopherson --- arch/x86/kvm/cpuid.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c index 75dcf7a72605..172cbfd60946 100644 --- a/arch/x86/kvm/cpuid.c +++ b/arch/x86/kvm/cpuid.c @@ -636,7 +636,7 @@ void kvm_set_cpu_caps(void) kvm_cpu_cap_set(X86_FEATURE_SPEC_CTRL_SSBD); kvm_cpu_cap_mask(CPUID_7_1_EAX, - F(AVX_VNNI) | F(AVX512_BF16) + F(AVX_VNNI) | F(AVX512_BF16) | F(FZRM) | F(FSRS) | F(FSRC) ); kvm_cpu_cap_mask(CPUID_D_1_EAX,