On 09/11/14 19:16, Amaro, Emmanuel wrote:
Hello,
I am trying to pass a pointer to an hyper call in the simplest possible way, set it’s value, an return it to the guest.
I have tried 2 different ways:
- Directly with simple pointers (I read somewhere this would work on x86), but the pointer address is set to 0x0000deadbeef, so dereferencing it causes a panic.
- With XEN_GUEST_HANDLE:
long do_dummy(XEN_GUEST_HANDLE(uint64_t) ptr)
It looks like you have introduced a new hypercall called dummy.
I presume from this code that you have filled in a new handler in the hypercall_table, but have you set the expected number of args in the hypercall_args_table?
The default number of args is 0, which cases a debug Xen to deliberately clobber all the registers to 0xdeadbeef
~Andrew