Re: [PATCH v2 1/5] x86/kvm: rename HV_X64_MSR_APIC_ASSIST_PAGE to HV_X64_MSR_VP_ASSIST_PAGE

From: Roman Kagan
Date: Wed Mar 07 2018 - 11:48:39 EST


On Wed, Mar 07, 2018 at 05:19:44PM +0100, Radim KrÄmÃÅ wrote:
> 2018-02-26 18:11+0100, Vitaly Kuznetsov:
> > From: Ladi Prosek <lprosek@xxxxxxxxxx>
> >
> > The assist page has been used only for the paravirtual EOI so far, hence
> > the "APIC" in the MSR name. Renaming to match the Hyper-V TLFS where it's
> > called "Virtual VP Assist MSR".
> >
> > Signed-off-by: Ladi Prosek <lprosek@xxxxxxxxxx>
> > Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
> > ---
> > arch/x86/include/uapi/asm/hyperv.h | 10 +++++-----
> > arch/x86/kvm/hyperv.c | 8 ++++----
> > arch/x86/kvm/lapic.h | 2 +-
> > arch/x86/kvm/x86.c | 2 +-
> > 4 files changed, 11 insertions(+), 11 deletions(-)
> >
> > diff --git a/arch/x86/include/uapi/asm/hyperv.h b/arch/x86/include/uapi/asm/hyperv.h
> > index 1c12aaf33915..45cc62352040 100644
> > --- a/arch/x86/include/uapi/asm/hyperv.h
> > +++ b/arch/x86/include/uapi/asm/hyperv.h
> > @@ -189,7 +189,7 @@
> > #define HV_X64_MSR_EOI 0x40000070
> > #define HV_X64_MSR_ICR 0x40000071
> > #define HV_X64_MSR_TPR 0x40000072
> > -#define HV_X64_MSR_APIC_ASSIST_PAGE 0x40000073
> > +#define HV_X64_MSR_VP_ASSIST_PAGE 0x40000073
> >
> > /* Define synthetic interrupt controller model specific registers. */
> > #define HV_X64_MSR_SCONTROL 0x40000080
> > @@ -275,10 +275,10 @@ struct hv_tsc_emulation_status {
> > #define HVCALL_POST_MESSAGE 0x005c
> > #define HVCALL_SIGNAL_EVENT 0x005d
> >
> > -#define HV_X64_MSR_APIC_ASSIST_PAGE_ENABLE 0x00000001
> > -#define HV_X64_MSR_APIC_ASSIST_PAGE_ADDRESS_SHIFT 12
> > -#define HV_X64_MSR_APIC_ASSIST_PAGE_ADDRESS_MASK \
> > - (~((1ull << HV_X64_MSR_APIC_ASSIST_PAGE_ADDRESS_SHIFT) - 1))
>
> Removing definitions from userspace api isn't a good idea.
>
> I have no idea why hyper.h is a userspace api, though -- Linux doesn't
> define any of those, so we could copy the definitions to a private
> header, rename, and never look at this file again.

That was a thinko when it was moved to uapi, and it has already been
identified as a problem, so now QEMU has its own header with the
definitions it needs, and I'm unaware of any other userspace project
that depends on this stuff. So I've been planning to remove it from
uapi but still haven't got around to posting the patch :(

Roman.