Factor out translation table setup in ARM FVP port
authorAchin Gupta <achin.gupta@arm.com>
Sun, 9 Feb 2014 13:30:38 +0000 (13:30 +0000)
committerDan Handley <dan.handley@arm.com>
Thu, 20 Feb 2014 19:06:34 +0000 (19:06 +0000)
commita0cd989dd589acaa6cddaa6617bd59dde0b8ce26
tree024d969981366ae673f1dc4c56a3cd659e81ddd5
parent35ca35119d9dc51f1665184ab6db5e2861c213b4
Factor out translation table setup in ARM FVP port

This patch factors out the ARM FVP specific code to create MMU
translation tables so that it is possible for a boot loader stage to
create a different set of tables instead of using the default ones.
The default translation tables are created with the assumption that
the calling boot loader stage executes out of secure SRAM. This might
not be true for the BL3_2 stage in the future.

A boot loader stage can define the `fill_xlation_tables()` function as
per its requirements. It returns a reference to the level 1
translation table which is used by the common platform code to setup
the TTBR_EL3.

This patch is a temporary solution before a larger rework of
translation table creation logic is introduced.

Change-Id: I09a075d5da16822ee32a411a9dbe284718fb4ff6
12 files changed:
Makefile
bl1/bl1.ld.S
bl1/bl1.mk
bl2/bl2.ld.S
bl31/bl31.ld.S
include/aarch64/arch.h
include/aarch64/arch_helpers.h
lib/arch/aarch64/xlat_helpers.c [new file with mode: 0644]
plat/fvp/aarch64/plat_common.c
plat/fvp/aarch64/plat_setup_xlat.c [new file with mode: 0644]
plat/fvp/platform.h
plat/fvp/platform.mk