Automatically select initial xlation lookup level
Instead of hardcoding a level 1 table as the base translation level
table, let the code decide which level is the most appropriate given
the virtual address space size.

As the table granularity is 4 KB, this allows the code to select
level 0, 1 or 2 as base level for AArch64. This way, instead of
limiting the virtual address space width to 39-31 bits, widths of
48-25 bit can be used.

For AArch32, this change allows the code to select level 1 or 2
as the base translation level table and use virtual address space
width of 32-25 bits.

Also removed some unused definitions related to translation tables.

Fixes ARM-software/tf-issues#362

Change-Id: Ie3bb5d6d1a4730a26700b09827c79f37ca3cdb65
1 parent 079e522 commit e8719552a243b7e7e0d2fd3401669e68c9519170
@Antonio Nino Diaz Antonio Nino Diaz authored on 2 Aug 2016
Soby Mathew committed on 23 Aug 2016
Showing 7 changed files
View
include/lib/aarch32/arch.h
View
include/lib/aarch64/arch.h
View
include/lib/xlat_tables.h
View
lib/xlat_tables/aarch32/xlat_tables.c
View
lib/xlat_tables/aarch64/xlat_tables.c
View
lib/xlat_tables/xlat_tables_common.c
View
lib/xlat_tables/xlat_tables_private.h