| 
On Oct 1, 2006, at 1:20 PM, poff wrote:
 
I don't know if I'm off base but have you added appropriate code to
linux? specifically arch/powerpc/platforms/xen/hcall.c ?
 
An existing hypercall, viz #36, do_domctl, provides several  
commands to access guest domains.
For example, XEN_DOMCTL_getmemlist and XEN_DOMCTL_max_mem. Thought  
I would add another to
copy the htab, XEN_DOMCTL_gethtab. So I think no modification is  
needed to hcall.c
 
Sadly, there is:
Some architectures require that the linux kernel has knowledge of all  
hcalls, and PPc is one of them 
you will notice in:
  arch/powerpc/platforms/xen/hcall.c: xenppc_privcmd_domctl()
there is a huge switch statement for all the domctl OPs.
If your case is not in the switch then you are subject to:
        default:
                printk(KERN_ERR "%s: unknown domctl cmd %d\n", __func__, 
kern_op.cmd);
                return -ENOSYS;
        }
and hence your ENOSYS
Since you are modeling the OP from XEN_DOMCTL_getmemlist, if you are  
reusing the data structure as well (which would make sense then the  
following diff should solve your problem:
diff -r c52ba3176a28 arch/powerpc/platforms/xen/hcall.c
--- a/arch/powerpc/platforms/xen/hcall.c        Thu Sep 28 12:26:59 2006 -0400
+++ b/arch/powerpc/platforms/xen/hcall.c        Sun Oct 01 15:30:45 2006 -0400
@@ -273,6 +273,7 @@ static int xenppc_privcmd_domctl(privcmd
        case XEN_DOMCTL_getdomaininfo:
                break;
        case XEN_DOMCTL_getmemlist:
+       case XEN_DOMCTL_gethtab:
                ret = xencomm_create(
                        xen_guest_handle(kern_op.u.getmemlist.buffer),
                        kern_op.u.getmemlist.max_pfns * sizeof(unsigned long),
BTW: since we are trying to stick with Xen names  
"XEN_DOMCTL_getshadowlist" might be better, but at this point it is a  
name and can be debated later.
-JX
_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ppc-devel
 |