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

From: Vitaly Kuznetsov
Date: Thu Mar 08 2018 - 05:17:49 EST


Radim KrÄmÃÅ <rkrcmar@xxxxxxxxxx> writes:

> 2018-03-07 19:48+0300, Roman Kagan:
>> On Wed, Mar 07, 2018 at 05:19:44PM +0100, Radim KrÄmÃÅ wrote:
>> > 2018-02-26 18:11+0100, Vitaly Kuznetsov:
>> > > diff --git a/arch/x86/include/uapi/asm/hyperv.h b/arch/x86/include/uapi/asm/hyperv.h
>> > > @@ -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 :(
>
> Great, let's be bold here.

asm/hyperv.h is not uapi.

I would include a patch renaming arch/x86/include/uapi/asm/hyperv.h to
arch/x86/include/asm/hyperv.h but we already have 'mshyperv.h' there and
I don't quite understand the difference. We can either merge them or
come up with a rule distinguishing them.

K. Y., Michael, what do you think?

--
Vitaly