[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] xenpaging: add error code to indicate iommem passthrough



At 17:10 +0200 on 30 Mar (1333127445), Olaf Hering wrote:
> # HG changeset patch
> # User Olaf Hering <olaf@xxxxxxxxx>
> # 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.

I believe what I said was: 

] I'll take a patch to change the return code if it also documents it in
] the hypercall interface. :)

This adds another funny errno and doesn't document anything!

Just to be clear: if you want to use these ERRNO values with something
other than their usual meaning, then please add some comments in
xen/include/public/domctl.h to describe what's going on.

Cheers,

Tim.

> Signed-off-by: Olaf Hering <olaf@xxxxxxxxx>
> 
> 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;
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxx
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.