ARM: tegra: reduce DRAM size mapped into MMU on ARM64
authorStephen Warren <swarren@nvidia.com>
Mon, 10 Oct 2016 15:50:55 +0000 (09:50 -0600)
committerTom Warren <twarren@nvidia.com>
Mon, 10 Oct 2016 18:00:03 +0000 (11:00 -0700)
commitd40d69ee350b62af90c2b522e05cbb3eb5f27112
tree9f4a2356c46bdd04335e8272da214ed91b6662e8
parentd5a24d8b53d350364bd429b7104ec369b817e4b8
ARM: tegra: reduce DRAM size mapped into MMU on ARM64

ARM CPUs can architecturally (speculatively) prefetch completely arbitrary
normal memory locations, as defined by the current translation tables. The
current MMU configuration for 64-bit Tegras maps an extremely large range
of addresses as DRAM, well beyond the actual physical maximum DRAM window,
even though U-Boot only needs access to the first 2GB of DRAM; the Tegra
port of U-Boot deliberately limits itself to 2GB of RAM since some HW
modules on at least some 64-bit Tegra SoCs can only access a 32-bit
physical address space. This change reduces the amount of RAM mapped via
the MMU to disallow the CPU from ever speculatively accessing RAM that
U-Boot will definitely not access. This avoids the possibility of the HW
raising SError due to accesses to always-invalid physical addresses.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
arch/arm/mach-tegra/arm64-mmu.c