mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
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:
1 parent
157b4d954c
commit
2f84bdc38b
2 files changed
+6
-2
No files matched your search
@@ -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");
|
||||
|
||||
@@ -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;
|
||||
|
||||