Ralf Baechle wrote: > On Wed, Feb 28, 2007 at 01:35:32PM -0800, Marc St-Jean wrote: > > > Ralf Baechle wrote: > > > On Tue, Feb 27, 2007 at 05:38:41PM +0000, Thiemo Seufer wrote: > > > > > > > Something like > > > > > > > > #if LOADADDR == 0xffffffff80000000 > > > > .fill 0x400 > > > > #endif > > > > > > > > but by defining an appropriate name in arch/mips/Makefile > instead of > > > > externalizing the load-y/LOADADDR there. > > > > > > Basically a good idea but it will fail for 64-bit kernels so the test > > > would need to be extended to cover XKPHYS as well. Also R2 processors > > > which have the c0_ebase registers do no need to reserve space for > > > exception handlers as they can easily move them elsewhere. > > > > > > Ralf > > > > Hi Ralf, > > > > From your description it sounds like not all R2 CPUs have c0_ebase > registers? > > > > I don't know how to check for c0_ebase from the pre-processor, the > test below > > assumes they all do. > > Sorry for being ambigous. All R2 processors have ebase. However Linux > happens to support older processors as well, that was my point. > > > How about something like: > > > > #if (defined(CONFIG_SYS_HAS_CPU_MIPS32_R1) && \ > > VMLINUX_LOAD_ADDRESS == CKSEG0) || \ > > ((defined(CONFIG_SYS_HAS_CPU_MIPS64_R1) || > defined(CONFIG_SYS_HAS_CPU_MIPS64_R2)) && \ > > VMLINUX_LOAD_ADDRESS == XKPHYS) > > .fill 0x400 > > #endif > > There are several potencial addresses in XKPHYS, so if anything: > > #if !defined(CONFIG_CPU_MIPSR2) && \ > ((VMLINUX_LOAD_ADDRESS == CKSEG0) || \ > (VMLINUX_LOAD_ADDRESS & 0xc7ffffffffffffffUL) == XKPHYS) > > However even where ebase actually exists there might be reasons not to use > it. So a config option might be the safe thing to do. > > Ralf OK, I'll introduce a CONFIG_NO_EXCEPT_FILL as proposed earlier and select it in our platform configuration section. Marc