From mboxrd@z Thu Jan 1 00:00:00 1970 From: Raghavendra K T Subject: [PATCH 2/3] Documentation/ppc: Add ppc hypercall documentation Date: Tue, 07 Aug 2012 13:10:26 +0530 Message-ID: <20120807074026.20169.93816.sendpatchset@codeblue.in.ibm.com> References: <20120807073946.20169.72958.sendpatchset@codeblue.in.ibm.com> Cc: Alexander Graf , Randy Dunlap , "H. Peter Anvin" , KVM , Raghavendra K T , Avi Kivity , Gleb Natapov , Ingo Molnar , Marcelo Tosatti , Jan Kiszka , Thomas Gleixner , X86 To: Rob Landley , linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org Return-path: In-Reply-To: <20120807073946.20169.72958.sendpatchset@codeblue.in.ibm.com> Sender: linux-doc-owner@vger.kernel.org List-Id: kvm.vger.kernel.org From: Alexander Graf Signed-off-by: Alexander Graf Signed-off-by: Raghavendra K T --- Documentation/virtual/kvm/ppc-pv.txt | 22 ++++++++++++++++++++++ 1 files changed, 22 insertions(+), 0 deletions(-) diff --git a/Documentation/virtual/kvm/ppc-pv.txt b/Documentation/virtual/kvm/ppc-pv.txt index 4911cf9..4cd076f 100644 --- a/Documentation/virtual/kvm/ppc-pv.txt +++ b/Documentation/virtual/kvm/ppc-pv.txt @@ -174,3 +174,25 @@ following: That way we can inject an arbitrary amount of code as replacement for a single instruction. This allows us to check for pending interrupts when setting EE=1 for example. + +Hypercall ABIs in KVM on PowerPC +================================= +1) KVM hypercalls (ePAPR) + +These are ePAPR compliant hypercall implementation (mentioned above). Even +generic hypercalls are implemented here, like the ePAPR idle hcall. These are +available on all targets. + +2) PAPR hypercalls + +PAPR hypercalls are needed to run server PowerPC PAPR guests (-M pseries in QEMU). +These are the same hypercalls that pHyp, the POWER hypervisor implements. Some of +them are handled in the kernel, some are handled in user space. This is only +available on book3s_64. + +3) OSI hypercalls + +Mac-on-Linux is another user of KVM on PowerPC, which has its own hypercall (long +before KVM). This is supported to maintain compatibility. All these hypercalls get +forwarded to user space. This is only useful on book3s_32, but can be used with +book3s_64 as well.