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
*/
+#include <asm/domain.h>
#include <xen/event.h>
#include <asm/p2m.h>
#include <asm/mem_event.h>
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);