Re: linux-next: manual merge of the kvm-ppc tree with thepowerpc-merge tree

From: Scott Wood
Date: Thu Oct 11 2012 - 12:33:45 EST


On 10/11/2012 10:56:51 AM, Alexander Graf wrote:

On 11.10.2012, at 17:50, Scott Wood wrote:

> On 10/11/2012 08:04:58 AM, Alexander Graf wrote:
>> On 11.10.2012, at 05:32, Tabi Timur-B04825 wrote:
>> > On Wed, Oct 10, 2012 at 9:47 PM, Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>> >
>> >> Commit 549d62d889b4 ("KVM: PPC: use definitions in epapr header
>> >> for hcalls") from the kvm-ppc tree added an include of asm/epapr_hcall.h
>> >> to the user visible part of asm/kvm_para.h so asm/epapr_hcall.h became a
>> >> user visible header file.
>> >
>> > Any real user-space code that tries to call any of the functions in
>> > epapr_hcall.h will cause an exception.
>
> Actually it'll cause a linker error, as of the "Don't use hardcoded opcode for ePAPR hcall invocation" patch.
>
>> > Claiming that kernel header files that KVM needs are suddenly
>> > user-space header files doesn't make much sense to me, but I guess
>> > it's not my decision.
>> This is about kvm_host.h, which is the part that is exported to user space. It usually contains constants and structs that are required for the API.
>
> s/kvm_host/kvm_para/
>
> I'm not sure anything in kvm_para.h or epapr_hcalls.h would be of use to userspace, but it would be of use to the guest OS, so it's still not kernel-internal.
>
> The variable externs should be #ifdef __KERNEL__ as David points out. The asm stuff could still be useful in a guest OS if the guest provides epapr_hypercall_start.

I don't think we should worry about guest kernel code potentially having use for this. Let's make the user space headers be great for user space usage, not for guest code usage :).

Well, that asm stuff started out as a guest header (from Freescale's Topaz hypervisor), not a Linux header. :-)

-Scott
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/