Refactor the xlat_tables library code
The AArch32 long descriptor format and the AArch64 descriptor format
correspond to each other which allows possible sharing of xlat_tables
library code between AArch64 and AArch32. This patch refactors the
xlat_tables library code to seperate the common functionality from
architecture specific code. Prior to this patch, all of the xlat_tables
library code were in `lib/aarch64/xlat_tables.c` file. The refactored code
is now in `lib/xlat_tables/` directory. The AArch64 specific programming
for xlat_tables is in `lib/xlat_tables/aarch64/xlat_tables.c` and the rest
of the code common to AArch64 and AArch32 is in
`lib/xlat_tables/xlat_tables_common.c`. Also the data types used in
xlat_tables library APIs are reworked to make it compatible between AArch64
and AArch32.

The `lib/aarch64/xlat_tables.c` file now includes the new xlat_tables
library files to retain compatibility for existing platform ports.
The macros related to xlat_tables library are also moved from
`include/lib/aarch64/arch.h` to the header `include/lib/xlat_tables.h`.

NOTE: THE `lib/aarch64/xlat_tables.c` FILE IS DEPRECATED AND PLATFORM PORTS
ARE EXPECTED TO INCLUDE THE NEW XLAT_TABLES LIBRARY FILES IN THEIR MAKEFILES.

Change-Id: I3d17217d24aaf3a05a4685d642a31d4d56255a0f
1 parent 72c1dc1 commit 3ca9928df202607e6d77e8b8a31a30ff4a934a4b
@Soby Mathew Soby Mathew authored on 22 Mar 2016
Showing 8 changed files
View
common/bl_common.c
View
include/lib/aarch64/arch.h
View
include/lib/aarch64/xlat_tables.h 100644 → 0
View
include/lib/xlat_tables.h 0 → 100644
View
lib/aarch64/xlat_tables.c
View
lib/xlat_tables/aarch64/xlat_tables.c 0 → 100644
View
lib/xlat_tables/xlat_tables_common.c 0 → 100644
View
lib/xlat_tables/xlat_tables_private.h 0 → 100644