aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2010-07-29 08:48:08 -0400
committerAvi Kivity <avi@redhat.com>2010-10-24 04:50:57 -0400
commit15711e9c927bfc08e66791cbf0ca7887c0880768 (patch)
tree0b44274b4592b298177122178e83927d45919a19 /Documentation
parentd7d3c2ea99c4845611997cf728af88c4c232e908 (diff)
KVM: PPC: Add get_pvinfo interface to query hypercall instructions
We need to tell the guest the opcodes that make up a hypercall through interfaces that are controlled by userspace. So we need to add a call for userspace to allow it to query those opcodes so it can pass them on. This is required because the hypercall opcodes can change based on the hypervisor conditions. If we're running in hardware accelerated hypervisor mode, a hypercall looks different from when we're running without hardware acceleration. Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/kvm/api.txt23
1 files changed, 23 insertions, 0 deletions
diff --git a/Documentation/kvm/api.txt b/Documentation/kvm/api.txt
index 5f5b64982b1a..44d9893f9db1 100644
--- a/Documentation/kvm/api.txt
+++ b/Documentation/kvm/api.txt
@@ -1032,6 +1032,29 @@ are defined as follows:
1032 eax, ebx, ecx, edx: the values returned by the cpuid instruction for 1032 eax, ebx, ecx, edx: the values returned by the cpuid instruction for
1033 this function/index combination 1033 this function/index combination
1034 1034
10354.46 KVM_PPC_GET_PVINFO
1036
1037Capability: KVM_CAP_PPC_GET_PVINFO
1038Architectures: ppc
1039Type: vm ioctl
1040Parameters: struct kvm_ppc_pvinfo (out)
1041Returns: 0 on success, !0 on error
1042
1043struct kvm_ppc_pvinfo {
1044 __u32 flags;
1045 __u32 hcall[4];
1046 __u8 pad[108];
1047};
1048
1049This ioctl fetches PV specific information that need to be passed to the guest
1050using the device tree or other means from vm context.
1051
1052For now the only implemented piece of information distributed here is an array
1053of 4 instructions that make up a hypercall.
1054
1055If any additional field gets added to this structure later on, a bit for that
1056additional piece of information will be set in the flags bitmap.
1057
10355. The kvm_run structure 10585. The kvm_run structure
1036 1059
1037Application code obtains a pointer to the kvm_run structure by 1060Application code obtains a pointer to the kvm_run structure by