All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: "Andrew Cooper" <andrew.cooper3@citrix.com>,
	"Wei Liu" <wl@xen.org>, "Jan Beulich" <JBeulich@suse.com>,
	"Roger Pau Monné" <roger.pau@citrix.com>
Subject: [Xen-devel] [PATCH 10/10] x86/hvm: Do not enable MPX by default
Date: Wed, 26 Feb 2020 20:22:21 +0000	[thread overview]
Message-ID: <20200226202221.6555-11-andrew.cooper3@citrix.com> (raw)
In-Reply-To: <20200226202221.6555-1-andrew.cooper3@citrix.com>

Memory Protection eXtension support has been dropped from GCC and Linux, and
will be dropped from future Intel CPUs.

With all other default/max pieces in place, move MPX from default to max.
This means that VMs won't be offered it by default, but can explicitly opt
into using it via cpuid="host,mpx=1" in their vm.cfg file.

The difference as visible to the guest is:

  diff --git a/default b/mpx
  index 0e91765d6b..c8c33cd584 100644
  --- a/default
  +++ b/mpx
  @@ -13,15 +13,17 @@ Native cpuid:
     00000004:00000004 -> 00000000:00000000:00000000:00000000
     00000005:ffffffff -> 00000000:00000000:00000000:00000000
     00000006:ffffffff -> 00000000:00000000:00000000:00000000
  -  00000007:00000000 -> 00000000:009c2fbb:00000000:9c000400
  +  00000007:00000000 -> 00000000:009c6fbb:00000000:9c000400
     00000008:ffffffff -> 00000000:00000000:00000000:00000000
     00000009:ffffffff -> 00000000:00000000:00000000:00000000
     0000000a:ffffffff -> 00000000:00000000:00000000:00000000
     0000000b:ffffffff -> 00000000:00000000:00000000:00000000
     0000000c:ffffffff -> 00000000:00000000:00000000:00000000
  -  0000000d:00000000 -> 00000007:00000240:00000340:00000000
  +  0000000d:00000000 -> 0000001f:00000240:00000440:00000000
     0000000d:00000001 -> 0000000f:00000240:00000000:00000000
     0000000d:00000002 -> 00000100:00000240:00000000:00000000
  +  0000000d:00000003 -> 00000040:000003c0:00000000:00000000
  +  0000000d:00000004 -> 00000040:00000400:00000000:00000000
     40000000:ffffffff -> 40000005:566e6558:65584d4d:4d4d566e
     40000001:ffffffff -> 0004000e:00000000:00000000:00000000
     40000002:ffffffff -> 00000001:40000000:00000000:00000000

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Wei Liu <wl@xen.org>
CC: Roger Pau Monné <roger.pau@citrix.com>

XXX - One moving piece (the migration series) is still in review on xen-devel.
I won't commit this change until that is sorted, and I can double check the
backwards compatibility for VMs from previous versions of Xen.

The main purpose of posting this patch now is to illustrate the effects of the
previous patches in the series.
---
 xen/include/public/arch-x86/cpufeatureset.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/public/arch-x86/cpufeatureset.h b/xen/include/public/arch-x86/cpufeatureset.h
index d79a53befe..81e4c2950f 100644
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -207,7 +207,7 @@ XEN_CPUFEATURE(INVPCID,       5*32+10) /*H  Invalidate Process Context ID */
 XEN_CPUFEATURE(RTM,           5*32+11) /*A  Restricted Transactional Memory */
 XEN_CPUFEATURE(PQM,           5*32+12) /*   Platform QoS Monitoring */
 XEN_CPUFEATURE(NO_FPU_SEL,    5*32+13) /*!  FPU CS/DS stored as zero */
-XEN_CPUFEATURE(MPX,           5*32+14) /*S  Memory Protection Extensions */
+XEN_CPUFEATURE(MPX,           5*32+14) /*s  Memory Protection Extensions */
 XEN_CPUFEATURE(PQE,           5*32+15) /*   Platform QoS Enforcement */
 XEN_CPUFEATURE(AVX512F,       5*32+16) /*A  AVX-512 Foundation Instructions */
 XEN_CPUFEATURE(AVX512DQ,      5*32+17) /*A  AVX-512 Doubleword & Quadword Instrs */
-- 
2.11.0


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

  parent reply	other threads:[~2020-02-26 20:41 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-26 20:22 [Xen-devel] [PATCH 00/10] x86: Default vs Max policies Andrew Cooper
2020-02-26 20:22 ` [Xen-devel] [PATCH 01/10] x86/sysctl: Don't return cpu policy data for compiled-out support (2) Andrew Cooper
2020-02-27  7:38   ` Jan Beulich
2020-02-27  9:33     ` Andrew Cooper
2020-02-27  9:40       ` Jan Beulich
2020-02-27 16:24         ` Andrew Cooper
2020-02-26 20:22 ` [Xen-devel] [PATCH 02/10] tools/libxc: Simplify xc_get_static_cpu_featuremask() Andrew Cooper
2020-02-27  7:47   ` Jan Beulich
2020-02-27  9:55     ` Andrew Cooper
2020-02-27 16:27       ` Andrew Cooper
2020-02-26 20:22 ` [Xen-devel] [PATCH 03/10] x86/gen-cpuid: Rework internal logic to ease future changes Andrew Cooper
2020-02-27  7:57   ` Jan Beulich
2020-02-27 10:08     ` Andrew Cooper
2020-02-26 20:22 ` [Xen-devel] [PATCH 04/10] x86/gen-cpuid: Create max and default variations of INIT_*_FEATURES Andrew Cooper
2020-02-27  8:02   ` Jan Beulich
2020-02-27 10:29     ` Andrew Cooper
2020-02-27 10:34       ` Jan Beulich
2020-02-26 20:22 ` [Xen-devel] [PATCH 05/10] x86/msr: Compile out unused logic/objects Andrew Cooper
2020-02-27  8:07   ` Jan Beulich
2020-02-27 10:37     ` Andrew Cooper
2020-02-27 11:24       ` Jan Beulich
2020-02-26 20:22 ` [Xen-devel] [PATCH 06/10] x86/msr: Introduce and use default MSR policies Andrew Cooper
2020-02-27  8:11   ` Jan Beulich
2020-02-26 20:22 ` [Xen-devel] [PATCH 07/10] x86/cpuid: Compile out unused logic/objects Andrew Cooper
2020-02-27  8:12   ` Jan Beulich
2020-02-26 20:22 ` [Xen-devel] [PATCH 08/10] x86/cpuid: Introduce and use default CPUID policies Andrew Cooper
2020-02-27  8:19   ` Jan Beulich
2020-02-27 10:55     ` Andrew Cooper
2020-02-27 11:29       ` Jan Beulich
2020-02-26 20:22 ` [Xen-devel] [PATCH 09/10] x86/gen-cpuid: Distinguish default vs max in feature annotations Andrew Cooper
2020-02-27  8:21   ` Jan Beulich
2020-02-26 20:22 ` Andrew Cooper [this message]
2020-02-27  8:23   ` [Xen-devel] [PATCH 10/10] x86/hvm: Do not enable MPX by default Jan Beulich

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=20200226202221.6555-11-andrew.cooper3@citrix.com \
    --to=andrew.cooper3@citrix.com \
    --cc=JBeulich@suse.com \
    --cc=roger.pau@citrix.com \
    --cc=wl@xen.org \
    --cc=xen-devel@lists.xenproject.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.