[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 4/5] x86/hyperv: retrieve vp_index from Hyper-V
On Sun, 5 Jan 2020 at 16:49, Wei Liu <wl@xxxxxxx> wrote: > > This will be useful when invoking hypercall that targets specific > vcpu(s). > > Signed-off-by: Wei Liu <liuwe@xxxxxxxxxxxxx> Reviewed-by: Paul Durrant <paul@xxxxxxx> > --- > v2: > 1. Fold into setup_pcpu_arg function > --- > xen/arch/x86/guest/hyperv/hyperv.c | 5 +++++ > xen/include/asm-x86/guest/hyperv.h | 1 + > 2 files changed, 6 insertions(+) > > diff --git a/xen/arch/x86/guest/hyperv/hyperv.c > b/xen/arch/x86/guest/hyperv/hyperv.c > index 7e046dfc04..e5f258c946 100644 > --- a/xen/arch/x86/guest/hyperv/hyperv.c > +++ b/xen/arch/x86/guest/hyperv/hyperv.c > @@ -28,6 +28,7 @@ struct ms_hyperv_info __read_mostly ms_hyperv; > > extern char hv_hypercall_page[]; > DEFINE_PER_CPU_READ_MOSTLY(void *, hv_pcpu_input_arg); > +DEFINE_PER_CPU_READ_MOSTLY(unsigned int, hv_vp_index); > > static const struct hypervisor_ops ops; > const struct hypervisor_ops *__init hyperv_probe(void) > @@ -87,6 +88,7 @@ static void __init setup_hypercall_page(void) > static void setup_hypercall_pcpu_arg(void) > { > void *mapping; > + uint64_t vp_index_msr; > > mapping = alloc_xenheap_page(); > if ( !mapping ) > @@ -94,6 +96,9 @@ static void setup_hypercall_pcpu_arg(void) > smp_processor_id()); > > this_cpu(hv_pcpu_input_arg) = mapping; > + > + rdmsrl(HV_X64_MSR_VP_INDEX, vp_index_msr); > + this_cpu(hv_vp_index) = vp_index_msr; > } > > static void __init setup(void) > diff --git a/xen/include/asm-x86/guest/hyperv.h > b/xen/include/asm-x86/guest/hyperv.h > index 6cf2eab62f..bae06c8a3a 100644 > --- a/xen/include/asm-x86/guest/hyperv.h > +++ b/xen/include/asm-x86/guest/hyperv.h > @@ -66,6 +66,7 @@ struct ms_hyperv_info { > extern struct ms_hyperv_info ms_hyperv; > > DECLARE_PER_CPU(void *, hv_pcpu_input_arg); > +DECLARE_PER_CPU(unsigned int, hv_vp_index); > > const struct hypervisor_ops *hyperv_probe(void); > > -- > 2.20.1 > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |