diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-02-13 12:55:09 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-02-13 12:55:09 -0500 |
commit | b9085bcbf5f43adf60533f9b635b2e7faeed0fe9 (patch) | |
tree | e397abf5682a45c096e75b3d0fa99c8e228425fc /arch/x86/include/uapi | |
parent | c7d7b98671552abade78834c522b7308bda73c0d (diff) | |
parent | 6557bada461afeaa920a189fae2cff7c8fdce39f (diff) |
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
Pull KVM update from Paolo Bonzini:
"Fairly small update, but there are some interesting new features.
Common:
Optional support for adding a small amount of polling on each HLT
instruction executed in the guest (or equivalent for other
architectures). This can improve latency up to 50% on some
scenarios (e.g. O_DSYNC writes or TCP_RR netperf tests). This
also has to be enabled manually for now, but the plan is to
auto-tune this in the future.
ARM/ARM64:
The highlights are support for GICv3 emulation and dirty page
tracking
s390:
Several optimizations and bugfixes. Also a first: a feature
exposed by KVM (UUID and long guest name in /proc/sysinfo) before
it is available in IBM's hypervisor! :)
MIPS:
Bugfixes.
x86:
Support for PML (page modification logging, a new feature in
Broadwell Xeons that speeds up dirty page tracking), nested
virtualization improvements (nested APICv---a nice optimization),
usual round of emulation fixes.
There is also a new option to reduce latency of the TSC deadline
timer in the guest; this needs to be tuned manually.
Some commits are common between this pull and Catalin's; I see you
have already included his tree.
Powerpc:
Nothing yet.
The KVM/PPC changes will come in through the PPC maintainers,
because I haven't received them yet and I might end up being
offline for some part of next week"
* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (130 commits)
KVM: ia64: drop kvm.h from installed user headers
KVM: x86: fix build with !CONFIG_SMP
KVM: x86: emulate: correct page fault error code for NoWrite instructions
KVM: Disable compat ioctl for s390
KVM: s390: add cpu model support
KVM: s390: use facilities and cpu_id per KVM
KVM: s390/CPACF: Choose crypto control block format
s390/kernel: Update /proc/sysinfo file with Extended Name and UUID
KVM: s390: reenable LPP facility
KVM: s390: floating irqs: fix user triggerable endless loop
kvm: add halt_poll_ns module parameter
kvm: remove KVM_MMIO_SIZE
KVM: MIPS: Don't leak FPU/DSP to guest
KVM: MIPS: Disable HTW while in guest
KVM: nVMX: Enable nested posted interrupt processing
KVM: nVMX: Enable nested virtual interrupt delivery
KVM: nVMX: Enable nested apic register virtualization
KVM: nVMX: Make nested control MSRs per-cpu
KVM: nVMX: Enable nested virtualize x2apic mode
KVM: nVMX: Prepare for using hardware MSR bitmap
...
Diffstat (limited to 'arch/x86/include/uapi')
-rw-r--r-- | arch/x86/include/uapi/asm/msr-index.h | 3 | ||||
-rw-r--r-- | arch/x86/include/uapi/asm/vmx.h | 6 |
2 files changed, 9 insertions, 0 deletions
diff --git a/arch/x86/include/uapi/asm/msr-index.h b/arch/x86/include/uapi/asm/msr-index.h index 536240fa9a95..3ce079136c11 100644 --- a/arch/x86/include/uapi/asm/msr-index.h +++ b/arch/x86/include/uapi/asm/msr-index.h | |||
@@ -364,6 +364,9 @@ | |||
364 | #define MSR_IA32_UCODE_WRITE 0x00000079 | 364 | #define MSR_IA32_UCODE_WRITE 0x00000079 |
365 | #define MSR_IA32_UCODE_REV 0x0000008b | 365 | #define MSR_IA32_UCODE_REV 0x0000008b |
366 | 366 | ||
367 | #define MSR_IA32_SMM_MONITOR_CTL 0x0000009b | ||
368 | #define MSR_IA32_SMBASE 0x0000009e | ||
369 | |||
367 | #define MSR_IA32_PERF_STATUS 0x00000198 | 370 | #define MSR_IA32_PERF_STATUS 0x00000198 |
368 | #define MSR_IA32_PERF_CTL 0x00000199 | 371 | #define MSR_IA32_PERF_CTL 0x00000199 |
369 | #define INTEL_PERF_CTL_MASK 0xffff | 372 | #define INTEL_PERF_CTL_MASK 0xffff |
diff --git a/arch/x86/include/uapi/asm/vmx.h b/arch/x86/include/uapi/asm/vmx.h index b813bf9da1e2..c5f1a1deb91a 100644 --- a/arch/x86/include/uapi/asm/vmx.h +++ b/arch/x86/include/uapi/asm/vmx.h | |||
@@ -56,6 +56,7 @@ | |||
56 | #define EXIT_REASON_MSR_READ 31 | 56 | #define EXIT_REASON_MSR_READ 31 |
57 | #define EXIT_REASON_MSR_WRITE 32 | 57 | #define EXIT_REASON_MSR_WRITE 32 |
58 | #define EXIT_REASON_INVALID_STATE 33 | 58 | #define EXIT_REASON_INVALID_STATE 33 |
59 | #define EXIT_REASON_MSR_LOAD_FAIL 34 | ||
59 | #define EXIT_REASON_MWAIT_INSTRUCTION 36 | 60 | #define EXIT_REASON_MWAIT_INSTRUCTION 36 |
60 | #define EXIT_REASON_MONITOR_INSTRUCTION 39 | 61 | #define EXIT_REASON_MONITOR_INSTRUCTION 39 |
61 | #define EXIT_REASON_PAUSE_INSTRUCTION 40 | 62 | #define EXIT_REASON_PAUSE_INSTRUCTION 40 |
@@ -72,6 +73,7 @@ | |||
72 | #define EXIT_REASON_XSETBV 55 | 73 | #define EXIT_REASON_XSETBV 55 |
73 | #define EXIT_REASON_APIC_WRITE 56 | 74 | #define EXIT_REASON_APIC_WRITE 56 |
74 | #define EXIT_REASON_INVPCID 58 | 75 | #define EXIT_REASON_INVPCID 58 |
76 | #define EXIT_REASON_PML_FULL 62 | ||
75 | #define EXIT_REASON_XSAVES 63 | 77 | #define EXIT_REASON_XSAVES 63 |
76 | #define EXIT_REASON_XRSTORS 64 | 78 | #define EXIT_REASON_XRSTORS 64 |
77 | 79 | ||
@@ -116,10 +118,14 @@ | |||
116 | { EXIT_REASON_APIC_WRITE, "APIC_WRITE" }, \ | 118 | { EXIT_REASON_APIC_WRITE, "APIC_WRITE" }, \ |
117 | { EXIT_REASON_EOI_INDUCED, "EOI_INDUCED" }, \ | 119 | { EXIT_REASON_EOI_INDUCED, "EOI_INDUCED" }, \ |
118 | { EXIT_REASON_INVALID_STATE, "INVALID_STATE" }, \ | 120 | { EXIT_REASON_INVALID_STATE, "INVALID_STATE" }, \ |
121 | { EXIT_REASON_MSR_LOAD_FAIL, "MSR_LOAD_FAIL" }, \ | ||
119 | { EXIT_REASON_INVD, "INVD" }, \ | 122 | { EXIT_REASON_INVD, "INVD" }, \ |
120 | { EXIT_REASON_INVVPID, "INVVPID" }, \ | 123 | { EXIT_REASON_INVVPID, "INVVPID" }, \ |
121 | { EXIT_REASON_INVPCID, "INVPCID" }, \ | 124 | { EXIT_REASON_INVPCID, "INVPCID" }, \ |
122 | { EXIT_REASON_XSAVES, "XSAVES" }, \ | 125 | { EXIT_REASON_XSAVES, "XSAVES" }, \ |
123 | { EXIT_REASON_XRSTORS, "XRSTORS" } | 126 | { EXIT_REASON_XRSTORS, "XRSTORS" } |
124 | 127 | ||
128 | #define VMX_ABORT_SAVE_GUEST_MSR_FAIL 1 | ||
129 | #define VMX_ABORT_LOAD_HOST_MSR_FAIL 4 | ||
130 | |||
125 | #endif /* _UAPIVMX_H */ | 131 | #endif /* _UAPIVMX_H */ |