Re: Bisected: RED State Exception in 4.5 on E420R

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi David.

Took a quick skim through the patch.
But first let me say that it was a good spot of the bug.
It was not obvious the the size restriction was the culprint.

A few random comments - but nothing that needs to be updated.

	Sam

> diff --git a/arch/sparc/kernel/fpu_traps.S b/arch/sparc/kernel/fpu_traps.S
> index a686482..336d275 100644
> --- a/arch/sparc/kernel/fpu_traps.S
> +++ b/arch/sparc/kernel/fpu_traps.S
> @@ -100,8 +100,8 @@ do_fpdis:
>  	fmuld		%f0, %f2, %f26
>  	faddd		%f0, %f2, %f28
>  	fmuld		%f0, %f2, %f30
> -	b,pt		%xcc, fpdis_exit
> -	 nop
> +	ba,a,pt		%xcc, fpdis_exit
> +
My sparc assembler foo is not good.
And I could not find any references to "b," branch instructions.
So I assume the "b," is equivalent to "ba,".
Which makes this good as the code now uses a documented variant.


>  	add	%g1, 1, %g1
> -	mov	SUN4V_CHIP_SPARC64X, %g4
>  	ba,pt	%xcc, 5f
> -	nop
> +	 mov	SUN4V_CHIP_SPARC64X, %g4

Nice..
Maybe we could have done so in mor places, but I did not spot them.

> diff --git a/arch/sparc/kernel/vmlinux.lds.S b/arch/sparc/kernel/vmlinux.lds.S
> index aadd321..7d02b1f 100644
> --- a/arch/sparc/kernel/vmlinux.lds.S
> +++ b/arch/sparc/kernel/vmlinux.lds.S
> @@ -33,6 +33,10 @@ ENTRY(_start)
>  jiffies = jiffies_64;
>  #endif
>  
> +#ifdef CONFIG_SPARC64
> +ASSERT((swapper_tsb == 0x0000000000408000), "Error: sparc64 early assembler too large")
> +#endif

You did not use:
. = ASSERT() so older binutils are not supportet.
This is no problem because my boxes both have newer binutils.
And the testers that reported back on the mailing list did not
see any problems either - so I will assume this is OK.

	Sam
--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux