xlat lib: Reorganize architectural defs
Move the header files that provide translation tables architectural
definitions from the library v2 source files to the library include
directory. This allows to share these definitions between both
versions (v1 and v2) of the library.

Create a new header file that includes the AArch32 or AArch64
definitions based on the AARCH32 build flag, so that the library user
doesn't have to worry about handling it on their side.

Also repurpose some of the definitions the header files provide to
concentrate on the things that differ between AArch32 and AArch64.
As a result they now contain the following information:
 - the first table level that allows block descriptors;
 - the architectural limits of the virtual address space;
 - the initial lookup level to cover the entire address space.

Additionally, move the XLAT_TABLE_LEVEL_MIN macro from
xlat_tables_defs.h to the AArch32/AArch64 architectural definitions.

This new organisation eliminates duplicated information in the AArch32
and AArch64 versions. It also decouples these architectural files from
any platform-specific information. Previously, they were dependent on
the address space size, which is platform-specific.

Finally, for the v2 of the library, move the compatibility code for
ADDR_SPACE_SIZE into a C file as it is not needed outside of this
file. For v1, this code hasn't been changed and stays in a header
file because it's needed by several files.

Change-Id: If746c684acd80eebf918abd3ab6e8481d004ac68
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
1 parent 284c3d6 commit 8933c34bbc8f0afb32030a4b3793f2e4cd6afbff
@Sandrine Bailleux Sandrine Bailleux authored on 19 May 2017
Showing 12 changed files
View
include/lib/xlat_tables/aarch32/xlat_tables_aarch32.h 0 → 100644
View
include/lib/xlat_tables/aarch64/xlat_tables_aarch64.h 0 → 100644
View
include/lib/xlat_tables/xlat_tables_arch.h 0 → 100644
View
include/lib/xlat_tables/xlat_tables_defs.h
View
lib/xlat_tables/aarch32/xlat_tables.c
View
lib/xlat_tables/aarch64/xlat_tables.c
View
lib/xlat_tables/xlat_tables_private.h
View
lib/xlat_tables_v2/aarch32/xlat_tables_arch.h 100644 → 0
View
lib/xlat_tables_v2/aarch64/xlat_tables_arch.h 100644 → 0
View
lib/xlat_tables_v2/xlat_tables_common.c
View
lib/xlat_tables_v2/xlat_tables_internal.c
View
lib/xlat_tables_v2/xlat_tables_private.h