mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-24 22:05:40 +00:00
ARMv7 may not support large page addressing
ARCH_SUPPORTS_LARGE_PAGE_ADDRESSING allows build environment to handle specific case when target ARMv7 core only supports 32bit MMU descriptor mode. If ARMv7 based platform does not set ARM_CORTEX_Ax=yes, platform shall define ARMV7_SUPPORTS_LARGE_PAGE_ADDRESSING to enable large page addressing support. Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
This commit is contained in:
parent
1ca8d02316
commit
51b992ecec
3 changed files with 17 additions and 0 deletions
lib
make_helpers
|
@ -13,6 +13,10 @@
|
|||
#include <xlat_tables.h>
|
||||
#include "../xlat_tables_private.h"
|
||||
|
||||
#if ARM_ARCH_MAJOR == 7 && !defined(ARMV7_SUPPORTS_LARGE_PAGE_ADDRESSING)
|
||||
#error ARMv7 target does not support LPAE MMU descriptors
|
||||
#endif
|
||||
|
||||
#define XLAT_TABLE_LEVEL_BASE \
|
||||
GET_XLAT_TABLE_LEVEL_BASE(PLAT_VIRT_ADDR_SPACE_SIZE)
|
||||
|
||||
|
|
|
@ -14,6 +14,10 @@
|
|||
#include <xlat_tables_v2.h>
|
||||
#include "../xlat_tables_private.h"
|
||||
|
||||
#if ARM_ARCH_MAJOR == 7 && !defined(ARMV7_SUPPORTS_LARGE_PAGE_ADDRESSING)
|
||||
#error ARMv7 target does not support LPAE MMU descriptors
|
||||
#endif
|
||||
|
||||
#if ENABLE_ASSERTIONS
|
||||
unsigned long long xlat_arch_get_max_supported_pa(void)
|
||||
{
|
||||
|
|
|
@ -31,3 +31,12 @@ march32-neon-$(ARM_WITH_NEON) := -mfpu=neon
|
|||
march32-set-yes ?= -march=armv7-a
|
||||
march32-directive := ${march32-set-yes} ${march32-neon-yes}
|
||||
endif
|
||||
|
||||
# Platform may override these extension support directives:
|
||||
#
|
||||
# ARMV7_SUPPORTS_LARGE_PAGE_ADDRESSING
|
||||
# Defined if core supports the Large Page Addressing extension.
|
||||
|
||||
ifeq ($(filter yes,$(ARM_CORTEX_A7) $(ARM_CORTEX_A12) $(ARM_CORTEX_A15) $(ARM_CORTEX_A17)),yes)
|
||||
$(eval $(call add_define,ARMV7_SUPPORTS_LARGE_PAGE_ADDRESSING))
|
||||
endif
|
||||
|
|
Loading…
Add table
Reference in a new issue