Thread (5 messages) 5 messages, 5 authors, 2007-06-04

Re: ps3 64-bit kernel: patched prpmc2800.c (fwd)

From: Geoff Levand <hidden>
Date: 2007-06-02 19:01:05

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help