Commit d5e97a1d authored by Masahiro Yamada's avatar Masahiro Yamada
Browse files

Build: define IMAGE_AT_EL1 or IMAGE_AT_EL3 globally for C files



The build system defines the IMAGE_BL* macro when compiling each image.
This is useful to distinguish which image the current file is being
built for by using #if defined(IMAGE_BL2) or #if defined(IMAGE_BL31),
or whatever.

There are some cases where we are more interested in which exception
level the current file is being built for.

include/lib/cpus/{aarch32,aarch64}/cpu_macros.S defines IMAGE_AT_EL3,
but we do not have it globally.

Pass IMAGE_AT_EL1 or IMAGE_AT_EL3 to BL*_CFLAGS so that it is available
from all C code.

The library code (libc.a, libmbedtls.a, etc.) is exceptional cases,
where the code can be shared between BL images.

Other than that, we know the exception level at the build time, and
this macro will be useful in the shared code.

Change-Id: I7c8a1da10726906adfba981cfe8464dff111d6b0
Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
parent 21e22c74
......@@ -508,6 +508,18 @@ ifeq ($(ARCH),aarch64)
endif
endif
ifeq (${ARCH},aarch64)
BL1_CFLAGS += -DIMAGE_AT_EL3
ifeq ($(BL2_AT_EL3),1)
BL2_CFLAGS += -DIMAGE_AT_EL3
else
BL2_CFLAGS += -DIMAGE_AT_EL1
endif
BL2U_CFLAGS += -DIMAGE_AT_EL1
BL31_CFLAGS += -DIMAGE_AT_EL3
BL32_CFLAGS += -DIMAGE_AT_EL1
endif
# Include the CPU specific operations makefile, which provides default
# values for all CPU errata workarounds and CPU specific optimisations.
# This can be overridden by the platform.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment