[PATCH 2/4] kvmppc: add hypercall infrastructure - guest part
Christian Ehrhardt
ehrhardt at linux.vnet.ibm.com
Wed Aug 20 22:41:25 EST 2008
Arnd Bergmann wrote:
> 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 <><
>
Some documentation is here
http://kvm.qumranet.com/kvmwiki/PowerPC_Hypercall_ABI
As far as I remember it was oriented on system calls, from my point we
can still change it atm.
When we discussed about that I was too new to the power architecture to
really get all the details, but I assume Hollis and Jimi can answer you
that.
--
Grüsse / regards,
Christian Ehrhardt
IBM Linux Technology Center, Open Virtualization
More information about the Linuxppc-dev
mailing list