From mboxrd@z Thu Jan 1 00:00:00 1970 From: Olaf Hering Subject: [PATCH] xenpaging: add error code to indicate iommem passthrough Date: Fri, 30 Mar 2012 17:10:45 +0200 Message-ID: <34d9828185501f6e7ea2.1333120245@probook.site> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xensource.com Cc: Tim Deegan List-Id: xen-devel@lists.xenproject.org # HG changeset patch # User Olaf Hering # Date 1333120147 -7200 # Node ID 34d9828185501f6e7ea2c3c2a397176a8e54ef0a # Parent 80653c8ea1d19dfe6130396bbc77f766eb9f9fab 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 diff -r 80653c8ea1d1 -r 34d982818550 tools/xenpaging/xenpaging.c --- a/tools/xenpaging/xenpaging.c +++ b/tools/xenpaging/xenpaging.c @@ -378,7 +378,10 @@ static struct xenpaging *xenpaging_init( 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 -r 80653c8ea1d1 -r 34d982818550 xen/arch/x86/mm/mem_event.c --- 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, x 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;