Patchwork powerpc/epapr: export epapr_hypercall_start

login
register
mail settings
Submitter Scott Wood
Date Aug. 10, 2012, 10:21 p.m.
Message ID <20120810222121.GA9408@tyr.buserror.net>
Download mbox | patch
Permalink /patch/176639/
State New
Headers show

Comments

Scott Wood - Aug. 10, 2012, 10:21 p.m.
This fixes breakage introduced by the following commit:

  commit 6d2d82627f4f1e96a33664ace494fa363e0495cb
  Author: Liu Yu-B13201 <Yu.Liu@freescale.com>
  Date:   Tue Jul 3 05:48:56 2012 +0000

    PPC: Don't use hardcoded opcode for ePAPR hcall invocation

when a driver that uses ePAPR hypercalls is built as a module.

Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Scott Wood <scottwood@freescale.com>
---
Sending to Alex even though this isn't KVM-specific since the commit it
fixes is still only in his tree (and linux-next).

 arch/powerpc/kernel/ppc_ksyms.c |    5 +++++
 1 file changed, 5 insertions(+)
Geert Uytterhoeven - Aug. 11, 2012, 7:01 a.m.
On Sat, Aug 11, 2012 at 12:21 AM, Scott Wood <scottwood@freescale.com> wrote:
> +EXPORT_SYMBOL(epapr_hypercall_start);

EXPORT_SYMBOL_GPL?

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Tabi Timur-B04825 - Aug. 11, 2012, 1:07 p.m.
On Sat, Aug 11, 2012 at 2:01 AM, Geert Uytterhoeven
<geert@linux-m68k.org> wrote:
> On Sat, Aug 11, 2012 at 12:21 AM, Scott Wood <scottwood@freescale.com> wrote:
>> +EXPORT_SYMBOL(epapr_hypercall_start);
>
> EXPORT_SYMBOL_GPL?

We prefer EXPORT_SYMBOL.  We don't want to restrict our customers from
having to use GPL code.
Alexander Graf - Aug. 11, 2012, 1:10 p.m.
On 11.08.2012, at 00:21, Scott Wood wrote:

> This fixes breakage introduced by the following commit:
> 
>  commit 6d2d82627f4f1e96a33664ace494fa363e0495cb
>  Author: Liu Yu-B13201 <Yu.Liu@freescale.com>
>  Date:   Tue Jul 3 05:48:56 2012 +0000
> 
>    PPC: Don't use hardcoded opcode for ePAPR hcall invocation
> 
> when a driver that uses ePAPR hypercalls is built as a module.
> 
> Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
> Signed-off-by: Scott Wood <scottwood@freescale.com>
> ---
> Sending to Alex even though this isn't KVM-specific since the commit it
> fixes is still only in his tree (and linux-next).

Thanks, applied to kvm-ppc-next.


Alex

--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Scott Wood - Aug. 13, 2012, 5:29 p.m.
On 08/11/2012 08:07 AM, Tabi Timur-B04825 wrote:
> On Sat, Aug 11, 2012 at 2:01 AM, Geert Uytterhoeven
> <geert@linux-m68k.org> wrote:
>> On Sat, Aug 11, 2012 at 12:21 AM, Scott Wood <scottwood@freescale.com> wrote:
>>> +EXPORT_SYMBOL(epapr_hypercall_start);
>>
>> EXPORT_SYMBOL_GPL?
> 
> We prefer EXPORT_SYMBOL.  We don't want to restrict our customers from
> having to use GPL code.
> 

More specifically in this case, I don't see how use of this symbol in
any way suggests that the code would be GPL-derivative.  The API is
documented in the ePAPR standard or other external sources -- not a
kernel internal implementation issue.  The contents of
epapr_hypercall_start itself are not copyrightable (by default it's
basically "return -1", and is patched at runtime with a few instructions
provided by the hypervisor).  The header file with the inline accessors
is dual licensed (and also unlikely to be copyrightable, in terms of
what actually makes it into the output binary).

-Scott


--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/arch/powerpc/kernel/ppc_ksyms.c b/arch/powerpc/kernel/ppc_ksyms.c
index 3e40315..e597dde 100644
--- a/arch/powerpc/kernel/ppc_ksyms.c
+++ b/arch/powerpc/kernel/ppc_ksyms.c
@@ -43,6 +43,7 @@ 
 #include <asm/dcr.h>
 #include <asm/ftrace.h>
 #include <asm/switch_to.h>
+#include <asm/epapr_hcalls.h>
 
 #ifdef CONFIG_PPC32
 extern void transfer_to_handler(void);
@@ -192,3 +193,7 @@  EXPORT_SYMBOL(__arch_hweight64);
 #ifdef CONFIG_PPC_BOOK3S_64
 EXPORT_SYMBOL_GPL(mmu_psize_defs);
 #endif
+
+#ifdef CONFIG_EPAPR_PARAVIRT
+EXPORT_SYMBOL(epapr_hypercall_start);
+#endif