Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6024f1a4 authored by Alexander Graf's avatar Alexander Graf Committed by Marcelo Tosatti
Browse files

KVM: Add ppc hypercall documentation

parent e423ca15
Loading
Loading
Loading
Loading
+22 −0
Original line number Original line Diff line number Diff line
@@ -174,3 +174,25 @@ following:
That way we can inject an arbitrary amount of code as replacement for a single
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
instruction. This allows us to check for pending interrupts when setting EE=1
for example.
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.