diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-05-23 11:42:08 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-05-23 11:42:08 -0400 |
commit | f4b10bc60a310916bab5413f821b99ef845cac17 (patch) | |
tree | 904532e8cd93b88261f21427c4ec4917d4b3e79d /Documentation/virtual/kvm | |
parent | 53ee7569ce8beb3fd3fc0817116c29298d72353f (diff) | |
parent | c8cfbb555eb3632bf3dcbe1a591c1f4d0c28681c (diff) |
Merge branch 'kvm-updates/2.6.40' of git://git.kernel.org/pub/scm/virt/kvm/kvm
* 'kvm-updates/2.6.40' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (131 commits)
KVM: MMU: Use ptep_user for cmpxchg_gpte()
KVM: Fix kvm mmu_notifier initialization order
KVM: Add documentation for KVM_CAP_NR_VCPUS
KVM: make guest mode entry to be rcu quiescent state
KVM: x86 emulator: Make jmp far emulation into a separate function
KVM: x86 emulator: Rename emulate_grpX() to em_grpX()
KVM: x86 emulator: Remove unused arg from emulate_pop()
KVM: x86 emulator: Remove unused arg from writeback()
KVM: x86 emulator: Remove unused arg from read_descriptor()
KVM: x86 emulator: Remove unused arg from seg_override()
KVM: Validate userspace_addr of memslot when registered
KVM: MMU: Clean up gpte reading with copy_from_user()
KVM: PPC: booke: add sregs support
KVM: PPC: booke: save/restore VRSAVE (a.k.a. USPRG0)
KVM: PPC: use ticks, not usecs, for exit timing
KVM: PPC: fix exit accounting for SPRs, tlbwe, tlbsx
KVM: PPC: e500: emulate SVR
KVM: VMX: Cache vmcs segment fields
KVM: x86 emulator: consolidate segment accessors
KVM: VMX: Avoid reading %rip unnecessarily when handling exceptions
...
Diffstat (limited to 'Documentation/virtual/kvm')
-rw-r--r-- | Documentation/virtual/kvm/api.txt | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt index 9bef4e4cec50..42542eb802ca 100644 --- a/Documentation/virtual/kvm/api.txt +++ b/Documentation/virtual/kvm/api.txt | |||
@@ -175,7 +175,10 @@ Parameters: vcpu id (apic id on x86) | |||
175 | Returns: vcpu fd on success, -1 on error | 175 | Returns: vcpu fd on success, -1 on error |
176 | 176 | ||
177 | This API adds a vcpu to a virtual machine. The vcpu id is a small integer | 177 | This API adds a vcpu to a virtual machine. The vcpu id is a small integer |
178 | in the range [0, max_vcpus). | 178 | in the range [0, max_vcpus). You can use KVM_CAP_NR_VCPUS of the |
179 | KVM_CHECK_EXTENSION ioctl() to determine the value for max_vcpus at run-time. | ||
180 | If the KVM_CAP_NR_VCPUS does not exist, you should assume that max_vcpus is 4 | ||
181 | cpus max. | ||
179 | 182 | ||
180 | 4.8 KVM_GET_DIRTY_LOG (vm ioctl) | 183 | 4.8 KVM_GET_DIRTY_LOG (vm ioctl) |
181 | 184 | ||
@@ -261,7 +264,7 @@ See KVM_GET_REGS for the data structure. | |||
261 | 4.13 KVM_GET_SREGS | 264 | 4.13 KVM_GET_SREGS |
262 | 265 | ||
263 | Capability: basic | 266 | Capability: basic |
264 | Architectures: x86 | 267 | Architectures: x86, ppc |
265 | Type: vcpu ioctl | 268 | Type: vcpu ioctl |
266 | Parameters: struct kvm_sregs (out) | 269 | Parameters: struct kvm_sregs (out) |
267 | Returns: 0 on success, -1 on error | 270 | Returns: 0 on success, -1 on error |
@@ -279,6 +282,8 @@ struct kvm_sregs { | |||
279 | __u64 interrupt_bitmap[(KVM_NR_INTERRUPTS + 63) / 64]; | 282 | __u64 interrupt_bitmap[(KVM_NR_INTERRUPTS + 63) / 64]; |
280 | }; | 283 | }; |
281 | 284 | ||
285 | /* ppc -- see arch/powerpc/include/asm/kvm.h */ | ||
286 | |||
282 | interrupt_bitmap is a bitmap of pending external interrupts. At most | 287 | interrupt_bitmap is a bitmap of pending external interrupts. At most |
283 | one bit may be set. This interrupt has been acknowledged by the APIC | 288 | one bit may be set. This interrupt has been acknowledged by the APIC |
284 | but not yet injected into the cpu core. | 289 | but not yet injected into the cpu core. |
@@ -286,7 +291,7 @@ but not yet injected into the cpu core. | |||
286 | 4.14 KVM_SET_SREGS | 291 | 4.14 KVM_SET_SREGS |
287 | 292 | ||
288 | Capability: basic | 293 | Capability: basic |
289 | Architectures: x86 | 294 | Architectures: x86, ppc |
290 | Type: vcpu ioctl | 295 | Type: vcpu ioctl |
291 | Parameters: struct kvm_sregs (in) | 296 | Parameters: struct kvm_sregs (in) |
292 | Returns: 0 on success, -1 on error | 297 | Returns: 0 on success, -1 on error |
@@ -1263,6 +1268,29 @@ struct kvm_assigned_msix_entry { | |||
1263 | __u16 padding[3]; | 1268 | __u16 padding[3]; |
1264 | }; | 1269 | }; |
1265 | 1270 | ||
1271 | 4.54 KVM_SET_TSC_KHZ | ||
1272 | |||
1273 | Capability: KVM_CAP_TSC_CONTROL | ||
1274 | Architectures: x86 | ||
1275 | Type: vcpu ioctl | ||
1276 | Parameters: virtual tsc_khz | ||
1277 | Returns: 0 on success, -1 on error | ||
1278 | |||
1279 | Specifies the tsc frequency for the virtual machine. The unit of the | ||
1280 | frequency is KHz. | ||
1281 | |||
1282 | 4.55 KVM_GET_TSC_KHZ | ||
1283 | |||
1284 | Capability: KVM_CAP_GET_TSC_KHZ | ||
1285 | Architectures: x86 | ||
1286 | Type: vcpu ioctl | ||
1287 | Parameters: none | ||
1288 | Returns: virtual tsc-khz on success, negative value on error | ||
1289 | |||
1290 | Returns the tsc frequency of the guest. The unit of the return value is | ||
1291 | KHz. If the host has unstable tsc this ioctl returns -EIO instead as an | ||
1292 | error. | ||
1293 | |||
1266 | 5. The kvm_run structure | 1294 | 5. The kvm_run structure |
1267 | 1295 | ||
1268 | Application code obtains a pointer to the kvm_run structure by | 1296 | Application code obtains a pointer to the kvm_run structure by |