mips: PMC MSP71xx mips common
Quoted 46 lines · Ralf Baechle
Quoted 10 lines · Marc St-Jean
Quoted 9 lines · Ralf Baechle
Quoted 7 lines · Thiemo Seufer
Something like
#if LOADADDR == 0xffffffff80000000 .fill 0x400#endif
but by defining an appropriate name in
arch/mips/Makefileinstead of
Quoted 7 lines
Quoted 7 lines
Quoted 1 line
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_ebaseregisters do no need to reserve space for exception handlers as they can easily move them elsewhere.Quoted 5 lines
Quoted 1 line
Ralf
Hi Ralf,
From your description it sounds like not all R2 CPUs have
c0_ebaseregisters?
Quoted 2 lines
I don't know how to check for
c0_ebasefrom the pre-processor, thetest below
Quoted 1 line
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.
Quoted 5 lines
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)) && \Quoted 3 lines
VMLINUX_LOAD_ADDRESS == XKPHYS) .fill 0x400#endif
There are several potencial addresses in XKPHYS, so if anything:
Quoted 8 lines
#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