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@xxxxxxxxxx> > Reviewed-by: James Hogan <james.hogan@xxxxxxxxxx> 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