Re: [RESEND PATCH] MIPS: head: Reorder instructions missing a delay slot

2017-06-27 Thread Ralf Baechle
On Tue, Jun 27, 2017 at 07:22:16PM +, Karl Beldan wrote:

> In this sequence the 'move' is assumed in the delay slot of the 'beq',
> but head.S is in reorder mode and the former gets pushed one 'nop'
> farther by the assembler.
> 
> The corrected behavior made booting with an UHI supplied dtb erratic.

Excellent catch, patch applied!

Thanks Karl,

  Ralf


Re: [RESEND PATCH] MIPS: head: Reorder instructions missing a delay slot

2017-06-27 Thread James Hogan
On Tue, Jun 27, 2017 at 07:22:16PM +, Karl Beldan wrote:
> In this sequence the 'move' is assumed in the delay slot of the 'beq',
> but head.S is in reorder mode and the former gets pushed one 'nop'
> farther by the assembler.
> 
> The corrected behavior made booting with an UHI supplied dtb erratic.
> 
> Fixes: 15f37e158892 ("MIPS: store the appended dtb address in a variable")
> Cc: 
> Cc: Ralf Baechle 
> Cc: Jonas Gorski 
> Signed-off-by: Karl Beldan 

Ouch, nice catch.

Reviewed-by: James Hogan 

Cheers
James

> ---
>  arch/mips/kernel/head.S | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/mips/kernel/head.S b/arch/mips/kernel/head.S
> index cf05220..d1bb506 100644
> --- a/arch/mips/kernel/head.S
> +++ b/arch/mips/kernel/head.S
> @@ -106,8 +106,8 @@ NESTED(kernel_entry, 16, sp)  # 
> kernel entry point
>   beq t0, t1, dtb_found
>  #endif
>   li  t1, -2
> - beq a0, t1, dtb_found
>   movet2, a1
> + beq a0, t1, dtb_found
>  
>   li  t2, 0
>  dtb_found:
> -- 
> 2.10.1
> 
> 


signature.asc
Description: Digital signature


[RESEND PATCH] MIPS: head: Reorder instructions missing a delay slot

2017-06-27 Thread Karl Beldan
In this sequence the 'move' is assumed in the delay slot of the 'beq',
but head.S is in reorder mode and the former gets pushed one 'nop'
farther by the assembler.

The corrected behavior made booting with an UHI supplied dtb erratic.

Fixes: 15f37e158892 ("MIPS: store the appended dtb address in a variable")
Cc: 
Cc: Ralf Baechle 
Cc: Jonas Gorski 
Signed-off-by: Karl Beldan 
---
 arch/mips/kernel/head.S | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/mips/kernel/head.S b/arch/mips/kernel/head.S
index cf05220..d1bb506 100644
--- a/arch/mips/kernel/head.S
+++ b/arch/mips/kernel/head.S
@@ -106,8 +106,8 @@ NESTED(kernel_entry, 16, sp)# 
kernel entry point
beq t0, t1, dtb_found
 #endif
li  t1, -2
-   beq a0, t1, dtb_found
movet2, a1
+   beq a0, t1, dtb_found
 
li  t2, 0
 dtb_found:
-- 
2.10.1