aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hv/hv.c
diff options
context:
space:
mode:
authorK. Y. Srinivasan <kys@microsoft.com>2012-12-01 09:46:51 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-01-17 14:39:15 -0500
commit9acd6442c6839d404c1f47dc0f3ff3e0fb13e44c (patch)
tree101f284e3e24b1226df0f29707a715b1dda9d9b5 /drivers/hv/hv.c
parenta119845f6e98c890831bb5639cdad5ca9b79965f (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.c24
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 @@
34struct hv_context hv_context = { 34struct 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
193cleanup: 173cleanup:
@@ -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);