mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 12:11:40 +00:00
KVM: Update documentation to include detailed ENABLE_CAP description
We have an ioctl that enables capabilities individually, but no description on what exactly happens when we enable a capability using this ioctl. This patch adds documentation for capability enabling in a new section of the API documentation. Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
parent
19ccb76a19
commit
821246a5a5
@ -1653,3 +1653,50 @@ developer registration required to access it).
|
||||
char padding[256];
|
||||
};
|
||||
};
|
||||
|
||||
6. Capabilities that can be enabled
|
||||
|
||||
There are certain capabilities that change the behavior of the virtual CPU when
|
||||
enabled. To enable them, please see section 4.37. Below you can find a list of
|
||||
capabilities and what their effect on the vCPU is when enabling them.
|
||||
|
||||
The following information is provided along with the description:
|
||||
|
||||
Architectures: which instruction set architectures provide this ioctl.
|
||||
x86 includes both i386 and x86_64.
|
||||
|
||||
Parameters: what parameters are accepted by the capability.
|
||||
|
||||
Returns: the return value. General error numbers (EBADF, ENOMEM, EINVAL)
|
||||
are not detailed, but errors with specific meanings are.
|
||||
|
||||
6.1 KVM_CAP_PPC_OSI
|
||||
|
||||
Architectures: ppc
|
||||
Parameters: none
|
||||
Returns: 0 on success; -1 on error
|
||||
|
||||
This capability enables interception of OSI hypercalls that otherwise would
|
||||
be treated as normal system calls to be injected into the guest. OSI hypercalls
|
||||
were invented by Mac-on-Linux to have a standardized communication mechanism
|
||||
between the guest and the host.
|
||||
|
||||
When this capability is enabled, KVM_EXIT_OSI can occur.
|
||||
|
||||
6.2 KVM_CAP_PPC_PAPR
|
||||
|
||||
Architectures: ppc
|
||||
Parameters: none
|
||||
Returns: 0 on success; -1 on error
|
||||
|
||||
This capability enables interception of PAPR hypercalls. PAPR hypercalls are
|
||||
done using the hypercall instruction "sc 1".
|
||||
|
||||
It also sets the guest privilege level to "supervisor" mode. Usually the guest
|
||||
runs in "hypervisor" privilege mode with a few missing features.
|
||||
|
||||
In addition to the above, it changes the semantics of SDR1. In this mode, the
|
||||
HTAB address part of SDR1 contains an HVA instead of a GPA, as PAPR keeps the
|
||||
HTAB invisible to the guest.
|
||||
|
||||
When this capability is enabled, KVM_EXIT_PAPR_HCALL can occur.
|
||||
|
Loading…
Reference in New Issue
Block a user