search for: hyperv_pcpu_output_arg

Displaying 4 results from an estimated 4 matches for "hyperv_pcpu_output_arg".

2020 Sep 15
0
[PATCH RFC v1 06/18] x86/hyperv: allocate output arg pages if required
...index cac8e4c56261..ebba4be4185d 100644 > --- a/arch/x86/hyperv/hv_init.c > +++ b/arch/x86/hyperv/hv_init.c > @@ -45,6 +45,9 @@ EXPORT_SYMBOL_GPL(hv_vp_assist_page); > void __percpu **hyperv_pcpu_input_arg; > EXPORT_SYMBOL_GPL(hyperv_pcpu_input_arg); > > +void __percpu **hyperv_pcpu_output_arg; > +EXPORT_SYMBOL_GPL(hyperv_pcpu_output_arg); > + > u32 hv_max_vp_index; > EXPORT_SYMBOL_GPL(hv_max_vp_index); > > @@ -75,14 +78,29 @@ static int hv_cpu_init(unsigned int cpu) > u64 msr_vp_index; > struct hv_vp_assist_page **hvp = &hv_vp_assist_page[smp_processo...
2020 Sep 16
0
[PATCH RFC v1 06/18] x86/hyperv: allocate output arg pages if required
...t; > > +++ b/arch/x86/hyperv/hv_init.c >> > > @@ -45,6 +45,9 @@ EXPORT_SYMBOL_GPL(hv_vp_assist_page); >> > > void __percpu **hyperv_pcpu_input_arg; >> > > EXPORT_SYMBOL_GPL(hyperv_pcpu_input_arg); >> > > >> > > +void __percpu **hyperv_pcpu_output_arg; >> > > +EXPORT_SYMBOL_GPL(hyperv_pcpu_output_arg); >> > > + >> > > u32 hv_max_vp_index; >> > > EXPORT_SYMBOL_GPL(hv_max_vp_index); >> > > >> > > @@ -75,14 +78,29 @@ static int hv_cpu_init(unsigned int cpu) >> > &g...
2020 Sep 15
0
[PATCH RFC v1 07/18] x86/hyperv: extract partition ID from Microsoft Hypervisor if necessary
...ruct syscore_ops hv_syscore_ops = { > .resume = hv_resume, > }; > > +void __init hv_get_partition_id(void) > +{ > + struct hv_get_partition_id *output_page; > + int status; > + unsigned long flags; > + > + local_irq_save(flags); > + output_page = *this_cpu_ptr(hyperv_pcpu_output_arg); > + status = hv_do_hypercall(HVCALL_GET_PARTITION_ID, NULL, output_page) & > + HV_HYPERCALL_RESULT_MASK; Nit: in this case status is 'u16', we can define it as such (instead of signed int). > + if (status != HV_STATUS_SUCCESS) > + pr_err("Failed to get partition I...
2020 Sep 15
0
[PATCH RFC v1 09/18] x86/hyperv: provide a bunch of helper functions
...al_processor_out *output; > + int status; > + unsigned long flags; > + int ret = 0; > + > + do { > + local_irq_save(flags); > + > + input = *this_cpu_ptr(hyperv_pcpu_input_arg); > + /* We don't do anything with the output right now */ > + output = *this_cpu_ptr(hyperv_pcpu_output_arg); > + > + input->lp_index = lp_index; > + input->apic_id = apic_id; > + input->flags = 0; > + input->proximity_domain_info.domain_id = node_to_pxm(node); > + input->proximity_domain_info.flags.reserved = 0; > + input->proximity_domain_info.flags.proximit...