[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87sh9ao6ch.fsf@vitty.brq.redhat.com>
Date: Thu, 08 Mar 2018 17:54:54 +0100
From: Vitaly Kuznetsov <vkuznets@...hat.com>
To: "Michael Kelley \(EOSG\)" <Michael.H.Kelley@...rosoft.com>
Cc: Radim Krčmář <rkrcmar@...hat.com>,
Roman Kagan <rkagan@...tuozzo.com>,
"kvm\@vger.kernel.org" <kvm@...r.kernel.org>,
"x86\@kernel.org" <x86@...nel.org>,
Paolo Bonzini <pbonzini@...hat.com>,
KY Srinivasan <kys@...rosoft.com>,
Haiyang Zhang <haiyangz@...rosoft.com>,
Stephen Hemminger <sthemmin@...rosoft.com>,
Mohammed Gamal <mmorsy@...hat.com>,
Cathy Avery <cavery@...hat.com>, Bandan Das <bsd@...hat.com>,
"linux-kernel\@vger.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2 1/5] x86/kvm: rename HV_X64_MSR_APIC_ASSIST_PAGE to HV_X64_MSR_VP_ASSIST_PAGE
"Michael Kelley (EOSG)" <Michael.H.Kelley@...rosoft.com> writes:
>> >> > 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?
>
> Good timing for this topic, as I'm now looking at cloning these two
> files into the arch/arm64 tree for Hyper-V on ARM64. It would be great
> to get a plan agreed on so I can be consistent on the arm64 side.
>
> I would suggest keeping two files: one with just the data structures and
> #defines that come from the Hyper-V Top-Level Functional Spec (TLFS),
> and the other with additional data structures, macros, function prototypes,
> etc. that are specific to Linux guest code. uapi/asm/hyperv.h is already
> the first one, and asm/mshyperv.h is mostly the second one, though it has
> some things that should probably move to the first one. There are also a
> few stray definitions from the Hyper-V TLFS in drivers/pci/host/pci-hyperv.c
> (HVCALL_RETARGET_INTERRUPT and HV_PARTITION_ID_SELF, for example)
> that really belong in the first file.
>
> And since we're already changing the location of the first file, let's rename
> it to hyperv-tlfs.h or something similar.
>
Sounds good,
I'll add a patch or two to my eVMCS series.
Thanks!
--
Vitaly
Powered by blists - more mailing lists