]> www.infradead.org Git - users/jedix/linux-maple.git/commit
xen/arm: hypercalls
authorStefano Stabellini <stefano.stabellini@eu.citrix.com>
Fri, 14 Sep 2012 13:33:21 +0000 (13:33 +0000)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Tue, 4 Dec 2012 17:32:59 +0000 (12:32 -0500)
commit69a038784054dc285d660f5c792723de580f327a
treefa5bb9f3f587a0a87a682b5528e7a520bb7c45eb
parentf6e30c826f60a3dce65509439292ccde1951c1f7
xen/arm: hypercalls

Use r12 to pass the hypercall number to the hypervisor.

We need a register to pass the hypercall number because we might not
know it at compile time and HVC only takes an immediate argument.

Among the available registers r12 seems to be the best choice because it
is defined as "intra-procedure call scratch register".

Use the ISS to pass an hypervisor specific tag.

Changes in v2:
- define an HYPERCALL macro for 5 arguments hypercall wrappers, even if
at the moment is unused;
- use ldm instead of pop;
- fix up comments.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
(cherry picked from commit aa2466d21bd9e872690693d56feb946781443f28)
arch/arm/include/asm/xen/hypercall.h [new file with mode: 0644]
arch/arm/xen/Makefile
arch/arm/xen/hypercall.S [new file with mode: 0644]