]> git.kernelconcepts.de Git - karo-tx-uboot.git/commit
common: board: support systems with where RAM ends beyond 4GB
authorStephen Warren <swarren@nvidia.com>
Tue, 23 Dec 2014 17:34:49 +0000 (10:34 -0700)
committerLothar Waßmann <LW@KARO-electronics.de>
Tue, 1 Sep 2015 12:10:26 +0000 (14:10 +0200)
commitf4cf42c8a6ceafc90afe3b010f1063188e0f8598
tree591192e202ae6ac4292ac565c1bb784621743d3e
parenta96849bb1b73b8eb7efd97bd1760248d4e3e5467
common: board: support systems with where RAM ends beyond 4GB

Some systems have so much RAM that the end of RAM is beyond 4GB. An
example would be a Tegra124 system (where RAM starts at 2GB physical)
that has more than 2GB of RAM.

In this case, we can gd->ram_size to represent the actual RAM size, so
that the actual RAM size is passed to the OS. This is useful if the OS
implements LPAE, and can actually use the "extra" RAM.

However, U-Boot does not implement LPAE and so must deal with 32-bit
physical addresses. To this end, we enhance board_get_usable_ram_top() to
detect the "over-sized" case, and limit the relocation addres so that it
fits into 32-bits of physical address space.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
common/board_f.c