forked from pool/libvirt
37 lines
1.5 KiB
Diff
37 lines
1.5 KiB
Diff
|
commit af521a0182a0d6867796c65b1b0cd83fb14032a9
|
||
|
Author: Jim Fehlig <jfehlig@novell.com>
|
||
|
Date: Wed Jan 5 15:20:01 2011 -0700
|
||
|
|
||
|
Add HAP to xen hypervisor capabilities
|
||
|
|
||
|
xen-unstable c/s 16931 introduced a per-domain setting for hvm
|
||
|
guests to enable/disable hardware assisted paging. If disabled,
|
||
|
software techniques such as shadow page tables are used. If enabled,
|
||
|
and the feature exists in underlying hardware, hardware support for
|
||
|
paging is used.
|
||
|
|
||
|
Xen does not provide a mechanism to discover the HAP capability, so
|
||
|
we advertise its availability for hvm guests on Xen >= 3.3.
|
||
|
|
||
|
diff --git a/src/xen/xen_hypervisor.c b/src/xen/xen_hypervisor.c
|
||
|
index ead8ee9..229ef3d 100644
|
||
|
--- a/src/xen/xen_hypervisor.c
|
||
|
+++ b/src/xen/xen_hypervisor.c
|
||
|
@@ -2321,6 +2321,16 @@ xenHypervisorBuildCapabilities(virConnectPtr conn,
|
||
|
hv_minor > 0 ?
|
||
|
0 : 1)) == NULL)
|
||
|
goto no_memory;
|
||
|
+
|
||
|
+ /* Xen 3.3.x and beyond supports enabling/disabling
|
||
|
+ * hardware assisted paging. Default is off.
|
||
|
+ */
|
||
|
+ if ((hv_major == 3 && hv_minor >= 3) || (hv_major > 3))
|
||
|
+ if (virCapabilitiesAddGuestFeature(guest,
|
||
|
+ "hap",
|
||
|
+ 0,
|
||
|
+ 1) == NULL)
|
||
|
+ goto no_memory;
|
||
|
}
|
||
|
}
|
||
|
|