Arnd Bergmann wrote:
On Tuesday 19 August 2008, ehrhardt@xxxxxxxxxxxxxxxxxx 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
--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html