aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/virtual/kvm/api.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/virtual/kvm/api.txt')
-rw-r--r--Documentation/virtual/kvm/api.txt38
1 files changed, 38 insertions, 0 deletions
diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt
index c25439a58274..e0fa0ea2b187 100644
--- a/Documentation/virtual/kvm/api.txt
+++ b/Documentation/virtual/kvm/api.txt
@@ -2210,6 +2210,44 @@ This ioctl returns the guest registers that are supported for the
2210KVM_GET_ONE_REG/KVM_SET_ONE_REG calls. 2210KVM_GET_ONE_REG/KVM_SET_ONE_REG calls.
2211 2211
2212 2212
22134.80 KVM_ARM_SET_DEVICE_ADDR
2214
2215Capability: KVM_CAP_ARM_SET_DEVICE_ADDR
2216Architectures: arm
2217Type: vm ioctl
2218Parameters: struct kvm_arm_device_address (in)
2219Returns: 0 on success, -1 on error
2220Errors:
2221 ENODEV: The device id is unknown
2222 ENXIO: Device not supported on current system
2223 EEXIST: Address already set
2224 E2BIG: Address outside guest physical address space
2225 EBUSY: Address overlaps with other device range
2226
2227struct kvm_arm_device_addr {
2228 __u64 id;
2229 __u64 addr;
2230};
2231
2232Specify a device address in the guest's physical address space where guests
2233can access emulated or directly exposed devices, which the host kernel needs
2234to know about. The id field is an architecture specific identifier for a
2235specific device.
2236
2237ARM divides the id field into two parts, a device id and an address type id
2238specific to the individual device.
2239
2240  bits: | 63 ... 32 | 31 ... 16 | 15 ... 0 |
2241 field: | 0x00000000 | device id | addr type id |
2242
2243ARM currently only require this when using the in-kernel GIC support for the
2244hardware VGIC features, using KVM_ARM_DEVICE_VGIC_V2 as the device id. When
2245setting the base address for the guest's mapping of the VGIC virtual CPU
2246and distributor interface, the ioctl must be called after calling
2247KVM_CREATE_IRQCHIP, but before calling KVM_RUN on any of the VCPUs. Calling
2248this ioctl twice for any of the base addresses will return -EEXIST.
2249
2250
22135. The kvm_run structure 22515. The kvm_run structure
2214------------------------ 2252------------------------
2215 2253