From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.3 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 835A0C10F14 for ; Tue, 8 Oct 2019 06:57:31 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 5C1352173B for ; Tue, 8 Oct 2019 06:57:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730225AbfJHG5a (ORCPT ); Tue, 8 Oct 2019 02:57:30 -0400 Received: from mx1.redhat.com ([209.132.183.28]:54624 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730129AbfJHG5a (ORCPT ); Tue, 8 Oct 2019 02:57:30 -0400 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id ACB0D753C7 for ; Tue, 8 Oct 2019 06:57:29 +0000 (UTC) Received: by mail-wm1-f70.google.com with SMTP id o188so940154wmo.5 for ; Mon, 07 Oct 2019 23:57:29 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:openpgp:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=LQeVN1hH98xgpYnMm68phCOZgGPtIs2VOwfxn1PaBbs=; b=CX/+8aGElatEWsOz2s9n4wG/EOHILpa0BgDRYyT2CDLoBK6jn4zle4gXWBeiKp2gbe 2LNjsjRmKWRlJwpytoJD6wwsQ0iC5n14JLUNDHPhtaBycUOb2tl9z3r9KGFAtazh6CIQ tekHhW9b0ou/83WjXCnPa6Owh4Ar5WsTFlBqwYEs0B7KO6imGsPhYNDTnYfLAK+QTan3 6fFBL+eifTt5O8akUzFaNqD1Cl+arYF9cfNzCo6lH3sK2XZBT2sXslKWZFjhw4pPcGjX I+GJO2R34KK/rnOCqvKXFpqJvpcZbp/ORnXIXikNjIEKFBTIRzxlozA+bo5S6eg0bnWn ux7Q== X-Gm-Message-State: APjAAAWNKYlfVV0IH8iNtgTRR9fmklHDaNRUfx1uEUhpv/LVPCDA71yX vVaNPmbCEp5g8IwBl7R0UJo94cMTiGhV+Wkh8q+I3Y3NNd+z5qVrRu+F2GXu5sBIZk+E70+WFMb gGuMpOVEnPo2u2lF5RXw8X+pk X-Received: by 2002:a7b:caaa:: with SMTP id r10mr2604598wml.100.1570517848244; Mon, 07 Oct 2019 23:57:28 -0700 (PDT) X-Google-Smtp-Source: APXvYqym7378uK2SLHrM9bzukYU6fxbMPVQT8VT0yZc3RrKv9/pub3+g7Lhk8O5PyNr59Jjaojk69g== X-Received: by 2002:a7b:caaa:: with SMTP id r10mr2604563wml.100.1570517847946; Mon, 07 Oct 2019 23:57:27 -0700 (PDT) Received: from ?IPv6:2001:b07:6468:f312:e876:e214:dc8e:2846? ([2001:b07:6468:f312:e876:e214:dc8e:2846]) by smtp.gmail.com with ESMTPSA id 90sm24379233wrr.1.2019.10.07.23.57.25 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 07 Oct 2019 23:57:27 -0700 (PDT) Subject: Re: [PATCH 11/16] x86/cpu: Print VMX features as separate line item in /proc/cpuinfo To: Sean Christopherson Cc: Thomas Gleixner , Ingo Molnar , Borislav Petkov , x86@kernel.org, Peter Zijlstra , Arnaldo Carvalho de Melo , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , Tony Luck , Tony W Wang-oc , "H. Peter Anvin" , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Vitaly Kuznetsov , Wanpeng Li , Jim Mattson , Joerg Roedel , linux-kernel@vger.kernel.org, kvm@vger.kernel.org, linux-edac@vger.kernel.org, Borislav Petkov , Jarkko Sakkinen References: <20191004215615.5479-1-sean.j.christopherson@intel.com> <20191004215615.5479-12-sean.j.christopherson@intel.com> <55f45459-47bf-df37-a12b-17c4c5c6c19a@redhat.com> <20191007195638.GG18016@linux.intel.com> From: Paolo Bonzini Openpgp: preference=signencrypt Message-ID: Date: Tue, 8 Oct 2019 08:57:30 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: <20191007195638.GG18016@linux.intel.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 07/10/19 21:56, Sean Christopherson wrote: > On Mon, Oct 07, 2019 at 07:12:37PM +0200, Paolo Bonzini wrote: >> On 04/10/19 23:56, Sean Christopherson wrote: >>> diff --git a/arch/x86/kernel/cpu/proc.c b/arch/x86/kernel/cpu/proc.c >>> index cb2e49810d68..4eec8889b0ff 100644 >>> --- a/arch/x86/kernel/cpu/proc.c >>> +++ b/arch/x86/kernel/cpu/proc.c >>> @@ -7,6 +7,10 @@ >>> >>> #include "cpu.h" >>> >>> +#ifdef CONFIG_X86_VMX_FEATURE_NAMES >>> +extern const char * const x86_vmx_flags[NVMXINTS*32]; >>> +#endif >>> + >>> /* >>> * Get CPU information for use by the procfs. >>> */ >>> @@ -102,6 +106,17 @@ static int show_cpuinfo(struct seq_file *m, void *v) >>> if (cpu_has(c, i) && x86_cap_flags[i] != NULL) >>> seq_printf(m, " %s", x86_cap_flags[i]); >> >> I'm afraid this is going to break some scripts in the wild. I would >> simply remove the seq_puts below. > > Can you elaborate? I'm having trouble connecting the dots... Somebody is bound to have scripts doing "grep ^flags.*ept /proc/cpuinfo" or checking for VMX flags under some kind of "if (/^flags/)", so it's safer not to separate VMX and non-VMX flags. Paolo >> Paolo >> >>> +#ifdef CONFIG_X86_VMX_FEATURE_NAMES >>> + if (cpu_has(c, X86_FEATURE_VMX) && c->vmx_capability[0]) { >>> + seq_puts(m, "\nvmx flags\t:"); >>> + for (i = 0; i < 32*NVMXINTS; i++) { >>> + if (test_bit(i, (unsigned long *)c->vmx_capability) && >>> + x86_vmx_flags[i] != NULL) >>> + seq_printf(m, " %s", x86_vmx_flags[i]); >>> + } >>> + } >>> +#endif >>> + >>> seq_puts(m, "\nbugs\t\t:"); >>> for (i = 0; i < 32*NBUGINTS; i++) { >>> unsigned int bug_bit = 32*NCAPINTS + i;