diff options
Diffstat (limited to 'Documentation/virtual')
-rw-r--r-- | Documentation/virtual/kvm/api.txt | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt index e2a4b5287361..e1d94bf4056e 100644 --- a/Documentation/virtual/kvm/api.txt +++ b/Documentation/virtual/kvm/api.txt | |||
@@ -1466,6 +1466,31 @@ is supported; 2 if the processor requires all virtual machines to have | |||
1466 | an RMA, or 1 if the processor can use an RMA but doesn't require it, | 1466 | an RMA, or 1 if the processor can use an RMA but doesn't require it, |
1467 | because it supports the Virtual RMA (VRMA) facility. | 1467 | because it supports the Virtual RMA (VRMA) facility. |
1468 | 1468 | ||
1469 | 4.64 KVM_NMI | ||
1470 | |||
1471 | Capability: KVM_CAP_USER_NMI | ||
1472 | Architectures: x86 | ||
1473 | Type: vcpu ioctl | ||
1474 | Parameters: none | ||
1475 | Returns: 0 on success, -1 on error | ||
1476 | |||
1477 | Queues an NMI on the thread's vcpu. Note this is well defined only | ||
1478 | when KVM_CREATE_IRQCHIP has not been called, since this is an interface | ||
1479 | between the virtual cpu core and virtual local APIC. After KVM_CREATE_IRQCHIP | ||
1480 | has been called, this interface is completely emulated within the kernel. | ||
1481 | |||
1482 | To use this to emulate the LINT1 input with KVM_CREATE_IRQCHIP, use the | ||
1483 | following algorithm: | ||
1484 | |||
1485 | - pause the vpcu | ||
1486 | - read the local APIC's state (KVM_GET_LAPIC) | ||
1487 | - check whether changing LINT1 will queue an NMI (see the LVT entry for LINT1) | ||
1488 | - if so, issue KVM_NMI | ||
1489 | - resume the vcpu | ||
1490 | |||
1491 | Some guests configure the LINT1 NMI input to cause a panic, aiding in | ||
1492 | debugging. | ||
1493 | |||
1469 | 5. The kvm_run structure | 1494 | 5. The kvm_run structure |
1470 | 1495 | ||
1471 | Application code obtains a pointer to the kvm_run structure by | 1496 | Application code obtains a pointer to the kvm_run structure by |