[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 0/2] x86: Add a hvmop for setting the #VE suppress bit
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@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |