Arnd Bergmann wrote:
On Tuesday 19 August 2008, [EMAIL PROTECTED] 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

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to