From: Dave Hansen <dave.hansen@intel.com>
To: Qiaowei Ren <qiaowei.ren@intel.com>,
"H. Peter Anvin" <hpa@zytor.com>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>
Cc: x86@kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: Re: [PATCH v7 03/10] x86, mpx: add macro cpu_has_mpx
Date: Tue, 22 Jul 2014 09:18:52 -0700 [thread overview]
Message-ID: <53CE8EEC.2090402@intel.com> (raw)
In-Reply-To: <1405921124-4230-4-git-send-email-qiaowei.ren@intel.com>
On 07/20/2014 10:38 PM, Qiaowei Ren wrote:
> +#ifdef CONFIG_X86_INTEL_MPX
> +#define cpu_has_mpx boot_cpu_has(X86_FEATURE_MPX)
> +#else
> +#define cpu_has_mpx 0
> +#endif /* CONFIG_X86_INTEL_MPX */
Is this enough checking? Looking at the extension reference, it says:
> 9.3.3
> Enabling of Intel MPX States
> An OS can enable Intel MPX states to support software operation using bounds registers with the following steps:
> ? Verify the processor supports XSAVE/XRSTOR/XSETBV/XGETBV instructions and XCR0 by checking
> CPUID.1.ECX.XSAVE[bit 26]=1.
That, I assume the xsave code is already doing.
> ? Verify the processor supports both Intel MPX states by checking CPUID.(EAX=0x0D, ECX=0):EAX[4:3] is 11b.
I see these bits _attempting_ to get set in pcntxt_mask via XCNTXT_MASK.
But, I don't see us ever actually checking that they _do_ get set. For
instance, we do this for:
> if ((pcntxt_mask & XSTATE_FPSSE) != XSTATE_FPSSE) {
> pr_err("FP/SSE not shown under xsave features 0x%llx\n",
> pcntxt_mask);
> BUG();
> }
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Dave Hansen <dave.hansen@intel.com>
To: Qiaowei Ren <qiaowei.ren@intel.com>,
"H. Peter Anvin" <hpa@zytor.com>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>
Cc: x86@kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: Re: [PATCH v7 03/10] x86, mpx: add macro cpu_has_mpx
Date: Tue, 22 Jul 2014 09:18:52 -0700 [thread overview]
Message-ID: <53CE8EEC.2090402@intel.com> (raw)
In-Reply-To: <1405921124-4230-4-git-send-email-qiaowei.ren@intel.com>
On 07/20/2014 10:38 PM, Qiaowei Ren wrote:
> +#ifdef CONFIG_X86_INTEL_MPX
> +#define cpu_has_mpx boot_cpu_has(X86_FEATURE_MPX)
> +#else
> +#define cpu_has_mpx 0
> +#endif /* CONFIG_X86_INTEL_MPX */
Is this enough checking? Looking at the extension reference, it says:
> 9.3.3
> Enabling of Intel MPX States
> An OS can enable Intel MPX states to support software operation using bounds registers with the following steps:
> • Verify the processor supports XSAVE/XRSTOR/XSETBV/XGETBV instructions and XCR0 by checking
> CPUID.1.ECX.XSAVE[bit 26]=1.
That, I assume the xsave code is already doing.
> • Verify the processor supports both Intel MPX states by checking CPUID.(EAX=0x0D, ECX=0):EAX[4:3] is 11b.
I see these bits _attempting_ to get set in pcntxt_mask via XCNTXT_MASK.
But, I don't see us ever actually checking that they _do_ get set. For
instance, we do this for:
> if ((pcntxt_mask & XSTATE_FPSSE) != XSTATE_FPSSE) {
> pr_err("FP/SSE not shown under xsave features 0x%llx\n",
> pcntxt_mask);
> BUG();
> }
next prev parent reply other threads:[~2014-07-22 16:19 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-21 5:38 [PATCH v7 00/10] Intel MPX support Qiaowei Ren
2014-07-21 5:38 ` Qiaowei Ren
2014-07-21 5:38 ` [PATCH v7 01/10] x86, mpx: introduce VM_MPX to indicate that a VMA is MPX specific Qiaowei Ren
2014-07-21 5:38 ` Qiaowei Ren
2014-07-21 5:38 ` [PATCH v7 02/10] x86, mpx: add MPX specific mmap interface Qiaowei Ren
2014-07-21 5:38 ` Qiaowei Ren
2014-07-21 5:38 ` [PATCH v7 03/10] x86, mpx: add macro cpu_has_mpx Qiaowei Ren
2014-07-21 5:38 ` Qiaowei Ren
2014-07-22 16:18 ` Dave Hansen [this message]
2014-07-22 16:18 ` Dave Hansen
2014-07-23 2:35 ` Ren, Qiaowei
2014-07-23 2:35 ` Ren, Qiaowei
2014-07-23 16:02 ` Dave Hansen
2014-07-23 16:02 ` Dave Hansen
2014-07-24 0:56 ` Ren, Qiaowei
2014-07-24 0:56 ` Ren, Qiaowei
2014-07-24 4:46 ` Dave Hansen
2014-07-24 4:46 ` Dave Hansen
2014-07-24 5:23 ` Ren, Qiaowei
2014-07-24 5:23 ` Ren, Qiaowei
2014-07-21 5:38 ` [PATCH v7 04/10] x86, mpx: hook #BR exception handler to allocate bound tables Qiaowei Ren
2014-07-21 5:38 ` Qiaowei Ren
2014-07-21 5:38 ` [PATCH v7 05/10] x86, mpx: extend siginfo structure to include bound violation information Qiaowei Ren
2014-07-21 5:38 ` Qiaowei Ren
2014-07-22 0:42 ` Zhang, Tianfei
2014-07-22 0:42 ` Zhang, Tianfei
2014-07-21 5:38 ` [PATCH v7 06/10] mips: sync struct siginfo with general version Qiaowei Ren
2014-07-21 5:38 ` Qiaowei Ren
2014-07-21 5:38 ` [PATCH v7 07/10] x86, mpx: decode MPX instruction to get bound violation information Qiaowei Ren
2014-07-21 5:38 ` Qiaowei Ren
2014-07-21 6:07 ` Andi Kleen
2014-07-21 6:07 ` Andi Kleen
2014-07-21 6:11 ` Ren, Qiaowei
2014-07-21 6:11 ` Ren, Qiaowei
2014-07-21 5:38 ` [PATCH v7 08/10] x86, mpx: add prctl commands PR_MPX_REGISTER, PR_MPX_UNREGISTER Qiaowei Ren
2014-07-21 5:38 ` Qiaowei Ren
2014-07-21 6:09 ` Andi Kleen
2014-07-21 6:09 ` Andi Kleen
2014-10-13 17:41 ` Dave Hansen
2014-10-13 17:41 ` Dave Hansen
2014-10-14 1:44 ` Ren, Qiaowei
2014-10-14 1:44 ` Ren, Qiaowei
2014-07-23 16:20 ` Dave Hansen
2014-07-23 16:20 ` Dave Hansen
2014-07-21 5:38 ` [PATCH v7 09/10] x86, mpx: cleanup unused bound tables Qiaowei Ren
2014-07-21 5:38 ` Qiaowei Ren
2014-07-22 0:50 ` Zhang, Tianfei
2014-07-22 0:50 ` Zhang, Tianfei
2014-07-23 16:38 ` Dave Hansen
2014-07-23 16:38 ` Dave Hansen
2014-07-24 0:49 ` Ren, Qiaowei
2014-07-24 0:49 ` Ren, Qiaowei
2014-07-24 1:04 ` Dave Hansen
2014-07-24 1:04 ` Dave Hansen
2014-07-24 1:27 ` Ren, Qiaowei
2014-07-24 1:27 ` Ren, Qiaowei
2014-07-21 5:38 ` [PATCH v7 10/10] x86, mpx: add documentation on Intel MPX Qiaowei Ren
2014-07-21 5:38 ` Qiaowei Ren
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=53CE8EEC.2090402@intel.com \
--to=dave.hansen@intel.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mingo@redhat.com \
--cc=qiaowei.ren@intel.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.