Subject: Re: [PATCH] powerpc/fsl-booke: Work around erratum A-006958

From: "Aneesh Kumar K.V" <[email-masked]>
Date: Mon, 15 Jul 2013 11:33:22 +0530

Scott Wood <[email-masked]> writes:

> diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype
> index ae0aaea..7f0e2e5 100644
> --- a/arch/powerpc/platforms/Kconfig.cputype
> +++ b/arch/powerpc/platforms/Kconfig.cputype
> @@ -165,6 +165,17 @@ config PPC_E500MC
>  	  such as e5500/e6500), and must be disabled for running on
>  	  e500v1 or e500v2.
>
> +config FSL_ERRATUM_A_006958
> +	bool
> +	depends on PPC_E500MC && PPC64
> +	default y
> +	help
> +	  Workaround for erratum A-006958, which says that 64-bit
> +	  timebase reads are not atomic.  The workaround is to fall back
> +	  to the 32-bit method of reading timebase.  Note that timebase
> +	  is readable by userspace, so any non-vdso userspace accesses
> +	  will need to have the workaround applied separately.
> +
>  config PPC_FPU
>  	bool
>  	default y if PPC64

I am completely new to this area, so ignore if it is silly. But how do
we expect to select this config ? Should that happen via .config ?
That seems strange, because without this change some of the configs
will surely be broken/buggy right ?. I was expecting it not be a config
entry, primarily because I haven't seem something similar on other
archs. And if there is an erratum against a cpu release, we should by
default apply this when we know we are running on those cpus right ?
Which implies this should not be a config option ?

-aneesh