Lines Matching refs:hv_cpu
81 struct hv_per_cpu_context *hv_cpu; in hv_post_message() local
87 hv_cpu = get_cpu_ptr(hv_context.cpu_context); in hv_post_message()
88 aligned_msg = hv_cpu->post_msg_page; in hv_post_message()
101 put_cpu_ptr(hv_cpu); in hv_post_message()
114 struct hv_per_cpu_context *hv_cpu; in hv_stimer0_isr() local
116 hv_cpu = this_cpu_ptr(hv_context.cpu_context); in hv_stimer0_isr()
117 hv_cpu->clk_evt->event_handler(hv_cpu->clk_evt); in hv_stimer0_isr()
201 struct hv_per_cpu_context *hv_cpu in hv_synic_alloc() local
204 memset(hv_cpu, 0, sizeof(*hv_cpu)); in hv_synic_alloc()
205 tasklet_init(&hv_cpu->msg_dpc, in hv_synic_alloc()
206 vmbus_on_msg_dpc, (unsigned long) hv_cpu); in hv_synic_alloc()
208 hv_cpu->clk_evt = kzalloc(sizeof(struct clock_event_device), in hv_synic_alloc()
210 if (hv_cpu->clk_evt == NULL) { in hv_synic_alloc()
214 hv_init_clockevent_device(hv_cpu->clk_evt, cpu); in hv_synic_alloc()
216 hv_cpu->synic_message_page = in hv_synic_alloc()
218 if (hv_cpu->synic_message_page == NULL) { in hv_synic_alloc()
223 hv_cpu->synic_event_page = (void *)get_zeroed_page(GFP_ATOMIC); in hv_synic_alloc()
224 if (hv_cpu->synic_event_page == NULL) { in hv_synic_alloc()
229 hv_cpu->post_msg_page = (void *)get_zeroed_page(GFP_ATOMIC); in hv_synic_alloc()
230 if (hv_cpu->post_msg_page == NULL) { in hv_synic_alloc()
235 INIT_LIST_HEAD(&hv_cpu->chan_list); in hv_synic_alloc()
258 struct hv_per_cpu_context *hv_cpu in hv_synic_free() local
261 kfree(hv_cpu->clk_evt); in hv_synic_free()
262 free_page((unsigned long)hv_cpu->synic_event_page); in hv_synic_free()
263 free_page((unsigned long)hv_cpu->synic_message_page); in hv_synic_free()
264 free_page((unsigned long)hv_cpu->post_msg_page); in hv_synic_free()
279 struct hv_per_cpu_context *hv_cpu in hv_synic_init() local
289 simp.base_simp_gpa = virt_to_phys(hv_cpu->synic_message_page) in hv_synic_init()
297 siefp.base_siefp_gpa = virt_to_phys(hv_cpu->synic_event_page) in hv_synic_init()
326 clockevents_config_and_register(hv_cpu->clk_evt, in hv_synic_init()
347 struct hv_per_cpu_context *hv_cpu in hv_synic_clockevents_cleanup() local
350 clockevents_unbind_device(hv_cpu->clk_evt, cpu); in hv_synic_clockevents_cleanup()
400 struct hv_per_cpu_context *hv_cpu in hv_synic_cleanup() local
403 clockevents_unbind_device(hv_cpu->clk_evt, cpu); in hv_synic_cleanup()
404 hv_ce_shutdown(hv_cpu->clk_evt); in hv_synic_cleanup()
405 put_cpu_ptr(hv_cpu); in hv_synic_cleanup()