Searched refs:hv_context (Results 1 - 5 of 5) sorted by relevance
/linux-4.4.14/drivers/hv/ |
H A D | hv.c | 37 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 D | connection.c | 87 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 D | channel_mgmt.c | 169 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 D | hyperv_vmbus.h | 508 struct hv_context { struct 557 extern struct hv_context hv_context;
|
H A D | vmbus_drv.c | 693 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 180 milliseconds