[U-Boot-Users] [PATCH] 85xx: Remove cache config from configs.h

Jon Loeliger jdl at freescale.com
Wed Jan 9 19:12:44 CET 2008


On Tue, 2008-01-08 at 01:24, Kumar Gala wrote:
> Either use the standard defines in asm/cache.h or grab the information
> at runtime from the L1CFG SPR.
> 
> Also, minor cleanup in cache.h to make the code a bit more readable.
> 
> Signed-off-by: Kumar Gala <galak at kernel.crashing.org>
> ---
> 
> Again, this is my kernel.org u-boot tree in the mpc85xx branch and
> supercedes the previous patch that was fixup in the cache warnings.
> 
>  cpu/mpc85xx/start.S           |    9 +++++++--
>  include/asm-ppc/cache.h       |   10 ++++------
>  include/asm-ppc/processor.h   |    4 ++++
>  include/configs/MPC8540ADS.h  |    7 -------
>  include/configs/MPC8540EVAL.h |    7 -------
>  include/configs/MPC8541CDS.h  |    7 -------
>  include/configs/MPC8544DS.h   |    7 -------
>  include/configs/MPC8548CDS.h  |    7 -------
>  include/configs/MPC8555CDS.h  |    7 -------
>  include/configs/MPC8560ADS.h  |    7 -------
>  include/configs/MPC8568MDS.h  |    7 -------
>  include/configs/MPC8641HPCN.h |    7 -------
>  include/configs/PM854.h       |    7 -------
>  include/configs/PM856.h       |    7 -------
>  include/configs/SBC8540.h     |    7 -------
>  include/configs/TQM85xx.h     |    7 -------
>  include/configs/sbc8560.h     |    7 -------
>  include/configs/stxgp3.h      |    7 -------
>  include/configs/stxssa.h      |    7 -------
>  19 files changed, 15 insertions(+), 120 deletions(-)
> 
> diff --git a/cpu/mpc85xx/start.S b/cpu/mpc85xx/start.S
> index b769ef8..b489d2f 100644
> --- a/cpu/mpc85xx/start.S
> +++ b/cpu/mpc85xx/start.S
> @@ -268,7 +268,10 @@ _start_e500:
>  	 */
>  	lis	r3,CFG_INIT_RAM_ADDR at h
>  	ori	r3,r3,CFG_INIT_RAM_ADDR at l
> -	li	r2,(CFG_DCACHE_SIZE / (2 * CFG_CACHELINE_SIZE))
> +	mfspr	r2, L1CFG0
> +	andi.	r2, r2, 0x1ff
> +	/* cache size * 1024 / (2 * L1 line size) */
> +	slwi	r2, r2, (10 - 1 - L1_CACHE_SHIFT)
>  	mtctr	r2
>  	li	r0,0
>  1:
> @@ -1061,7 +1064,9 @@ unlock_ram_in_cache:
>  	/* invalidate the INIT_RAM section */
>  	lis	r3,(CFG_INIT_RAM_ADDR & ~31)@h
>  	ori	r3,r3,(CFG_INIT_RAM_ADDR & ~31)@l
> -	li	r4,(CFG_DCACHE_SIZE / (2 * CFG_CACHELINE_SIZE))
> +	mfspr	r4,L1CFG0
> +	andi.	r4,r4,0x1ff
> +	slwi	r4,r4,(10 - 1 - L1_CACHE_SHIFT)
>  	mtctr	r4
>  1:	icbi	r0,r3
>  	dcbi	r0,r3

Kumar,

As per Stefan's question:

Those above changes weren't needed in the 86xx/start.S code,
so you removed the cache bits from the MPC8641HPCN.h config
file as well.  Good.

I'm assuming that the generic/cache.h is now supplying the
right defines for 8641, right?


> diff --git a/include/configs/MPC8641HPCN.h b/include/configs/MPC8641HPCN.h
> index 6f87240..344f6b2 100644
> --- a/include/configs/MPC8641HPCN.h
> +++ b/include/configs/MPC8641HPCN.h
> @@ -577,13 +577,6 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
>   */
>  #define CFG_BOOTMAPSZ	(8 << 20)	/* Initial Memory map for Linux*/
> 
> -/* Cache Configuration */
> -#define CFG_DCACHE_SIZE		32768
> -#define CFG_CACHELINE_SIZE	32
> -#if defined(CONFIG_CMD_KGDB)
> -    #define CFG_CACHELINE_SHIFT	5	/*log base 2 of the above value*/
> -#endif
> -
>  /*
>   * Internal Definitions
>   *

You didn't apply the same removal to the MPC8610HPCD.h config
file, though.  Was that just oversight, or was there an issue
with the generic values from cache.h now?  If it is the former,
I'll just knock out the obvious removal of that cache #defineage
from the MPC8610HPCD.h file as well.

Thanks,
jdl







More information about the U-Boot mailing list