From: Tamas K Lengyel <tamas@tklengyel.com>
It is unclear whether mem_sharing was ever made to work on other architectures
but at this time the only verified platform for it is vmx. No plans to support
or maintain it on other architectures. Make this explicit by checking during
initialization.
Signed-off-by: Tamas K Lengyel <tamas@tklengyel.com>
---
xen/arch/x86/mm/mem_sharing.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/xen/arch/x86/mm/mem_sharing.c b/xen/arch/x86/mm/mem_sharing.c
index 7271e5c90b..19922ab5d1 100644
--- a/xen/arch/x86/mm/mem_sharing.c
+++ b/xen/arch/x86/mm/mem_sharing.c
@@ -1444,7 +1444,7 @@ static inline int mem_sharing_control(struct domain *d, bool enable,
{
if ( enable )
{
- if ( unlikely(!is_hvm_domain(d)) )
+ if ( unlikely(!is_hvm_domain(d) || !cpu_has_vmx) )
return -EOPNOTSUPP;
if ( unlikely(!hap_enabled(d)) )
--
2.26.1