aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/virtual/kvm
diff options
context:
space:
mode:
authorJan Kiszka <jan.kiszka@siemens.com>2012-03-29 15:14:12 -0400
committerAvi Kivity <avi@redhat.com>2012-04-24 08:59:47 -0400
commit07975ad3b30579ca27d880491ad992326b930c63 (patch)
treefea166a02c387949a09a948a51781074bdc9ed68 /Documentation/virtual/kvm
parent1f15d10984c854e077da5aa1a23f901496b49773 (diff)
KVM: Introduce direct MSI message injection for in-kernel irqchips
Currently, MSI messages can only be injected to in-kernel irqchips by defining a corresponding IRQ route for each message. This is not only unhandy if the MSI messages are generated "on the fly" by user space, IRQ routes are a limited resource that user space has to manage carefully. By providing a direct injection path, we can both avoid using up limited resources and simplify the necessary steps for user land. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'Documentation/virtual/kvm')
-rw-r--r--Documentation/virtual/kvm/api.txt21
1 files changed, 21 insertions, 0 deletions
diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt
index 81ff39f6248..a1552210b16 100644
--- a/Documentation/virtual/kvm/api.txt
+++ b/Documentation/virtual/kvm/api.txt
@@ -1689,6 +1689,27 @@ where the guest will clear the flag: when the soft lockup watchdog timer resets
1689itself or when a soft lockup is detected. This ioctl can be called any time 1689itself or when a soft lockup is detected. This ioctl can be called any time
1690after pausing the vcpu, but before it is resumed. 1690after pausing the vcpu, but before it is resumed.
1691 1691
16924.71 KVM_SIGNAL_MSI
1693
1694Capability: KVM_CAP_SIGNAL_MSI
1695Architectures: x86
1696Type: vm ioctl
1697Parameters: struct kvm_msi (in)
1698Returns: >0 on delivery, 0 if guest blocked the MSI, and -1 on error
1699
1700Directly inject a MSI message. Only valid with in-kernel irqchip that handles
1701MSI messages.
1702
1703struct kvm_msi {
1704 __u32 address_lo;
1705 __u32 address_hi;
1706 __u32 data;
1707 __u32 flags;
1708 __u8 pad[16];
1709};
1710
1711No flags are defined so far. The corresponding field must be 0.
1712
16925. The kvm_run structure 17135. The kvm_run structure
1693 1714
1694Application code obtains a pointer to the kvm_run structure by 1715Application code obtains a pointer to the kvm_run structure by