Hi Will, On Wed, 25 Jul 2007 11:55:31 -0500 Will Schmidt <[EMAIL PROTECTED]> wrote: > > > cmpwi 0,r24,0 /* Are we processor 0? */ > > - beq .__start_initialization_iSeries /* Start up the first processor > > */ > > - mfspr r4,SPRN_CTRLF > > + bne 1f > > + b .__start_initialization_iSeries /* Start up the first processor > > */ > > +1: mfspr r4,SPRN_CTRLF > > li r5,CTRL_RUNLATCH /* Turn off the run light */ > > This part isnt clicking for me.. > How does changing a "beq" to a "bne" over a "b" fit into changing > __start_initialization_iSeries static?
Because I moved __start_initialization_iSeries into another section, it ends up too far away for a conditional branch so something adds a jump table to the .text section and changes this branch to be via that table. Unfortunately, the jump table ends up at the start of the .text and ruins our carefully laid out kernel image. By inverting the test I can turn the branch into an unconditional one which has a larger possible offse (effectively building the jump table manually). -- Cheers, Stephen Rothwell [EMAIL PROTECTED] http://www.canb.auug.org.au/~sfr/
pgp3RK5JIJWjN.pgp
Description: PGP signature
_______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev