[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH v2 0/3] x86: accommodate 32-bit PV guests with SMEP/SMAP handling



As was previously explained[1], SMAP (and with less relevance also
SMEP) is not compatible with 32-bit PV guests which aren't aware/
prepared to be run with that feature enabled. Andrew's original
approach either sacrificed architectural correctness for making
32-bit guests work again or by disabling SMAP also for not
insignificant portions of hypervisor code, both by allowing to control
the workaround mode via command line option.

This alternative approach disables SMEP and SMAP only while
running 32-bit PV guest code plus a few hypervisor instructions
early after entering hypervisor context or later before leaving it.

The 4th patch really is unrelated except for not applying cleanly
without the earlier ones, and the potential having been noticed
while putting together the 2nd one.

1: suppress SMEP and SMAP while running 32-bit PV guest code
2: use optimal NOPs to fill the SMEP/SMAP placeholders
3: use 32-bit loads for 32-bit PV guest state reload

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
---
v2: Various changes to patches 1 and 2 - see there.

[1] http://lists.xenproject.org/archives/html/xen-devel/2015-06/msg03888.html


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.