public inbox for linux-sgx@vger.kernel.org
 help / color / mirror / Atom feed
From: Reinette Chatre <reinette.chatre@intel.com>
To: Jarkko Sakkinen <jarkko@kernel.org>, Kai Huang <kai.huang@intel.com>
Cc: <linux-sgx@vger.kernel.org>, <dave.hansen@linux.intel.com>,
	<seanjc@google.com>, <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] x86/intel: Clear SGX bit if both SGX driver and KVM SGX are not enabled
Date: Mon, 12 Sep 2022 07:31:13 -0700	[thread overview]
Message-ID: <ce358ac4-a473-158c-ccce-c50af813fb6d@intel.com> (raw)
In-Reply-To: <Yx8OTDwhqbgvGp4p@kernel.org>

Hi Jarkko,

On 9/12/2022 3:47 AM, Jarkko Sakkinen wrote:
> On Fri, Sep 09, 2022 at 08:08:53PM +1200, Kai Huang wrote:
>> Currently on platform which has SGX enabled, if CONFIG_X86_SGX is not
>> enabled, the X86_FEATURE_SGX is not cleared, resulting in /proc/cpuinfo
>> shows "sgx" feature.  This is not desired.
>>
>> Clear SGX feature bit if both SGX driver and KVM SGX are not enabled in
>> init_ia32_feat_ctl().
>>
>> Signed-off-by: Kai Huang <kai.huang@intel.com>
> 
> Is it a pattern that flags are cleared when they are disabled by the
> kernel? I don't know the answer for this.

There appears to be relevant text in Documentation/x86/cpuinfo.rst:

tl;dr "In general, /proc/cpuinfo shows features which the kernel supports."

Longer quote:
"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 the kernel supports it and is currently making it available.
If such flag represents a hardware feature, it also means that the
hardware supports it.

If the expected flag does not appear in /proc/cpuinfo, things are murkier.
Users need to find out the reason why the flag is missing and find the way
how to enable it, which is not always easy. There are several factors that
can explain missing flags: the expected feature failed to enable, the feature
is missing in hardware, platform firmware did not enable it, the feature is
disabled at build or run time, an old kernel is in use, or the kernel does
not support the feature and thus has not enabled it. In general, /proc/cpuinfo
shows features which the kernel supports. For a full list of CPUID flags
which the CPU supports, use tools/arch/x86/kcpuid."


> 
> I could imagine that sometimes you might want to know whether the CPU
> supports a feature, even if e.g. your distribution kernel does not.

Indeed ... this seems to fall into the "murkier" part of the above quote.

Reinette

  reply	other threads:[~2022-09-12 14:31 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-09  8:08 [PATCH] x86/intel: Clear SGX bit if both SGX driver and KVM SGX are not enabled Kai Huang
2022-09-09 11:05 ` Huang, Kai
2022-09-09 12:11 ` Dave Hansen
2022-09-12  3:09   ` Huang, Kai
2022-09-12 10:47 ` Jarkko Sakkinen
2022-09-12 14:31   ` Reinette Chatre [this message]
2022-09-12 14:34     ` Dave Hansen
2022-09-12 20:54       ` Huang, Kai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ce358ac4-a473-158c-ccce-c50af813fb6d@intel.com \
    --to=reinette.chatre@intel.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=jarkko@kernel.org \
    --cc=kai.huang@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sgx@vger.kernel.org \
    --cc=seanjc@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox