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 <olaf@aepfle.de>
Acked-by: Ian Jackson <Ian.Jackson@citrix.com>
Acked-by: Tim Deegan <tim@xen.org>
Committed-by: Tim Deegan <tim@xen.org>
This commit is contained in:
Olaf Hering committed 2012-03-30 17:09:07 +02:00
1 parent 157b4d954c
commit 2f84bdc38b
2 files changed
+6 -2

No files matched your search

+4 -1
View File
@@ -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");
+2 -1
View File
@@ -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;
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.