u-boot-brain/include/asm-ppc
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
..
4xx_pci.h ppc4xx: Consolidate pci_master_init() function 2009-11-19 11:35:34 +01:00
4xx_pcie.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
5xx_immap.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
8xx_immap.h Patch by Yuli Barcohen, 19 Apr 2004: 2004-06-06 21:35:06 +00:00
atomic.h Initial revision 2001-04-28 17:59:11 +00:00
bitops.h Correct ffs/fls regression for PowerPC etc 2009-09-17 22:45:31 +02:00
byteorder.h Cleanup for GCC-4.x 2005-10-13 16:45:02 +02:00
cache.h 85xx: Add basic e500mc core support 2008-10-24 15:10:47 -05:00
config.h lmb: only force on arches that use it 2010-01-21 22:26:00 +01:00
cpm_85xx.h Fix DPRAM offset/size for MPC8541/8555. 2005-12-06 15:02:31 +01:00
cpm_8260.h POWERPC 82xx: add the SCC as an HDLC controller 2009-01-24 00:42:04 +01:00
e300.h powerpc: Move duplicated BAT defines to mmu.h 2009-02-10 00:27:40 +01:00
errno.h asm-generic: Consolidate errno.h to asm-generic/errno.h 2009-07-09 14:07:11 +02:00
fsl_ddr_dimm_params.h fsl-ddr: add the DDR3 SPD infrastructure 2009-03-30 13:33:50 -05:00
fsl_ddr_sdram.h fsl-ddr: add override for the Rtt_Wr 2010-01-05 13:49:27 -06:00
fsl_dma.h 83xx: Add support for fsl_dma driver 2009-07-02 11:15:57 -05:00
fsl_i2c.h Make fsl-i2c not conflict with SOFT I2C 2006-11-29 00:25:26 -06:00
fsl_law.h fsl_law: add SRIO2 target id and law_size_bits() macro 2010-01-05 13:49:09 -06:00
fsl_lbc.h ppc/p4080: Add p4080 platform immap definitions 2009-09-24 12:05:27 -05:00
fsl_pci.h ppc/8xxx: Remove is_fsl_pci_agent 2010-01-05 13:49:07 -06:00
fsl_serdes.h mpc83xx: serdes: add forgotten shifts for rfcks 2008-10-21 18:34:01 -05:00
global_data.h PPC: Record U-Boot's relocated address in RAM and show in bdinfo. 2010-03-11 23:49:16 +01:00
gpio.h ppc4xx: Add struct for 4xx GPIO controller registers 2009-07-24 06:47:33 +02:00
immap_83xx.h NET: Base support for etsec2.0 2010-01-05 13:49:04 -06:00
immap_85xx.h ppc/p4080: Add Corenet Platform Cache (CPC) registers 2010-01-05 13:52:00 -06:00
immap_86xx.h 86xx: Add support for 'cpu disable' command 2010-01-26 23:17:50 -06:00
immap_512x.h mpc512x: fix System Clock Control constants for USB1 & USB2 2009-10-18 23:04:05 +02:00
immap_8220.h Patch by TsiChung Liew, 23 Sep 2004: 2004-10-28 00:09:35 +00:00
immap_8260.h Patch by Thomas Viehweger, 14 May 2004: 2004-06-09 12:42:26 +00:00
immap_qe.h drivers/qe: Add more SNUM number for QE 2009-06-12 17:17:00 -05:00
interrupt.h ppc4xx: CPU PPC440x5 on Virtex5 FX 2008-07-18 12:30:50 +02:00
io.h ppc: Use addrmap in virt_to_phys and map_physmem. 2008-12-19 18:20:08 -06:00
iopin_8xx.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
iopin_85xx.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
iopin_8260.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
m8260_pci.h * Code cleanup: 2003-06-27 21:31:46 +00:00
mc146818rtc.h Initial revision 2000-11-20 17:21:10 +00:00
mmu.h mpc86xx: set the DDR BATs after calculating true DDR size 2010-03-30 10:50:22 -05:00
mp.h Update CHANGELOG, coding style cleanup. 2009-04-05 00:27:57 +02:00
mpc8xxx_spi.h 83xx: Replace CONFIG_MPC83[0-9]X with MPC83[0-9]x 2009-06-12 20:47:17 +02:00
mpc512x.h mpc512x: fix fixed_sdram() init code. 2009-10-08 00:23:12 +02:00
mpc8349_pci.h Added PCI support for MPC8349ADS board 2006-01-12 19:51:38 -06:00
pci_io.h * Code cleanup: 2003-06-27 21:31:46 +00:00
pnp.h * Code cleanup: 2003-06-27 21:31:46 +00:00
posix_types.h Initial revision 2001-04-28 17:59:11 +00:00
ppc4xx_config.h Add "chip_config" command for PPC4xx bootstrap configuration 2009-07-24 06:42:32 +02:00
ppc4xx-ebc.h ppc4xx: Corrected EBC register bit definitions 2010-03-02 14:12:52 +01:00
ppc4xx-isram.h ppc4xx: Added ppc4xx-isram.h for internal SRAM and L2 cache DCRs 2008-11-21 10:52:33 +01:00
ppc4xx-sdram.h ppc4xx: Merge PPC4xx DDR and DDR2 ECC handling 2009-10-02 13:53:37 +02:00
ppc4xx-uic.h ppc4xx: Convert PPC4xx UIC defines from lower case to upper case 2009-09-28 10:45:42 +02:00
processor.h 85xx: Fix enabling of L1 cache parity on secondary cores 2010-03-30 10:48:30 -05:00
ptrace.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
residual.h * Code cleanup: 2003-06-27 21:31:46 +00:00
sigcontext.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
signal.h Initial revision 2001-04-28 17:59:11 +00:00
status_led.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
string.h Initial revision 2000-08-21 15:05:47 +00:00
types.h Replace __attribute references with __attribute__ 2009-04-28 01:01:39 +02:00
u-boot.h 83xx: Replace CONFIG_MPC83XX with CONFIG_MPC83xx 2009-06-12 20:47:17 +02:00
unaligned.h Add LZO decompressor support 2009-03-20 22:39:15 +01:00
xilinx_irq.h ppc4xx: Minor coding style cleanup of Xilinx Virtex5 ml507 support 2008-07-18 12:31:25 +02:00