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-next" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html