On Thu, 2007-07-26 at 11:56 +1000, Stephen Rothwell wrote:
> 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).

Gotcha, thanks for the clarification.  :-)

-Will

> 
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to