Received: by 2002:a25:683:0:0:0:0:0 with SMTP id 125csp778333ybg; Wed, 10 Jun 2020 13:30:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzQtKrDQs8d8mCnVDX1xf8MvMpw0Gi0d/PF7l/DTuUt/bFdk8OLLeH2YzG9lQCqCHI8cK6U X-Received: by 2002:a05:6402:b13:: with SMTP id bm19mr4148662edb.82.1591821010483; Wed, 10 Jun 2020 13:30:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591821010; cv=none; d=google.com; s=arc-20160816; b=s7+wanQcNiX3PcxgmH2qvAzLxdcdew36jZiBO31/YjwV/xdCtHTcelOtC91cGy8tiE IHuVYvAe7/gWRcZr8e46qFOvGSPKCfnqtan/v5IQDnTYuPv1q8tjL3zCivRCiyugvxRu 620l0JaJqnv99ZYjXeUV7/1+WMprIn7QSVCsiC6ijlDLHbxThqPRT05U/JixkwRH3iBC EIaYYNRCi1nOsnSGSe+McEj6DMtDamYgMkRS6NqrebPtZOZ6dAHMs+t/O+cOxknY2gVc A12P6hLeuRdlNIafMjA5YlYrrfWCcof5C7LEJNwNk8sW3V6jd45+vos/t8nx6aAbQzZq 57Gw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :ironport-sdr:ironport-sdr; bh=+4JZt5mwt4z3pGwCbguNSfpZXPJROJfT68P8LmdOb+I=; b=UdKej55zNe+9jHQbhnZOhp2dNS5h8nEg/W8oASsuuTwcMprQTqsetyBl62IMA2ToaO /l538OWDw3taSaO+lOeS5X6iD93N3t7ixoQwCwhirNoYyK5NDO+K3wrUIoJZo072orEG 0RNWrYeL24lemwH/4VZM/ovmrq+rEcJrMxJjyLeLTYuAse6q4WSnVhOyX+OI334BCkMT P5GYEb9YMfebEkuTrTNSJw+DBDOTqafVa67FLHpmMTTbbWuZjS0fqtt+E4YoDV9adFyO M2HTMx/s6m+v7lhgjjwpaa2vYV9CTBT3gm6vvsW/F2iNyQsG1uiLkLMaqkSY/HKlrKtW zMdw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g3si631178ejm.90.2020.06.10.13.29.47; Wed, 10 Jun 2020 13:30:10 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727787AbgFJUVv (ORCPT + 99 others); Wed, 10 Jun 2020 16:21:51 -0400 Received: from mga18.intel.com ([134.134.136.126]:53249 "EHLO mga18.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727045AbgFJUVu (ORCPT ); Wed, 10 Jun 2020 16:21:50 -0400 IronPort-SDR: 4zDQ23Y+hruCLkPaIg3Eb0FTF0WJhI6e6zUNvN0Yp2BBh1HbE7wlGNPeVHJ4uP1uns5wGvn5NW w9D4hZRu0SZg== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jun 2020 13:21:49 -0700 IronPort-SDR: r1Zbibk8XXir5xJvUIE1LXJTAFKapEGUABZjG2uK6GbCFlViEbZnc8NAzbMEUYtKiF/DCc6D0q XratW+5cxkrg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,497,1583222400"; d="scan'208";a="380178474" Received: from km-skylake-client-platform.sc.intel.com ([10.3.52.141]) by fmsmga001.fm.intel.com with ESMTP; 10 Jun 2020 13:21:49 -0700 From: Kyung Min Park To: x86@kernel.org, linux-kernel@vger.kernel.org Cc: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, hpa@zytor.com, gregkh@linuxfoundation.org, ak@linux.intel.com, dave.hansen@intel.com, tony.luck@intel.com, ravi.v.shankar@intel.com, ricardo.neri@intel.com Subject: [RFC PATCH 0/3] Add Documentation for /proc/cpuinfo flags Date: Wed, 10 Jun 2020 13:06:58 -0700 Message-Id: <20200610200701.16757-1-kyung.min.park@intel.com> X-Mailer: git-send-email 2.17.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Currently, there isn't any documentation in the kernel about how /proc/cpuinfo flags are generated and what it means when they are missing. x86 maintainers have expressed objections on adding flags for features without kernel use cases and that part of the reason is the lack of documentation on the logic behind such flags. If users want to know if a feature is available on a given system, they try to find the flag in /proc/cpuinfo. If a given flag is present, it means that Linux supports it. If such flag represents a hardware feature, it also means that the hardware supports it. Therefore, it is not sufficient to read CPUID to determine whether a hardware feature is available. If the flag is missing in /proc/cpuinfo, users need to find out the reason why the flag is missing and how to enable it, which is not always easy. /proc/cpuinfo should show all of the hardware features and bugs that any application or end user might care about. Some of these flags are derived from CPUID, and others are derived from other sources, including some that are entirely software-based. Add documentation how features are created, naming of the flags and when they are missing, what it means to users. Include two instances of features for which there are not implemented use cases in the kernel. Patch 1 creates a new documentation for /proc/cpuinfo flags bits. Patch 2 adds X86_FEATURE_SERIALIZE. Patch 3 adds X86_FEATURE_TSXLDTRK. This RFC series has been reviewed by Dave Hansen. Kyung Min Park (2): Documentation/x86: Add documentation for /proc/cpuinfo feature flags x86/cpufeatures: Enumerate TSX suspend load address tracking instructions Ricardo Neri (1): x86/cpufeatures: Add enumeration for SERIALIZE instruction Documentation/x86/cpuinfo.rst | 152 +++++++++++++++++++++++++++++ Documentation/x86/index.rst | 1 + arch/x86/include/asm/cpufeatures.h | 2 + 3 files changed, 155 insertions(+) create mode 100644 Documentation/x86/cpuinfo.rst -- 2.17.1