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>
This commit is contained in:
parent
a119845f6e
commit
9acd6442c6
|
@ -34,8 +34,6 @@
|
|||
struct hv_context hv_context = {
|
||||
.synic_initialized = false,
|
||||
.hypercall_page = NULL,
|
||||
.signal_event_param = NULL,
|
||||
.signal_event_buffer = NULL,
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -170,24 +168,6 @@ int hv_init(void)
|
|||
|
||||
hv_context.hypercall_page = virtaddr;
|
||||
|
||||
/* Setup the global signal event param for the signal event hypercall */
|
||||
hv_context.signal_event_buffer =
|
||||
kmalloc(sizeof(struct hv_input_signal_event_buffer),
|
||||
GFP_KERNEL);
|
||||
if (!hv_context.signal_event_buffer)
|
||||
goto cleanup;
|
||||
|
||||
hv_context.signal_event_param =
|
||||
(struct hv_input_signal_event *)
|
||||
(ALIGN((unsigned long)
|
||||
hv_context.signal_event_buffer,
|
||||
HV_HYPERCALL_PARAM_ALIGN));
|
||||
hv_context.signal_event_param->connectionid.asu32 = 0;
|
||||
hv_context.signal_event_param->connectionid.u.id =
|
||||
VMBUS_EVENT_CONNECTION_ID;
|
||||
hv_context.signal_event_param->flag_number = 0;
|
||||
hv_context.signal_event_param->rsvdz = 0;
|
||||
|
||||
return 0;
|
||||
|
||||
cleanup:
|
||||
|
@ -215,10 +195,6 @@ void hv_cleanup(void)
|
|||
/* Reset our OS id */
|
||||
wrmsrl(HV_X64_MSR_GUEST_OS_ID, 0);
|
||||
|
||||
kfree(hv_context.signal_event_buffer);
|
||||
hv_context.signal_event_buffer = NULL;
|
||||
hv_context.signal_event_param = NULL;
|
||||
|
||||
if (hv_context.hypercall_page) {
|
||||
hypercall_msr.as_uint64 = 0;
|
||||
wrmsrl(HV_X64_MSR_HYPERCALL, hypercall_msr.as_uint64);
|
||||
|
|
|
@ -492,14 +492,6 @@ struct hv_context {
|
|||
|
||||
bool synic_initialized;
|
||||
|
||||
/*
|
||||
* This is used as an input param to HvCallSignalEvent hypercall. The
|
||||
* input param is immutable in our usage and must be dynamic mem (vs
|
||||
* stack or global). */
|
||||
struct hv_input_signal_event_buffer *signal_event_buffer;
|
||||
/* 8-bytes aligned of the buffer above */
|
||||
struct hv_input_signal_event *signal_event_param;
|
||||
|
||||
void *synic_message_page[NR_CPUS];
|
||||
void *synic_event_page[NR_CPUS];
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue