XIP_KERNEL and !ARCH_MULTIPLATFORM

Arnd Bergmann arnd at arndb.de
Sun Mar 22 12:40:55 PDT 2015


On Saturday 21 March 2015, Chris Brandt wrote:
> > At first glance, HIGHMEM shouldn't be affected by XIP_KERNEL at all.
> 
> I really didn't find the root cause of this. I just remember looking at the crashed log and it seemed like removing HIGHMEM would fix it....and it did (can't remember the details).
> 
> > However, SMP_ON_UP is incompatible with XIP_KERNEL (as already listed in its dependencies) and building with SMP=y without SMP_ON_UP, and trying to run on UP hardware will definitely fail.
> 
> So, it sounds like you are saying XIP_KERNEL and SMP is not going to happen.
> 
> However, you said:
> > To put that another way:
> > 1. SMP_ON_UP relies on being able to change the kernel text, which it
> >    can't do with an XIP kernel.
> 
> But, what kernel text are we talking about? All of it, or just certain parts?
> What if I changed the linker to put all those files in a specific area and
> then remap that one area to RAM (of course and copy the binary too). Yes,
> sounds pretty hack-ish, but if XIP can't go past single core, it might not
> have a long term future anyway.

XIP should be fine on ARMv7 SMP, which does not require SMP_ON_UP.

Maybe it's enough to describe the dependency in the opposite way and make
XIP_KERNEL depend on !SMP_ON_UP. You should never really need the two
together anyway, since SMP_ON_UP is only needed for kernels that are
meant to run on SMP machines with full SMP support as well as legacy
ARMv6 machines without SMP instructions.
 

	Arnd



More information about the linux-arm-kernel mailing list