Xen Project Q&A Forum: First Line Help for Simple Questions

This is your chance to ask questions and provide answers about basic use of the Xen Project software. For debugging problems and for more complex issues, consider using the xen-users mailing list instead. You can find information about xen-users under "HELP | Mailing Lists" in the navigation bar above.


Help! About do_memory_op(), About memory_exchange()

posted in Hypervisor
Friday, August 01 2014, 05:11 AM
In Xen source about Hypercall, there is a function called do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE(void) arg). What does 'XEN_GUEST_HANDLE‘ mean? I search the source code and only find the macro. I know it is a pointer to a structure containing an operation. But how does it get its actual parameters?
Also, in 'do_memory_op()' there is a function called memory_exchange(guest_handle_cast(arg, xen_memory_chang_t)). What does 'guest_handle_cast' mean?
In a word, how does 'memory_exchange' get the actual memory address? Or how does struct 'xen_memory_exchange_t' get assigned?
Thank you !!!
Responses (1)
  • Accepted Answer

    Friday, August 01 2014, 05:51 PM - #permalink

    For queries like this, you'll do best posting to the xen-devel list. That mailing list is populated by the Xen Project developers, who are the folks you'll need to answer this question.

    This Q&A area is mostly for straightforward usage issues. Posting to xen-devel will get your question in front of the right audience.

    The information about using the mailing list can be found here:


    Don't forget that you don't actually have to join the list to ask questions. You can simply ask the question and wait for replies. Or just join the list if you expect to use it for other matters.

    The reply is currently minimized Show
Your Reply