diff options
author | Christoffer Dall <christoffer.dall@linaro.org> | 2013-09-23 17:55:56 -0400 |
---|---|---|
committer | Christoffer Dall <christoffer.dall@linaro.org> | 2013-12-21 13:01:22 -0500 |
commit | ce01e4e8874d410738f4b4733b26642d6611a331 (patch) | |
tree | f58e80efb4fc588858f4c16e48dec45659cb5048 /Documentation/virtual | |
parent | 7330672befe6269e575f79b924a7068b26c144b4 (diff) |
KVM: arm-vgic: Set base addr through device API
Support setting the distributor and cpu interface base addresses in the
VM physical address space through the KVM_{SET,GET}_DEVICE_ATTR API
in addition to the ARM specific API.
This has the added benefit of being able to share more code in user
space and do things in a uniform manner.
Also deprecate the older API at the same time, but backwards
compatibility will be maintained.
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Diffstat (limited to 'Documentation/virtual')
-rw-r--r-- | Documentation/virtual/kvm/api.txt | 7 | ||||
-rw-r--r-- | Documentation/virtual/kvm/devices/arm-vgic.txt | 11 |
2 files changed, 17 insertions, 1 deletions
diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt index a30035dd4c26..867112f1968d 100644 --- a/Documentation/virtual/kvm/api.txt +++ b/Documentation/virtual/kvm/api.txt | |||
@@ -2391,7 +2391,8 @@ struct kvm_reg_list { | |||
2391 | This ioctl returns the guest registers that are supported for the | 2391 | This ioctl returns the guest registers that are supported for the |
2392 | KVM_GET_ONE_REG/KVM_SET_ONE_REG calls. | 2392 | KVM_GET_ONE_REG/KVM_SET_ONE_REG calls. |
2393 | 2393 | ||
2394 | 4.85 KVM_ARM_SET_DEVICE_ADDR | 2394 | |
2395 | 4.85 KVM_ARM_SET_DEVICE_ADDR (deprecated) | ||
2395 | 2396 | ||
2396 | Capability: KVM_CAP_ARM_SET_DEVICE_ADDR | 2397 | Capability: KVM_CAP_ARM_SET_DEVICE_ADDR |
2397 | Architectures: arm, arm64 | 2398 | Architectures: arm, arm64 |
@@ -2429,6 +2430,10 @@ must be called after calling KVM_CREATE_IRQCHIP, but before calling | |||
2429 | KVM_RUN on any of the VCPUs. Calling this ioctl twice for any of the | 2430 | KVM_RUN on any of the VCPUs. Calling this ioctl twice for any of the |
2430 | base addresses will return -EEXIST. | 2431 | base addresses will return -EEXIST. |
2431 | 2432 | ||
2433 | Note, this IOCTL is deprecated and the more flexible SET/GET_DEVICE_ATTR API | ||
2434 | should be used instead. | ||
2435 | |||
2436 | |||
2432 | 4.86 KVM_PPC_RTAS_DEFINE_TOKEN | 2437 | 4.86 KVM_PPC_RTAS_DEFINE_TOKEN |
2433 | 2438 | ||
2434 | Capability: KVM_CAP_PPC_RTAS | 2439 | Capability: KVM_CAP_PPC_RTAS |
diff --git a/Documentation/virtual/kvm/devices/arm-vgic.txt b/Documentation/virtual/kvm/devices/arm-vgic.txt index 38f27f709a99..c9febb2a0c3e 100644 --- a/Documentation/virtual/kvm/devices/arm-vgic.txt +++ b/Documentation/virtual/kvm/devices/arm-vgic.txt | |||
@@ -8,3 +8,14 @@ Only one VGIC instance may be instantiated through either this API or the | |||
8 | legacy KVM_CREATE_IRQCHIP api. The created VGIC will act as the VM interrupt | 8 | legacy KVM_CREATE_IRQCHIP api. The created VGIC will act as the VM interrupt |
9 | controller, requiring emulated user-space devices to inject interrupts to the | 9 | controller, requiring emulated user-space devices to inject interrupts to the |
10 | VGIC instead of directly to CPUs. | 10 | VGIC instead of directly to CPUs. |
11 | |||
12 | Groups: | ||
13 | KVM_DEV_ARM_VGIC_GRP_ADDR | ||
14 | Attributes: | ||
15 | KVM_VGIC_V2_ADDR_TYPE_DIST (rw, 64-bit) | ||
16 | Base address in the guest physical address space of the GIC distributor | ||
17 | register mappings. | ||
18 | |||
19 | KVM_VGIC_V2_ADDR_TYPE_CPU (rw, 64-bit) | ||
20 | Base address in the guest physical address space of the GIC virtual cpu | ||
21 | interface register mappings. | ||