Josh Boyer
2013-Nov-18 13:48 UTC
[PATCH] arm/xen: Export phys_to_mach to fix Xen module link errors
Various xen drivers fail to link when built as modules with the following error: ERROR: "phys_to_mach" [drivers/xen/xen-gntalloc.ko] undefined! ERROR: "phys_to_mach" [drivers/net/xen-netfront.ko] undefined! ERROR: "phys_to_mach" [drivers/net/xen-netback/xen-netback.ko] undefined! ERROR: "phys_to_mach" [drivers/block/xen-blkfront.ko] undefined! The mfn_to_pfn and pfn_to_mfn functions get inlined in these modules and those functions require phys_to_mach. Export the symbol to fix the link errors. Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org> --- arch/arm/xen/p2m.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/xen/p2m.c b/arch/arm/xen/p2m.c index 23732cd..0f842e8 100644 --- a/arch/arm/xen/p2m.c +++ b/arch/arm/xen/p2m.c @@ -27,6 +27,7 @@ struct xen_p2m_entry { rwlock_t p2m_lock; struct rb_root phys_to_mach = RB_ROOT; +EXPORT_SYMBOL_GPL(phys_to_mach); static struct rb_root mach_to_phys = RB_ROOT; static int xen_add_phys_to_mach_entry(struct xen_p2m_entry *new) -- 1.8.3.1
Stefano Stabellini
2013-Nov-18 14:02 UTC
Re: [PATCH] arm/xen: Export phys_to_mach to fix Xen module link errors
On Mon, 18 Nov 2013, Josh Boyer wrote:> Various xen drivers fail to link when built as modules with the following > error: > > ERROR: "phys_to_mach" [drivers/xen/xen-gntalloc.ko] undefined! > ERROR: "phys_to_mach" [drivers/net/xen-netfront.ko] undefined! > ERROR: "phys_to_mach" [drivers/net/xen-netback/xen-netback.ko] undefined! > ERROR: "phys_to_mach" [drivers/block/xen-blkfront.ko] undefined! > > The mfn_to_pfn and pfn_to_mfn functions get inlined in these modules and > those functions require phys_to_mach. Export the symbol to fix the link > errors. > > Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>Reviewed-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>> arch/arm/xen/p2m.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/arm/xen/p2m.c b/arch/arm/xen/p2m.c > index 23732cd..0f842e8 100644 > --- a/arch/arm/xen/p2m.c > +++ b/arch/arm/xen/p2m.c > @@ -27,6 +27,7 @@ struct xen_p2m_entry { > > rwlock_t p2m_lock; > struct rb_root phys_to_mach = RB_ROOT; > +EXPORT_SYMBOL_GPL(phys_to_mach); > static struct rb_root mach_to_phys = RB_ROOT; > > static int xen_add_phys_to_mach_entry(struct xen_p2m_entry *new) > -- > 1.8.3.1 >