[PATCH 26/26] leon,tn-0018: work around GRLIB-TN-0018 errata

Sebastian Huber sebastian.huber at embedded-brains.de
Mon Jun 29 11:57:24 UTC 2020


On 29/06/2020 13:28, Daniel Hellstrom wrote:

> diff --git a/bsps/sparc/leon3/config/gr712rc.cfg b/bsps/sparc/leon3/config/gr712rc.cfg
> index 3852932..e8f0731 100644
> --- a/bsps/sparc/leon3/config/gr712rc.cfg
> +++ b/bsps/sparc/leon3/config/gr712rc.cfg
> @@ -10,10 +10,11 @@ RTEMS_CPU=sparc
>   #  and (hopefully) optimize for it.
>   #  GCC and clang use different switches to select target:
>   ifneq (,$(findstring clang,$(CC)))
> -  CPU_CFLAGS = -mcpu=gr712rc
> +  CPU_CFLAGS = -mcpu=gr712rc -D__FIX_LEON3FT_TN0018
>   else
> -  CPU_CFLAGS = -mcpu=leon3 -mfix-gr712rc
> +  CPU_CFLAGS = -mcpu=leon3 -mfix-gr712rc -D__FIX_LEON3FT_TN0018
>   endif
> +# -D__FIX_LEON3FT_TN0018 enables kernel work around for GRLIB-TN-0018 errata
>   
>   # optimize flag: typically -O2
>   CFLAGS_OPTIMIZE_V = -O2 -g
> diff --git a/bsps/sparc/leon3/config/ut699.cfg b/bsps/sparc/leon3/config/ut699.cfg
> index a8fff49..ed70cf5 100644
> --- a/bsps/sparc/leon3/config/ut699.cfg
> +++ b/bsps/sparc/leon3/config/ut699.cfg
> @@ -8,7 +8,8 @@ RTEMS_CPU=sparc
>   
>   #  This contains the compiler options necessary to select the CPU model
>   #  and (hopefully) optimize for it.
> -CPU_CFLAGS = -mcpu=leon -mfix-ut699
> +# -D__FIX_LEON3FT_TN0018 enables kernel work around for GRLIB-TN-0018 errata
> +CPU_CFLAGS = -mcpu=leon -mfix-ut699 -D__FIX_LEON3FT_TN0018
>   
>   # optimize flag: typically -O2
>   CFLAGS_OPTIMIZE_V = -O2 -g
> diff --git a/bsps/sparc/leon3/config/ut700.cfg b/bsps/sparc/leon3/config/ut700.cfg
> index bcca901..5c6fff8 100644
> --- a/bsps/sparc/leon3/config/ut700.cfg
> +++ b/bsps/sparc/leon3/config/ut700.cfg
> @@ -8,7 +8,8 @@ RTEMS_CPU=sparc
>   
>   #  This contains the compiler options necessary to select the CPU model
>   #  and (hopefully) optimize for it.
> -CPU_CFLAGS = -mcpu=leon3 -mfix-ut700
> +# -D__FIX_LEON3FT_TN0018 enables kernel work around for GRLIB-TN-0018 errata
> +CPU_CFLAGS = -mcpu=leon3 -mfix-ut700 -D__FIX_LEON3FT_TN0018
>   
>   # optimize flag: typically -O2
>   CFLAGS_OPTIMIZE_V = -O2 -g
Command line defines are discouraged and in cpukit only multilib defined 
defines should be used. Can't you the existing __FIX_LEON3FT_B2BST 
define to enable the errata workarounds?


More information about the devel mailing list