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

[Xen-ia64-devel] Parameters to hypercalls



I want to pass a parameter with the evtchn_op hypercall, which is a pointer, 
*op. How do I do this? Can I just load it in a register, say r3, when issuing 
the hypercall and then store from r3 in the hypervisor, like this:

xenlinux:
        /* load pointer to r3 */
        asm volatile("ld8 r3=%0;"
                :: "m" (op)
                : "r3");

        /* hypercall */
        asm volatile("mov r2=%0; break %1;"
                :: "i" (HYPERCALL_EVTCHN_OP), "i" (BREAKIMM)
                : "r2", "r8", "memory");                        

hypervisor:
        /* get pointer from r3 */
        asm volatile("st8 %0=r3;"
                : "=m" (op)
                :: "r3");

This doesn't work, why?

Thanks,
Håvard

_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel


 


Rackspace

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