]> xenbits.xensource.com Git - xen.git/commitdiff
xenpaging: Add a check to Xen for EPT.
authorKeir Fraser <keir.fraser@citrix.com>
Mon, 2 Aug 2010 16:17:55 +0000 (17:17 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Mon, 2 Aug 2010 16:17:55 +0000 (17:17 +0100)
There isn't seem to be a way to directly check for EPT, so instead
check for HAP and an Intel processor. If EPT isn't enabled, then
return an error to the tool.

Signed-off-by: Patrick Colp <pjcolp@cs.ubc.ca>
xen-unstable changeset:   21882:af52102e4dcf
xen-unstable date:        Wed Jul 28 07:54:40 2010 +0100

xen/arch/x86/mm/mem_event.c

index 5584328dd638ea7fcce48e152284cf03eeea0ab8..68ba06c5b7c72210f430c447c472cf2bc9ebe32d 100644 (file)
@@ -21,6 +21,7 @@
  */
 
 
+#include <asm/domain.h>
 #include <xen/event.h>
 #include <asm/p2m.h>
 #include <asm/mem_event.h>
@@ -225,6 +226,12 @@ int mem_event_domctl(struct domain *d, xen_domctl_mem_event_op_t *mec,
             mfn_t ring_mfn;
             mfn_t shared_mfn;
 
+            /* Currently only EPT is supported */
+            rc = -ENODEV;
+            if ( !(is_hvm_domain(d) && d->arch.hvm_domain.hap_enabled &&
+                  (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL)) )
+                break;
+
             /* Get MFN of ring page */
             guest_get_eff_l1e(v, ring_addr, &l1e);
             gfn = l1e_get_pfn(l1e);