linux-mips
[Top] [All Lists]

Re: [PATCH] MIPS: Kconfig: Add missing MODULES dependency to VPE_LOADER

To: Markos Chandras <markos.chandras@imgtec.com>
Subject: Re: [PATCH] MIPS: Kconfig: Add missing MODULES dependency to VPE_LOADER
From: Ralf Baechle <ralf@linux-mips.org>
Date: Fri, 28 Jun 2013 15:31:11 +0200
Cc: linux-mips@linux-mips.org
In-reply-to: <1372422327-21814-1-git-send-email-markos.chandras@imgtec.com>
List-archive: <http://www.linux-mips.org/archives/linux-mips/>
List-help: <mailto:ecartis@linux-mips.org?Subject=help>
List-id: linux-mips <linux-mips.eddie.linux-mips.org>
List-owner: <mailto:ralf@linux-mips.org>
List-post: <mailto:linux-mips@linux-mips.org>
List-software: Ecartis version 1.0.0
List-subscribe: <mailto:ecartis@linux-mips.org?subject=subscribe%20linux-mips>
List-unsubscribe: <mailto:ecartis@linux-mips.org?subject=unsubscribe%20linux-mips>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <1372422327-21814-1-git-send-email-markos.chandras@imgtec.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.5.21 (2010-09-15)
On Fri, Jun 28, 2013 at 01:25:27PM +0100, Markos Chandras wrote:

> The vpe.c code uses the 'struct module' which is only available if
> CONFIG_MODULES is selected.
> 
> Also fixes the following build problem on a lantiq allmodconfig:
> In file included from arch/mips/kernel/vpe.c:41:0:
> include/linux/moduleloader.h: In function 'apply_relocate':
> include/linux/moduleloader.h:48:63: error: dereferencing pointer
> to incomplete type
> include/linux/moduleloader.h: In function 'apply_relocate_add':
> include/linux/moduleloader.h:70:63: error: dereferencing pointer
> to incomplete type
> 
> Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
> Reviewed-by: James Hogan <james.hogan@imgtec.com>

Sigh.  One more bug in the thing.  It first of all shouldn't have been
designed recycling so much code from the module loader in inapropriate
ways.

I'm going to apply the patch - but as usual whenver I have to touch the
VPE loader, kspd or rtlx I feel like a blunt chainsaw would be the right
way to fix this code.

SPUFS is a special filesystem which was designed to use the Playstation 3's
synergetic elements.  The code is in arch/powerpc/platforms/cell/spufs
and it's a far, cleaner interface to other processing thingies, be they
synergetic elements, or other cores, VPEs and TCs running bare metal
code or strage things like custom processors.

See also Documentation/filesystems/spufs.txt in the kernel code or the
spufs(7) man page.

I'm not suggesting to strictly use the same interface as SPUFS but rather
as a template.

Doing things spufs style will also mean relocation will have to be
performed in userspace again.  That code exists in modutils for the
2.4 kernel.

  Ralf

<Prev in Thread] Current Thread [Next in Thread>