diff options
author | K. Y. Srinivasan <kys@microsoft.com> | 2012-12-01 09:46:51 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-01-17 14:39:15 -0500 |
commit | 9acd6442c6839d404c1f47dc0f3ff3e0fb13e44c (patch) | |
tree | 101f284e3e24b1226df0f29707a715b1dda9d9b5 /drivers/hv/hv.c | |
parent | a119845f6e98c890831bb5639cdad5ca9b79965f (diff) |
Drivers: hv: Get rid of the unused global signaling state
Now that we have implemented a per-connection signaling mechanism, get rid
of the global signaling state. For hosts that don't support per-connection
signaling handle, we have moved the global state to be a per-channel state.
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/hv/hv.c')
-rw-r--r-- | drivers/hv/hv.c | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/drivers/hv/hv.c b/drivers/hv/hv.c index 76304a622140..e989c6fd1f8f 100644 --- a/drivers/hv/hv.c +++ b/drivers/hv/hv.c | |||
@@ -34,8 +34,6 @@ | |||
34 | struct hv_context hv_context = { | 34 | struct hv_context hv_context = { |
35 | .synic_initialized = false, | 35 | .synic_initialized = false, |
36 | .hypercall_page = NULL, | 36 | .hypercall_page = NULL, |
37 | .signal_event_param = NULL, | ||
38 | .signal_event_buffer = NULL, | ||
39 | }; | 37 | }; |
40 | 38 | ||
41 | /* | 39 | /* |
@@ -170,24 +168,6 @@ int hv_init(void) | |||
170 | 168 | ||
171 | hv_context.hypercall_page = virtaddr; | 169 | hv_context.hypercall_page = virtaddr; |
172 | 170 | ||
173 | /* Setup the global signal event param for the signal event hypercall */ | ||
174 | hv_context.signal_event_buffer = | ||
175 | kmalloc(sizeof(struct hv_input_signal_event_buffer), | ||
176 | GFP_KERNEL); | ||
177 | if (!hv_context.signal_event_buffer) | ||
178 | goto cleanup; | ||
179 | |||
180 | hv_context.signal_event_param = | ||
181 | (struct hv_input_signal_event *) | ||
182 | (ALIGN((unsigned long) | ||
183 | hv_context.signal_event_buffer, | ||
184 | HV_HYPERCALL_PARAM_ALIGN)); | ||
185 | hv_context.signal_event_param->connectionid.asu32 = 0; | ||
186 | hv_context.signal_event_param->connectionid.u.id = | ||
187 | VMBUS_EVENT_CONNECTION_ID; | ||
188 | hv_context.signal_event_param->flag_number = 0; | ||
189 | hv_context.signal_event_param->rsvdz = 0; | ||
190 | |||
191 | return 0; | 171 | return 0; |
192 | 172 | ||
193 | cleanup: | 173 | cleanup: |
@@ -215,10 +195,6 @@ void hv_cleanup(void) | |||
215 | /* Reset our OS id */ | 195 | /* Reset our OS id */ |
216 | wrmsrl(HV_X64_MSR_GUEST_OS_ID, 0); | 196 | wrmsrl(HV_X64_MSR_GUEST_OS_ID, 0); |
217 | 197 | ||
218 | kfree(hv_context.signal_event_buffer); | ||
219 | hv_context.signal_event_buffer = NULL; | ||
220 | hv_context.signal_event_param = NULL; | ||
221 | |||
222 | if (hv_context.hypercall_page) { | 198 | if (hv_context.hypercall_page) { |
223 | hypercall_msr.as_uint64 = 0; | 199 | hypercall_msr.as_uint64 = 0; |
224 | wrmsrl(HV_X64_MSR_HYPERCALL, hypercall_msr.as_uint64); | 200 | wrmsrl(HV_X64_MSR_HYPERCALL, hypercall_msr.as_uint64); |