u-boot-brain/arch/arm
Stephen Warren 376cb1a453 ARM: tegra: add custom MMU setup on ARMv8
This sets up a fine-grained page table, which is a requirement for
noncached_init() to operate correctly.

MMU setup code currently exists in a number of places:
- A version in the core ARMv8 support code that sets up page tables that
use very large block sizes that CONFIG_SYS_NONCACHED_MEMORY doesn't
support.
- Enhanced versions for fsl-lsch3 and zynmq that set up finer grained
page tables.

Ideally, rather than duplicating the MMU setup code yet again this patch
would instead consolidate all the different routines into the core ARMv8
code so that it supported all use-cases. However, this will require
significant effort since there appear to be a number of discrepancies[1]
between different versions of the code, and between the defines/values by
some copies of the MMU setup code use and the architectural MMU
documentation. Some reverse engineering will be required to determine the
intent of the current code.

[1] For example, in the core ARMv8 MMU setup code, three defines named
TCR_EL[123]_IPS_BITS exist, but only one of them sets the IPS field and
the others set a different field (T1SZ) in the page tables. As far as I
can tell so far, there should be no need to set different values per
exception level nor to modify the T1SZ field at all, since TTBR1 shouldn't
be enabled anyway. Another example is inconsistent values for *_VA_BITS
between the current core ARMv8 MMU setup code and the various SoC-
specific MMU setup code. Another example is that asm/armv8/mmu.h's value
for SECTION_SHIFT doesn't match asm/system.h's MMU_SECTION_SHIFT;
research is needed to determine which code relies on which of those
values and why, and whether fixing the incorrect value will cause any
regression.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
2015-11-10 18:04:19 +01:00
..
cpu armv8: allow custom MMU setup routines on ARMv8 2015-11-10 18:03:41 +01:00
dts Merge git://git.denx.de/u-boot-samsung 2015-11-05 07:46:45 -05:00
imx-common vf610: refactor DDRMC code 2015-10-02 10:42:31 +02:00
include armv8: enable compilation with CONFIG_SYS_NONCACHED_MEMORY 2015-11-10 18:03:31 +01:00
lib arm: support Thumb-1 with CONFIG_SYS_THUMB_BUILD 2015-11-10 15:03:48 +01:00
mach-at91 mmc: atmel: Add atmel sdhci support 2015-11-03 14:21:31 +01:00
mach-bcm283x ARM: rpi: add another revision of Raspberry Pi A+ 2015-10-19 08:12:25 +02:00
mach-davinci arm: Remove da830evm board 2015-09-28 10:48:23 -04:00
mach-exynos arm: exynos: clean up checkpatch issues 2015-11-02 10:38:22 +09:00
mach-highbank ARM: highbank: move SoC sources to mach-highbank 2015-02-21 08:23:51 -05:00
mach-integrator integrator: switch to DM serial port 2015-08-12 20:47:49 -04:00
mach-keystone ARM: k2g: add SD card and eMMC support 2015-10-22 14:22:25 -04:00
mach-kirkwood Revive OpenRD targets 2015-11-10 15:04:21 +01:00
mach-mvebu compat: Remove is_power_of_2() definition 2015-11-05 16:46:59 -05:00
mach-orion5x arm: support Thumb-1 with CONFIG_SYS_THUMB_BUILD 2015-11-10 15:03:48 +01:00
mach-rockchip rockchip: Reconfigure the malloc based to point to system memory 2015-10-03 10:24:33 -06:00
mach-socfpga arm: socfpga: reset: correct dma, qspi, and sdmmc reset bit defines 2015-11-03 17:32:16 +01:00
mach-tegra ARM: tegra: add custom MMU setup on ARMv8 2015-11-10 18:04:19 +01:00
mach-uniphier ARM: uniphier: fix init page table for ProXstream2/PH1-LD6b USB boot 2015-09-25 00:59:33 +09:00
mach-versatile arm: Remove versatileab board 2015-09-11 15:01:25 -04:00
mach-zynq ARM: zynq: Remove zc70x target 2015-11-04 14:49:53 +01:00
mvebu-common arm: mvebu: Move mvebu-common into mach-mvebu 2015-05-05 14:28:29 +02:00
thumb1/include/asm/proc-armv arm: support Thumb-1 with CONFIG_SYS_THUMB_BUILD 2015-11-10 15:03:48 +01:00
config.mk arm: Include the .got section in the binary 2015-05-14 18:49:34 -06:00
Kconfig arm: support Thumb-1 with CONFIG_SYS_THUMB_BUILD 2015-11-10 15:03:48 +01:00
Kconfig.debug arm: debug: add Kconfig entries for lowlevel debug 2014-10-26 22:23:12 +01:00
Makefile arm: Remove unused reference to nomadik 2015-09-15 15:05:22 -04:00