Hi Ian,

On 26/03/2015 10:54, Ian Campbell wrote:
The 64-bit ABI is different to 32-bit:

  - uses x16 as the op register rather than r12.
  - arguments in x0..x5 and not r0..r5. Using rN here potentially
    truncates.
  - return value goes in x0, not r0.

Hypercalls can only be made directly from kernel space, so checking
the domain's size is sufficient.

Spotted due to spurious -EFAULT when destroying a domain, due to the
hypercall's pointer argument being truncated. I'm unclear why I am
only seeing this now.

Signed-off-by: Ian Campbell <ian.campb...@citrix.com>
Reviewed-by: Julien Grall <julien.gr...@linaro.org>
---
I imagine this needs backporting everywhere...

v2: Pull regs->pc update out of the conditional blocks, no need to
mess around with thumb.

FWIW, with this change I confirm my Reviewed-by.

Regards,

--
Julien Grall

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

Reply via email to