aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/virtual
diff options
context:
space:
mode:
authorEric B Munson <emunson@mgebm.net>2012-03-10 14:37:27 -0500
committerAvi Kivity <avi@redhat.com>2012-04-08 05:49:01 -0400
commit1c0b28c2a46d98cd258d96b8c222144b22876c46 (patch)
tree68c5b4f6a74e3b245dd994752fdc9005075b485c /Documentation/virtual
parent3b5d56b9317fa7b5407dff1aa7b115bf6cdbd494 (diff)
KVM: x86: Add ioctl for KVM_KVMCLOCK_CTRL
Now that we have a flag that will tell the guest it was suspended, create an interface for that communication using a KVM ioctl. Signed-off-by: Eric B Munson <emunson@mgebm.net> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'Documentation/virtual')
-rw-r--r--Documentation/virtual/kvm/api.txt20
-rw-r--r--Documentation/virtual/kvm/msr.txt4
2 files changed, 24 insertions, 0 deletions
diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt
index 6386f8c0482e..81ff39f6248d 100644
--- a/Documentation/virtual/kvm/api.txt
+++ b/Documentation/virtual/kvm/api.txt
@@ -1669,6 +1669,26 @@ at the memory location pointed to by "addr".
1669The list of registers accessible using this interface is identical to the 1669The list of registers accessible using this interface is identical to the
1670list in 4.64. 1670list in 4.64.
1671 1671
16724.70 KVM_KVMCLOCK_CTRL
1673
1674Capability: KVM_CAP_KVMCLOCK_CTRL
1675Architectures: Any that implement pvclocks (currently x86 only)
1676Type: vcpu ioctl
1677Parameters: None
1678Returns: 0 on success, -1 on error
1679
1680This signals to the host kernel that the specified guest is being paused by
1681userspace. The host will set a flag in the pvclock structure that is checked
1682from the soft lockup watchdog. The flag is part of the pvclock structure that
1683is shared between guest and host, specifically the second bit of the flags
1684field of the pvclock_vcpu_time_info structure. It will be set exclusively by
1685the host and read/cleared exclusively by the guest. The guest operation of
1686checking and clearing the flag must an atomic operation so
1687load-link/store-conditional, or equivalent must be used. There are two cases
1688where 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
1690after pausing the vcpu, but before it is resumed.
1691
16725. The kvm_run structure 16925. The kvm_run structure
1673 1693
1674Application code obtains a pointer to the kvm_run structure by 1694Application code obtains a pointer to the kvm_run structure by
diff --git a/Documentation/virtual/kvm/msr.txt b/Documentation/virtual/kvm/msr.txt
index 50317809113d..96b41bd97523 100644
--- a/Documentation/virtual/kvm/msr.txt
+++ b/Documentation/virtual/kvm/msr.txt
@@ -109,6 +109,10 @@ MSR_KVM_SYSTEM_TIME_NEW: 0x4b564d01
109 0 | 24 | multiple cpus are guaranteed to 109 0 | 24 | multiple cpus are guaranteed to
110 | | be monotonic 110 | | be monotonic
111 ------------------------------------------------------------- 111 -------------------------------------------------------------
112 | | guest vcpu has been paused by
113 1 | N/A | the host
114 | | See 4.70 in api.txt
115 -------------------------------------------------------------
112 116
113 Availability of this MSR must be checked via bit 3 in 0x4000001 cpuid 117 Availability of this MSR must be checked via bit 3 in 0x4000001 cpuid
114 leaf prior to usage. 118 leaf prior to usage.