On Fri, Feb 24, 2017 at 10:21:50AM +0100, Jonas Bonn wrote:
> On 02/24/2017 05:32 AM, Stafford Horne wrote:
> > Originally openrisc spec 0 specified that r0 would be wired to ground.
> > This is no longer the case.  r0 is not guaranteed to be 0 at init, so we
> > need to initialize it to 0 before using it.
> > 
> > Also, if we are clearing r0 we cant use r0 to clear itself. Change the
> > the CLEAR_GPR macro to use movhi for clearing.
> 
> Use the Reported-by: tag here since you are taking the time to mention him
> in the summary mail.

Right, added.

Thanks.

> Reported-by:  Jakob...
> > Signed-off-by: Stafford Horne <sho...@gmail.com>
> > ---
> >   arch/openrisc/kernel/head.S | 5 ++++-
> >   1 file changed, 4 insertions(+), 1 deletion(-)
> > 
> > diff --git a/arch/openrisc/kernel/head.S b/arch/openrisc/kernel/head.S
> > index 573e131..e8a1784 100644
> > --- a/arch/openrisc/kernel/head.S
> > +++ b/arch/openrisc/kernel/head.S
> > @@ -35,7 +35,7 @@
> >     l.add   rd,rd,rs
> >   #define CLEAR_GPR(gpr)                            \
> > -   l.or    gpr,r0,r0
> > +   l.movhi gpr,0x0
> >   #define LOAD_SYMBOL_2_GPR(gpr,symbol)             \
> >     l.movhi gpr,hi(symbol)                  ;\
> > @@ -443,6 +443,9 @@ _dispatch_do_ipage_fault:
> >     __HEAD
> >     .global _start
> >   _start:
> > +   /* Init r0 to zero as per spec */
> > +   CLEAR_GPR(r0)
> > +
> >     /* save kernel parameters */
> >     l.or    r25,r0,r3       /* pointer to fdt */
> 
> 

Reply via email to