u-boot-brain/cpu/mpc86xx
Timur Tabi 9ff32d8ccf mpc86xx: set the DDR BATs after calculating true DDR size
After determining how much DDR is actually in the system, set DBAT0 and
IBAT0 accordingly.  This ensures that the CPU won't attempt to access
(via speculation) addresses outside of actual memory.

On 86xx systems, DBAT0 and IBAT0 (the BATs for DDR) are initialized to 2GB
and kept that way.  If the system has less than 2GB of memory (typical for
an MPC8610 HPCD), the CPU may attempt to access this memory during
speculation.  The zlib code is notorious for generating such memory reads,
and indeed on the MPC8610, uncompressing the Linux kernel causes a machine
check (without this patch).

Currently we are limited to power of two sized DDR since we only use a
single bat.  If a non-power of two size is used that is less than
CONFIG_MAX_MEM_MAPPED u-boot will crash.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2010-03-30 10:50:22 -05:00
..
cache.S rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
config.mk ppc: remove -ffixed-r14 gcc option. 2010-01-26 19:30:16 +01:00
cpu_init.c mpc86xx: set the DDR BATs after calculating true DDR size 2010-03-30 10:50:22 -05:00
cpu.c mpc86xx: set the DDR BATs after calculating true DDR size 2010-03-30 10:50:22 -05:00
ddr-8641.c 86xx: Rename ccsr_ddr's sdram_mode_1, sdram_cfg_1 fields 2009-07-22 09:43:47 -05:00
fdt.c ppc/85xx/86xx: Device tree fixup for number of cores 2009-09-08 09:10:08 -05:00
interrupts.c rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
Makefile 86xx: Cleanup MP support 2009-04-01 15:29:44 -05:00
mp.c 86xx: Add support for 'cpu disable' command 2010-01-26 23:17:50 -06:00
release.S 86xx: Cleanup MP support 2009-04-01 15:29:44 -05:00
speed.c mpc8[56]xx: Put localbus clock in sysinfo and gd 2008-12-19 18:32:49 -06:00
start.S ppc: Use r12 instead of r14 as GOT pointer. 2010-01-26 19:30:13 +01:00
traps.c kgdb: cpu/mpc* cpu/74xx: include kgdb.h when needed 2010-02-08 22:05:42 +01:00