xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] x86: Add a hvmop for setting the #VE suppress bit
@ 2017-06-09 16:51 Adrian Pop
  2017-06-09 16:51 ` [PATCH 1/2] x86/mm: Change default value for suppress #VE in set_mem_access() Adrian Pop
                   ` (2 more replies)
  0 siblings, 3 replies; 21+ messages in thread
From: Adrian Pop @ 2017-06-09 16:51 UTC (permalink / raw)
  To: xen-devel
  Cc: Tamas K Lengyel, Wei Liu, Razvan Cojocaru, Adrian Pop,
	George Dunlap, Andrew Cooper, Ian Jackson, Jan Beulich

As the code stands right now, after DomU has enabled #VE using
HVMOP_altp2m_vcpu_enable_notify, all its pages have the #VE suppress bit
cleared, generating #VEs for any EPT violation.  There is currently no
way to change the value of the #VE suppress bit for a page from a
domain; it can only be done in Xen internally using ept_set_entry().

Following the discussion from
https://lists.xen.org/archives/html/xen-devel/2017-03/msg01312.html this
patch introduces a new hvmop to set this bit and thus have control over
which pages generate #VE and which VM-Exit.

I'm not sure whether it's best to define p2m_set_suppress_ve() in
mem_access.c since this file contains common functions for x86 (vmx &
svm) and the function is Intel-specific.

changes in v2:
- check if #VE has been enabled on the target domain (Tamas K Lengyel)
- check if the cpu has the #VE feature
- make the suppress_ve argument boolean (Jan Beulich)
- initialize only local variables that need initializing (Jan Beulich)
- use fewer local variables (Jan Beulich)
- fix indentation (Jan Beulich)
- remove unnecessary braces (Jan Beulich)
- use gfn_lock() instead of p2m_lock() in the non-altp2m case (Jan
  Beulich)
- allow only privileged domains to use this hvmop
- merge patch #2 and patch #3 (Jan Beulich)

Adrian Pop (1):
  x86/altp2m: Add a hvmop for setting the suppress #VE bit

Vlad Ioan Topan (1):
  x86/mm: Change default value for suppress #VE in set_mem_access()

 tools/libxc/include/xenctrl.h   |  2 ++
 tools/libxc/xc_altp2m.c         | 24 ++++++++++++++++++
 xen/arch/x86/hvm/hvm.c          | 14 +++++++++++
 xen/arch/x86/mm/mem_access.c    | 55 +++++++++++++++++++++++++++++++++++++++--
 xen/include/public/hvm/hvm_op.h | 15 +++++++++++
 xen/include/xen/mem_access.h    |  3 +++
 6 files changed, 111 insertions(+), 2 deletions(-)

-- 
2.13.0


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

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2017-07-20 16:26 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-09 16:51 [PATCH 0/2] x86: Add a hvmop for setting the #VE suppress bit Adrian Pop
2017-06-09 16:51 ` [PATCH 1/2] x86/mm: Change default value for suppress #VE in set_mem_access() Adrian Pop
2017-06-15 18:49   ` Tamas K Lengyel
2017-07-20 14:38     ` George Dunlap
2017-07-20 16:14       ` Tamas K Lengyel
2017-06-09 16:51 ` [PATCH 2/2] x86/altp2m: Add a hvmop for setting the suppress #VE bit Adrian Pop
2017-06-12 15:51   ` Wei Liu
2017-06-12 17:30     ` Adrian Pop
2017-06-20 10:29     ` Adrian Pop
2017-06-15 19:01   ` Tamas K Lengyel
2017-06-16  8:39     ` Jan Beulich
2017-06-22 12:04       ` Adrian Pop
2017-06-22 12:13         ` Jan Beulich
2017-06-22 13:16           ` Adrian Pop
2017-06-22 15:53           ` Adrian Pop
2017-06-22 13:17     ` Adrian Pop
2017-07-20 15:11     ` George Dunlap
2017-07-20 16:26       ` Tamas K Lengyel
2017-06-16 15:29   ` Jan Beulich
2017-06-20 10:28     ` Adrian Pop
2017-06-12 15:46 ` [PATCH v2 0/2] x86: Add a hvmop for setting the #VE suppress bit Adrian Pop

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).