diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-12-26 14:46:28 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-12-26 14:46:28 -0500 |
commit | 42b00f122cfbfed79fc29b0b3610f3abbb1e3864 (patch) | |
tree | c110a18c03e9ada45b6f3593843f0a06b36773dc /drivers/hv | |
parent | 460023a5d1d2aa0f733b6708b2fae5ea9f9dfec0 (diff) | |
parent | a0aea130afebcd091d5396d13f25b9da24c9144a (diff) |
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
Pull KVM updates from Paolo Bonzini:
"ARM:
- selftests improvements
- large PUD support for HugeTLB
- single-stepping fixes
- improved tracing
- various timer and vGIC fixes
x86:
- Processor Tracing virtualization
- STIBP support
- some correctness fixes
- refactorings and splitting of vmx.c
- use the Hyper-V range TLB flush hypercall
- reduce order of vcpu struct
- WBNOINVD support
- do not use -ftrace for __noclone functions
- nested guest support for PAUSE filtering on AMD
- more Hyper-V enlightenments (direct mode for synthetic timers)
PPC:
- nested VFIO
s390:
- bugfixes only this time"
* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (171 commits)
KVM: x86: Add CPUID support for new instruction WBNOINVD
kvm: selftests: ucall: fix exit mmio address guessing
Revert "compiler-gcc: disable -ftracer for __noclone functions"
KVM: VMX: Move VM-Enter + VM-Exit handling to non-inline sub-routines
KVM: VMX: Explicitly reference RCX as the vmx_vcpu pointer in asm blobs
KVM: x86: Use jmp to invoke kvm_spurious_fault() from .fixup
MAINTAINERS: Add arch/x86/kvm sub-directories to existing KVM/x86 entry
KVM/x86: Use SVM assembly instruction mnemonics instead of .byte streams
KVM/MMU: Flush tlb directly in the kvm_zap_gfn_range()
KVM/MMU: Flush tlb directly in kvm_set_pte_rmapp()
KVM/MMU: Move tlb flush in kvm_set_pte_rmapp() to kvm_mmu_notifier_change_pte()
KVM: Make kvm_set_spte_hva() return int
KVM: Replace old tlb flush function with new one to flush a specified range.
KVM/MMU: Add tlb flush with range helper function
KVM/VMX: Add hv tlb range flush support
x86/hyper-v: Add HvFlushGuestAddressList hypercall support
KVM: Add tlb_remote_flush_with_range callback in kvm_x86_ops
KVM: x86: Disable Intel PT when VMXON in L1 guest
KVM: x86: Set intercept for Intel PT MSRs read/write
KVM: x86: Implement Intel PT MSRs read/write emulation
...
Diffstat (limited to 'drivers/hv')
-rw-r--r-- | drivers/hv/hv.c | 2 | ||||
-rw-r--r-- | drivers/hv/hyperv_vmbus.h | 68 |
2 files changed, 1 insertions, 69 deletions
diff --git a/drivers/hv/hv.c b/drivers/hv/hv.c index 332d7c34be5c..11273cd384d6 100644 --- a/drivers/hv/hv.c +++ b/drivers/hv/hv.c | |||
@@ -143,7 +143,7 @@ static int hv_ce_shutdown(struct clock_event_device *evt) | |||
143 | 143 | ||
144 | static int hv_ce_set_oneshot(struct clock_event_device *evt) | 144 | static int hv_ce_set_oneshot(struct clock_event_device *evt) |
145 | { | 145 | { |
146 | union hv_timer_config timer_cfg; | 146 | union hv_stimer_config timer_cfg; |
147 | 147 | ||
148 | timer_cfg.as_uint64 = 0; | 148 | timer_cfg.as_uint64 = 0; |
149 | timer_cfg.enable = 1; | 149 | timer_cfg.enable = 1; |
diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h index 87d3d7da78f8..ea201034b248 100644 --- a/drivers/hv/hyperv_vmbus.h +++ b/drivers/hv/hyperv_vmbus.h | |||
@@ -44,74 +44,6 @@ | |||
44 | */ | 44 | */ |
45 | #define HV_UTIL_NEGO_TIMEOUT 55 | 45 | #define HV_UTIL_NEGO_TIMEOUT 55 |
46 | 46 | ||
47 | /* Define synthetic interrupt controller flag constants. */ | ||
48 | #define HV_EVENT_FLAGS_COUNT (256 * 8) | ||
49 | #define HV_EVENT_FLAGS_LONG_COUNT (256 / sizeof(unsigned long)) | ||
50 | |||
51 | /* | ||
52 | * Timer configuration register. | ||
53 | */ | ||
54 | union hv_timer_config { | ||
55 | u64 as_uint64; | ||
56 | struct { | ||
57 | u64 enable:1; | ||
58 | u64 periodic:1; | ||
59 | u64 lazy:1; | ||
60 | u64 auto_enable:1; | ||
61 | u64 apic_vector:8; | ||
62 | u64 direct_mode:1; | ||
63 | u64 reserved_z0:3; | ||
64 | u64 sintx:4; | ||
65 | u64 reserved_z1:44; | ||
66 | }; | ||
67 | }; | ||
68 | |||
69 | |||
70 | /* Define the synthetic interrupt controller event flags format. */ | ||
71 | union hv_synic_event_flags { | ||
72 | unsigned long flags[HV_EVENT_FLAGS_LONG_COUNT]; | ||
73 | }; | ||
74 | |||
75 | /* Define SynIC control register. */ | ||
76 | union hv_synic_scontrol { | ||
77 | u64 as_uint64; | ||
78 | struct { | ||
79 | u64 enable:1; | ||
80 | u64 reserved:63; | ||
81 | }; | ||
82 | }; | ||
83 | |||
84 | /* Define synthetic interrupt source. */ | ||
85 | union hv_synic_sint { | ||
86 | u64 as_uint64; | ||
87 | struct { | ||
88 | u64 vector:8; | ||
89 | u64 reserved1:8; | ||
90 | u64 masked:1; | ||
91 | u64 auto_eoi:1; | ||
92 | u64 reserved2:46; | ||
93 | }; | ||
94 | }; | ||
95 | |||
96 | /* Define the format of the SIMP register */ | ||
97 | union hv_synic_simp { | ||
98 | u64 as_uint64; | ||
99 | struct { | ||
100 | u64 simp_enabled:1; | ||
101 | u64 preserved:11; | ||
102 | u64 base_simp_gpa:52; | ||
103 | }; | ||
104 | }; | ||
105 | |||
106 | /* Define the format of the SIEFP register */ | ||
107 | union hv_synic_siefp { | ||
108 | u64 as_uint64; | ||
109 | struct { | ||
110 | u64 siefp_enabled:1; | ||
111 | u64 preserved:11; | ||
112 | u64 base_siefp_gpa:52; | ||
113 | }; | ||
114 | }; | ||
115 | 47 | ||
116 | /* Definitions for the monitored notification facility */ | 48 | /* Definitions for the monitored notification facility */ |
117 | union hv_monitor_trigger_group { | 49 | union hv_monitor_trigger_group { |