[PATCH 2/4] kvmppc: add hypercall infrastructure - guest part

Arnd Bergmann arnd at arndb.de
Tue Aug 19 21:28:16 EST 2008


On Tuesday 19 August 2008, ehrhardt at linux.vnet.ibm.com wrote:
> +static inline long kvm_hypercall1(unsigned int nr, unsigned long p1)
> +{
> +       register unsigned long hcall asm ("r0") = nr;
> +       register unsigned long arg1 asm ("r3") = p1;
> +       register long ret asm ("r11");
> +
> +       asm volatile(".long %1"
> +                       : "=r"(ret)
> +                       : "i"(KVM_HYPERCALL_BIN), "r"(hcall), "r"(arg1)
> +                       : "r4", "r5", "r6", "r7", "r8",
> +                         "r9", "r10", "r12", "cc");
> +       return ret;
> +}

What is the reasoning for making the calling convention different from
all the existing hcall interfaces here?

pseries uses r3 for the hcall number, lv1 and beat use r11, so using
r0 just for the sake of being different seems counterintuitive.

	Arnd <><


More information about the Linuxppc-dev mailing list