Message ID | 20180822101832.31763-5-vkuznets@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | KVM: x86: hyperv: PV IPI support for Windows guests | expand |
On 22/08/2018 12:18, Vitaly Kuznetsov wrote: > These structures are going to be used from KVM code so let's make > their names reflect their Hyper-V origin. > > Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com> > Reviewed-by: Roman Kagan <rkagan@virtuozzo.com> > --- > arch/x86/hyperv/hv_apic.c | 12 ++++++------ > arch/x86/include/asm/hyperv-tlfs.h | 16 +++++++++------- > 2 files changed, 15 insertions(+), 13 deletions(-) > > diff --git a/arch/x86/hyperv/hv_apic.c b/arch/x86/hyperv/hv_apic.c > index 402338365651..49284e1506b1 100644 > --- a/arch/x86/hyperv/hv_apic.c > +++ b/arch/x86/hyperv/hv_apic.c > @@ -93,14 +93,14 @@ static void hv_apic_eoi_write(u32 reg, u32 val) > */ > static bool __send_ipi_mask_ex(const struct cpumask *mask, int vector) > { > - struct ipi_arg_ex **arg; > - struct ipi_arg_ex *ipi_arg; > + struct hv_send_ipi_ex **arg; > + struct hv_send_ipi_ex *ipi_arg; > unsigned long flags; > int nr_bank = 0; > int ret = 1; > > local_irq_save(flags); > - arg = (struct ipi_arg_ex **)this_cpu_ptr(hyperv_pcpu_input_arg); > + arg = (struct hv_send_ipi_ex **)this_cpu_ptr(hyperv_pcpu_input_arg); > > ipi_arg = *arg; > if (unlikely(!ipi_arg)) > @@ -130,8 +130,8 @@ static bool __send_ipi_mask_ex(const struct cpumask *mask, int vector) > static bool __send_ipi_mask(const struct cpumask *mask, int vector) > { > int cur_cpu, vcpu; > - struct ipi_arg_non_ex **arg; > - struct ipi_arg_non_ex *ipi_arg; > + struct hv_send_ipi **arg; > + struct hv_send_ipi *ipi_arg; > int ret = 1; > unsigned long flags; > > @@ -148,7 +148,7 @@ static bool __send_ipi_mask(const struct cpumask *mask, int vector) > return __send_ipi_mask_ex(mask, vector); > > local_irq_save(flags); > - arg = (struct ipi_arg_non_ex **)this_cpu_ptr(hyperv_pcpu_input_arg); > + arg = (struct hv_send_ipi **)this_cpu_ptr(hyperv_pcpu_input_arg); > > ipi_arg = *arg; > if (unlikely(!ipi_arg)) > diff --git a/arch/x86/include/asm/hyperv-tlfs.h b/arch/x86/include/asm/hyperv-tlfs.h > index 08e24f552030..d0554409a3de 100644 > --- a/arch/x86/include/asm/hyperv-tlfs.h > +++ b/arch/x86/include/asm/hyperv-tlfs.h > @@ -725,19 +725,21 @@ struct hv_enlightened_vmcs { > #define HV_STIMER_AUTOENABLE (1ULL << 3) > #define HV_STIMER_SINT(config) (__u8)(((config) >> 16) & 0x0F) > > -struct ipi_arg_non_ex { > - u32 vector; > - u32 reserved; > - u64 cpu_mask; > -}; > - > struct hv_vpset { > u64 format; > u64 valid_bank_mask; > u64 bank_contents[]; > }; > > -struct ipi_arg_ex { > +/* HvCallSendSyntheticClusterIpi hypercall */ > +struct hv_send_ipi { > + u32 vector; > + u32 reserved; > + u64 cpu_mask; > +}; > + > +/* HvCallSendSyntheticClusterIpiEx hypercall */ > +struct hv_send_ipi_ex { > u32 vector; > u32 reserved; > struct hv_vpset vp_set; > This doesn't apply anymore, sorry. Paolo
diff --git a/arch/x86/hyperv/hv_apic.c b/arch/x86/hyperv/hv_apic.c index 402338365651..49284e1506b1 100644 --- a/arch/x86/hyperv/hv_apic.c +++ b/arch/x86/hyperv/hv_apic.c @@ -93,14 +93,14 @@ static void hv_apic_eoi_write(u32 reg, u32 val) */ static bool __send_ipi_mask_ex(const struct cpumask *mask, int vector) { - struct ipi_arg_ex **arg; - struct ipi_arg_ex *ipi_arg; + struct hv_send_ipi_ex **arg; + struct hv_send_ipi_ex *ipi_arg; unsigned long flags; int nr_bank = 0; int ret = 1; local_irq_save(flags); - arg = (struct ipi_arg_ex **)this_cpu_ptr(hyperv_pcpu_input_arg); + arg = (struct hv_send_ipi_ex **)this_cpu_ptr(hyperv_pcpu_input_arg); ipi_arg = *arg; if (unlikely(!ipi_arg)) @@ -130,8 +130,8 @@ static bool __send_ipi_mask_ex(const struct cpumask *mask, int vector) static bool __send_ipi_mask(const struct cpumask *mask, int vector) { int cur_cpu, vcpu; - struct ipi_arg_non_ex **arg; - struct ipi_arg_non_ex *ipi_arg; + struct hv_send_ipi **arg; + struct hv_send_ipi *ipi_arg; int ret = 1; unsigned long flags; @@ -148,7 +148,7 @@ static bool __send_ipi_mask(const struct cpumask *mask, int vector) return __send_ipi_mask_ex(mask, vector); local_irq_save(flags); - arg = (struct ipi_arg_non_ex **)this_cpu_ptr(hyperv_pcpu_input_arg); + arg = (struct hv_send_ipi **)this_cpu_ptr(hyperv_pcpu_input_arg); ipi_arg = *arg; if (unlikely(!ipi_arg)) diff --git a/arch/x86/include/asm/hyperv-tlfs.h b/arch/x86/include/asm/hyperv-tlfs.h index 08e24f552030..d0554409a3de 100644 --- a/arch/x86/include/asm/hyperv-tlfs.h +++ b/arch/x86/include/asm/hyperv-tlfs.h @@ -725,19 +725,21 @@ struct hv_enlightened_vmcs { #define HV_STIMER_AUTOENABLE (1ULL << 3) #define HV_STIMER_SINT(config) (__u8)(((config) >> 16) & 0x0F) -struct ipi_arg_non_ex { - u32 vector; - u32 reserved; - u64 cpu_mask; -}; - struct hv_vpset { u64 format; u64 valid_bank_mask; u64 bank_contents[]; }; -struct ipi_arg_ex { +/* HvCallSendSyntheticClusterIpi hypercall */ +struct hv_send_ipi { + u32 vector; + u32 reserved; + u64 cpu_mask; +}; + +/* HvCallSendSyntheticClusterIpiEx hypercall */ +struct hv_send_ipi_ex { u32 vector; u32 reserved; struct hv_vpset vp_set;