Searched refs:hv_context (Results 1 - 5 of 5) sorted by relevance

/linux-4.4.14/drivers/hv/
H A Dhv.c37 struct hv_context hv_context = { variable in typeref:struct:hv_context
98 void *hypercall_page = hv_context.hypercall_page; do_hypercall()
140 struct ms_hyperv_tsc_page *tsc_pg = hv_context.tsc_page; read_hv_clock_tsc()
199 memset(hv_context.synic_event_page, 0, sizeof(void *) * NR_CPUS); hv_init()
200 memset(hv_context.synic_message_page, 0, hv_init()
202 memset(hv_context.post_msg_page, 0, hv_init()
204 memset(hv_context.vp_index, 0, hv_init()
206 memset(hv_context.event_dpc, 0, hv_init()
208 memset(hv_context.clk_evt, 0, hv_init()
216 hv_context.guestid = generate_guest_id(0, LINUX_VERSION_CODE, 0); hv_init()
217 wrmsrl(HV_X64_MSR_GUEST_OS_ID, hv_context.guestid); hv_init()
239 hv_context.hypercall_page = virtaddr; hv_init()
246 hv_context.tsc_page = va_tsc; hv_init()
284 if (hv_context.hypercall_page) { hv_cleanup()
287 vfree(hv_context.hypercall_page); hv_cleanup()
288 hv_context.hypercall_page = NULL; hv_cleanup()
301 vfree(hv_context.tsc_page); hv_cleanup()
302 hv_context.tsc_page = NULL; hv_cleanup()
324 hv_context.post_msg_page[get_cpu()]; hv_post_message()
412 hv_context.hv_numa_map = kzalloc(sizeof(struct cpumask) * nr_node_ids, hv_synic_alloc()
414 if (hv_context.hv_numa_map == NULL) { hv_synic_alloc()
420 hv_context.event_dpc[cpu] = kmalloc(size, GFP_ATOMIC); for_each_online_cpu()
421 if (hv_context.event_dpc[cpu] == NULL) { for_each_online_cpu()
425 tasklet_init(hv_context.event_dpc[cpu], vmbus_on_event, cpu); for_each_online_cpu()
427 hv_context.clk_evt[cpu] = kzalloc(ced_size, GFP_ATOMIC); for_each_online_cpu()
428 if (hv_context.clk_evt[cpu] == NULL) { for_each_online_cpu()
433 hv_init_clockevent_device(hv_context.clk_evt[cpu], cpu); for_each_online_cpu()
435 hv_context.synic_message_page[cpu] = for_each_online_cpu()
438 if (hv_context.synic_message_page[cpu] == NULL) { for_each_online_cpu()
443 hv_context.synic_event_page[cpu] = for_each_online_cpu()
446 if (hv_context.synic_event_page[cpu] == NULL) { for_each_online_cpu()
451 hv_context.post_msg_page[cpu] = for_each_online_cpu()
454 if (hv_context.post_msg_page[cpu] == NULL) { for_each_online_cpu()
467 kfree(hv_context.event_dpc[cpu]); hv_synic_free_cpu()
468 kfree(hv_context.clk_evt[cpu]); hv_synic_free_cpu()
469 if (hv_context.synic_event_page[cpu]) hv_synic_free_cpu()
470 free_page((unsigned long)hv_context.synic_event_page[cpu]); hv_synic_free_cpu()
471 if (hv_context.synic_message_page[cpu]) hv_synic_free_cpu()
472 free_page((unsigned long)hv_context.synic_message_page[cpu]); hv_synic_free_cpu()
473 if (hv_context.post_msg_page[cpu]) hv_synic_free_cpu()
474 free_page((unsigned long)hv_context.post_msg_page[cpu]); hv_synic_free_cpu()
481 kfree(hv_context.hv_numa_map); hv_synic_free()
504 if (!hv_context.hypercall_page) hv_synic_init()
513 simp.base_simp_gpa = virt_to_phys(hv_context.synic_message_page[cpu]) hv_synic_init()
521 siefp.base_siefp_gpa = virt_to_phys(hv_context.synic_event_page[cpu]) hv_synic_init()
542 hv_context.synic_initialized = true; hv_synic_init()
550 hv_context.vp_index[cpu] = (u32)vp_index; hv_synic_init()
552 INIT_LIST_HEAD(&hv_context.percpu_list[cpu]); hv_synic_init()
558 clockevents_config_and_register(hv_context.clk_evt[cpu], hv_synic_init()
576 clockevents_unbind_device(hv_context.clk_evt[cpu], cpu); hv_synic_clockevents_cleanup()
590 if (!hv_context.synic_initialized) hv_synic_cleanup()
595 hv_ce_shutdown(hv_context.clk_evt[cpu]); hv_synic_cleanup()
H A Dconnection.c87 msg->target_vcpu = hv_context.vp_index[get_cpu()]; vmbus_negotiate_version()
265 struct list_head *pcpu_head = &hv_context.percpu_list[cpu]; pcpu_relid2channel()
392 page_addr = hv_context.synic_event_page[cpu]; vmbus_on_event()
H A Dchannel_mgmt.c169 list_add_tail(&channel->percpu_list, &hv_context.percpu_list[cpu]); percpu_channel_enq()
424 channel->target_vp = hv_context.vp_index[0]; init_vp_index()
447 alloced_mask = &hv_context.hv_numa_map[primary->numa_node]; init_vp_index()
488 channel->target_vp = hv_context.vp_index[cur_cpu]; init_vp_index()
902 cur_cpu = hv_context.vp_index[get_cpu()]; vmbus_get_outgoing_channel()
H A Dhyperv_vmbus.h508 struct hv_context { struct
557 extern struct hv_context hv_context;
H A Dvmbus_drv.c693 struct clock_event_device *dev = hv_context.clk_evt[cpu]; hv_process_timer_expiration()
722 void *page_addr = hv_context.synic_message_page[cpu]; vmbus_on_msg_dpc()
785 page_addr = hv_context.synic_event_page[cpu]; vmbus_isr()
816 tasklet_schedule(hv_context.event_dpc[cpu]); vmbus_isr()
819 page_addr = hv_context.synic_message_page[cpu]; vmbus_isr()
1331 tasklet_kill(hv_context.event_dpc[cpu]); for_each_online_cpu()

Completed in 102 milliseconds