From: Olaf Hering Date: Fri, 30 Mar 2012 15:09:07 +0000 (+0200) Subject: xenpaging: add error code to indicate iommem passthrough X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~8637 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=2f84bdc38b94ec6f4dff53051e39d9f8cc168de6;p=xen.git xenpaging: add error code to indicate iommem passthrough Similar to the existing ENODEV and EXDEV error codes, add EMDEV to indicate that iommu passthrough is not compatible with paging. All error codes are just made-up return codes to give proper error messages in the pager. Also update the HAP related error message now that paging is enabled also on AMD hosts. Signed-off-by: Olaf Hering Acked-by: Ian Jackson Acked-by: Tim Deegan Committed-by: Tim Deegan --- diff --git a/tools/xenpaging/xenpaging.c b/tools/xenpaging/xenpaging.c index 5c1cd81ecc..52dbdaa9f3 100644 --- a/tools/xenpaging/xenpaging.c +++ b/tools/xenpaging/xenpaging.c @@ -378,7 +378,10 @@ static struct xenpaging *xenpaging_init(int argc, char *argv[]) ERROR("xenpaging is (or was) active on this domain"); break; case ENODEV: - ERROR("EPT not supported for this guest"); + ERROR("xenpaging requires Hardware Assisted Paging"); + break; + case EMLINK: + ERROR("xenpaging not supported while iommu passthrough is enabled"); break; case EXDEV: ERROR("xenpaging not supported in a PoD guest"); diff --git a/xen/arch/x86/mm/mem_event.c b/xen/arch/x86/mm/mem_event.c index 2986825380..5c7d6b7bc2 100644 --- a/xen/arch/x86/mm/mem_event.c +++ b/xen/arch/x86/mm/mem_event.c @@ -564,10 +564,11 @@ int mem_event_domctl(struct domain *d, xen_domctl_mem_event_op_t *mec, break; /* No paging if iommu is used */ - rc = -EXDEV; + rc = -EMLINK; if ( unlikely(need_iommu(d)) ) break; + rc = -EXDEV; /* Disallow paging in a PoD guest */ if ( p2m->pod.entry_count ) break;