ps3 64-bit kernel: patched prpmc2800.c (fwd)
Geoff Levand
geoffrey.levand at am.sony.com
Sun Jun 3 04:39:32 EST 2007
Maik Nijhuis wrote:
> While compiling a 64-bit kernel for the playstation 3 I noticed that
> arch/powerpc/boot/prpmc2800.c doesn't compile. The assembler complains
> about a constant that is too big.
>
> And then this error follows:
>
> /tmp/ccYHAOD7.s: Assembler messages:
> /tmp/ccYHAOD7.s:9: Error: operand out of range (0xffffffffffff7fff is not
> between 0x0000000000000000 and 0x00000000ffffffff)
>
> I managed to fix this issue as follows: At the end of
> arch/powerpc/boot/prpmc2800.c, there is an assembly instruction
>
> rlwinm 10,10,0,~(1<<15)
>
> I replaced this by
>
> rlwinm 10,10,0,~(1<<15) & ((1<<32)-1)
>
> I am running 64-bit gentoo linux with binutils 2.17.50.0.16. It has been
> compiled on my ps3 using gentoo ebuild scripts.
>
> Could you please either fix binutils or apply the above patch?
The trouble is that I have no way to test that change. I don't have the
hardware. Since that file is not for PS3, the best thing to do
is to not build that file when not building for prpmc2800. I will
post a patch that does that.
-Geoff
More information about the Linuxppc-dev
mailing list