[U-Boot] [PATCH] mpc8610hpcd: set the guarded bit to DBAT of system memory

Kumar Gala galak at kernel.crashing.org
Thu Mar 25 20:57:38 CET 2010


On Mar 25, 2010, at 11:30 AM, Dave Liu wrote:

> The BAT of system memory is setting as 2GB block, however
> the mpc8610hpcd is shipping with 512MB DDR2 memory, there will
> be a hole in the 2GB memory space, no any physical memory cover
> the hole. It will cause PPC speculative data access to the hole,
> the result is machine check.
> 
> There are two options to resolve the issue, one is changing the
> block size to 512MB, another one is setting the G bit to DBAT.
> but the mpc8610hpcd memory is DIMM-based, the size is variable.
> so the second option is the best.
> 
> The issue is seen by Timur Tabi with the latest u-boot tree when
> boot up the Linux kernel.
> 
> Report-by: Timur Tabi <B04825 at freescale.com>
> Signed-off-by: Dave Liu <daveliu at freescale.com>
> ---
> include/configs/MPC8610HPCD.h |    9 +++++++--
> 1 files changed, 7 insertions(+), 2 deletions(-)

Acked-by: Kumar Gala <galak at kernel.crashing.org>

Wolfgang, can you pick this up for v2010.03

- k

> 
> diff --git a/include/configs/MPC8610HPCD.h b/include/configs/MPC8610HPCD.h
> index 1d2d659..629c971 100644
> --- a/include/configs/MPC8610HPCD.h
> +++ b/include/configs/MPC8610HPCD.h
> @@ -338,10 +338,15 @@
> #endif	/* CONFIG_PCI */
> 
> /*
> - * BAT0		2G	Cacheable, non-guarded
> + * BAT0		2G	Cacheable, guarded for data side. it will avoid
> + *                      speculative data access to the memory hole when
> + *                      the board use the DIMM memory size < 2GB, such as
> + *                      512MB. If you need better performance in u-boot,
> + *                      use the matching memory size to BAT.
> + *
>  * 0x0000_0000	2G	DDR
>  */
> -#define CONFIG_SYS_DBAT0L	(BATL_PP_RW | BATL_MEMCOHERENCE)
> +#define CONFIG_SYS_DBAT0L	(BATL_PP_RW | BATL_MEMCOHERENCE | BATL_GUARDEDSTORAGE)
> #define CONFIG_SYS_DBAT0U	(BATU_BL_2G | BATU_VS | BATU_VP)
> #define CONFIG_SYS_IBAT0L	(BATL_PP_RW | BATL_MEMCOHERENCE )
> #define CONFIG_SYS_IBAT0U	CONFIG_SYS_DBAT0U
> -- 
> 1.6.4



More information about the U-Boot mailing list