mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
KVM: Add ppc hypercall documentation
Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
This commit is contained in:
parent
e423ca155d
commit
6024f1a4dd
1 changed files with 22 additions and 0 deletions
|
@ -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.
|
||||||
|
|
Loading…
Add table
Reference in a new issue