E500 linux : are the 64-bit GPRs context-switched ?
Philippe De Muyter
phdm at macqel.be
Tue Feb 26 01:47:22 EST 2008
Dear ppclinux gurus,
I have just compiled linux-2.6.24 for a MPC8540 target using a MPC8540
specific gcc.
After my first attempt using ARCH=ppc, leading to an infinity of messages :
"SPE used in kernel", I recompiled the whole kernel sources using
the default ARCH (ARCH=powerpc). I now have a kernel that does not complain
about "SPE used in kernel", but user processes still crash ramdomly.
Searching around, I learned that the E500 GPR registers are 64-bits wide,
and gcc targetted for powerpc-linuxspe uses them sometimes. In the other
PPC32 targets, those registers are 32-bits wide.
The specific E500 64-bit move instructions are `evstdd' and `evldd'.
I searched in the linux kernel sources (2.6.24) but did not find where
those GPR registers could be saved in 64-bit mode for context-switch.
Is there a patch pending somewhere to preserve the E500 GPR's in 64-bit mode
for context-switch ?
Philippe
More information about the Linuxppc-dev
mailing list