lkml.org 
[lkml]   [2017]   [Feb]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v4 24/24] openrisc: head: Init r0 to 0 on start
From
Date
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.

Reported-by: Jakob...
> Signed-off-by: Stafford Horne <shorne@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 */
>


\
 
 \ /
  Last update: 2017-02-24 11:06    [W:0.237 / U:0.332 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site