u-boot-brain/arch
Marek Vasut 221a49d5bd ARM: Fix overflow in MMU setup
The patch fixes a corner case where adding size to DRAM start resulted
in a value (1 << 32), which in turn overflew the u32 computation, which
resulted in 0 and it therefore prevented correct setup of the MMU tables.

The addition of DRAM bank start and it's size can end up right at the end
of the address space in the special case of a machine with enough memory.
To prevent this overflow, shift the start and size separately and add them
only after they were shifted.

Hopefully, we only have systems in tree which have DRAM size aligned to
1MiB boundary. If not, this patch would break such systems. On the other
hand, such system would be broken by design anyway.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
2014-08-30 07:46:39 -04:00
..
arc kconfig: delete redundant CONFIG_${ARCH} definition 2014-07-30 14:42:02 -04:00
arm ARM: Fix overflow in MMU setup 2014-08-30 07:46:39 -04:00
avr32 kconfig: delete redundant CONFIG_${ARCH} definition 2014-07-30 14:42:02 -04:00
blackfin blackfin: convert blackfin board_f and board_r to use generic board init functions 2014-08-07 15:15:14 +08:00
m68k kconfig: delete redundant CONFIG_${ARCH} definition 2014-07-30 14:42:02 -04:00
microblaze kconfig: add board Kconfig and defconfig files 2014-07-30 08:48:01 -04:00
mips kconfig: delete redundant CONFIG_${ARCH} definition 2014-07-30 14:42:02 -04:00
nds32 kconfig: delete redundant CONFIG_${ARCH} definition 2014-07-30 14:42:02 -04:00
nios2 nios2: remove EPCS driver 2014-08-24 11:28:19 +08:00
openrisc kconfig: delete redundant CONFIG_${ARCH} definition 2014-07-30 14:42:02 -04:00
powerpc powerpc: mpc8xx: remove FLAGADM board support 2014-08-21 12:01:12 -04:00
sandbox kconfig: delete redundant CONFIG_${ARCH} definition 2014-07-30 14:42:02 -04:00
sh kconfig: add board Kconfig and defconfig files 2014-07-30 08:48:01 -04:00
sparc kconfig: delete redundant CONFIG_${ARCH} definition 2014-07-30 14:42:02 -04:00
x86 kconfig: delete redundant CONFIG_${ARCH} definition 2014-07-30 14:42:02 -04:00
.gitignore .gitignore: drop include/asm/proc from ignore pattern 2014-06-19 11:18:54 -04:00
Kconfig kconfig: add basic Kconfig files 2014-07-30 08:48:02 -04:00