diff options
Diffstat (limited to 'plat/arm/common')
30 files changed, 225 insertions, 158 deletions
diff --git a/plat/arm/common/aarch32/arm_bl2_mem_params_desc.c b/plat/arm/common/aarch32/arm_bl2_mem_params_desc.c index 890f2c960d..e23dd258b2 100644 --- a/plat/arm/common/aarch32/arm_bl2_mem_params_desc.c +++ b/plat/arm/common/aarch32/arm_bl2_mem_params_desc.c @@ -4,11 +4,11 @@ * SPDX-License-Identifier: BSD-3-Clause */ -#include <bl_common.h> -#include <desc_image_load.h> -#include <platform.h> #include <platform_def.h> +#include <common/bl_common.h> +#include <common/desc_image_load.h> +#include <plat/common/platform.h> /******************************************************************************* * Following descriptor provides BL image/ep information that gets used diff --git a/plat/arm/common/aarch64/arm_bl2_mem_params_desc.c b/plat/arm/common/aarch64/arm_bl2_mem_params_desc.c index 8e6d00d056..c0f42f3108 100644 --- a/plat/arm/common/aarch64/arm_bl2_mem_params_desc.c +++ b/plat/arm/common/aarch64/arm_bl2_mem_params_desc.c @@ -4,11 +4,11 @@ * SPDX-License-Identifier: BSD-3-Clause */ -#include <bl_common.h> -#include <desc_image_load.h> -#include <platform.h> #include <platform_def.h> +#include <common/bl_common.h> +#include <common/desc_image_load.h> +#include <plat/common/platform.h> /******************************************************************************* * Following descriptor provides BL image/ep information that gets used diff --git a/plat/arm/common/aarch64/arm_ehf.c b/plat/arm/common/aarch64/arm_ehf.c index f313851852..4ae992c95e 100644 --- a/plat/arm/common/aarch64/arm_ehf.c +++ b/plat/arm/common/aarch64/arm_ehf.c @@ -4,9 +4,10 @@ * SPDX-License-Identifier: BSD-3-Clause */ -#include <ehf.h> #include <platform_def.h> +#include <bl31/ehf.h> + /* * Enumeration of priority levels on ARM platforms. */ diff --git a/plat/arm/common/aarch64/arm_sdei.c b/plat/arm/common/aarch64/arm_sdei.c index 687b21d43b..493134b6a1 100644 --- a/plat/arm/common/aarch64/arm_sdei.c +++ b/plat/arm/common/aarch64/arm_sdei.c @@ -6,9 +6,10 @@ /* SDEI configuration for ARM platforms */ -#include <ehf.h> #include <platform_def.h> -#include <sdei.h> + +#include <bl31/ehf.h> +#include <services/sdei.h> /* Private event mappings */ static sdei_ev_map_t arm_sdei_private[] = { diff --git a/plat/arm/common/arm_bl1_fwu.c b/plat/arm/common/arm_bl1_fwu.c index f2be47792b..cd92aa8ed0 100644 --- a/plat/arm/common/arm_bl1_fwu.c +++ b/plat/arm/common/arm_bl1_fwu.c @@ -5,14 +5,17 @@ */ #include <assert.h> -#include <bl_common.h> -#include <debug.h> #include <errno.h> -#include <plat_arm.h> -#include <platform.h> + #include <platform_def.h> -#include <tbbr_img_desc.h> -#include <utils.h> + +#include <bl1/tbbr/tbbr_img_desc.h> +#include <common/bl_common.h> +#include <common/debug.h> +#include <lib/utils.h> +#include <plat/common/platform.h> + +#include <plat_arm.h> /* Struct to keep track of usable memory */ typedef struct bl1_mem_info { diff --git a/plat/arm/common/arm_bl1_setup.c b/plat/arm/common/arm_bl1_setup.c index f760e18dce..e28211cfa7 100644 --- a/plat/arm/common/arm_bl1_setup.c +++ b/plat/arm/common/arm_bl1_setup.c @@ -4,17 +4,20 @@ * SPDX-License-Identifier: BSD-3-Clause */ +#include <assert.h> + +#include <platform_def.h> + #include <arch.h> +#include <bl1/bl1.h> +#include <common/bl_common.h> +#include <drivers/arm/sp805.h> +#include <lib/utils.h> +#include <lib/xlat_tables/xlat_tables_compat.h> +#include <plat/common/platform.h> + #include <arm_def.h> -#include <assert.h> -#include <bl1.h> -#include <bl_common.h> #include <plat_arm.h> -#include <platform.h> -#include <platform_def.h> -#include <sp805.h> -#include <utils.h> -#include <xlat_tables_compat.h> #include "../../../bl1/bl1_private.h" diff --git a/plat/arm/common/arm_bl2_el3_setup.c b/plat/arm/common/arm_bl2_el3_setup.c index 4f5e6a9e6e..0c1f63ed41 100644 --- a/plat/arm/common/arm_bl2_el3_setup.c +++ b/plat/arm/common/arm_bl2_el3_setup.c @@ -3,11 +3,14 @@ * * SPDX-License-Identifier: BSD-3-Clause */ -#include <arm_def.h> + #include <assert.h> -#include <generic_delay_timer.h> + +#include <drivers/generic_delay_timer.h> +#include <plat/common/platform.h> + +#include <arm_def.h> #include <plat_arm.h> -#include <platform.h> #pragma weak bl2_el3_early_platform_setup #pragma weak bl2_el3_plat_arch_setup diff --git a/plat/arm/common/arm_bl2_setup.c b/plat/arm/common/arm_bl2_setup.c index 628a50def4..9319004eae 100644 --- a/plat/arm/common/arm_bl2_setup.c +++ b/plat/arm/common/arm_bl2_setup.c @@ -4,21 +4,24 @@ * SPDX-License-Identifier: BSD-3-Clause */ -#include <arch_helpers.h> -#include <arm_def.h> #include <assert.h> -#include <bl_common.h> -#include <debug.h> -#include <desc_image_load.h> -#include <generic_delay_timer.h> +#include <string.h> + +#include <platform_def.h> + +#include <arch_helpers.h> +#include <common/bl_common.h> +#include <common/debug.h> +#include <common/desc_image_load.h> +#include <drivers/generic_delay_timer.h> #ifdef SPD_opteed -#include <optee_utils.h> +#include <lib/optee_utils.h> #endif +#include <lib/utils.h> +#include <plat/common/platform.h> + +#include <arm_def.h> #include <plat_arm.h> -#include <platform.h> -#include <platform_def.h> -#include <string.h> -#include <utils.h> /* Data structure which holds the extents of the trusted SRAM for BL2 */ static meminfo_t bl2_tzram_layout __aligned(CACHE_WRITEBACK_GRANULE); diff --git a/plat/arm/common/arm_bl2u_setup.c b/plat/arm/common/arm_bl2u_setup.c index 3848aa065d..0dc66e647e 100644 --- a/plat/arm/common/arm_bl2u_setup.c +++ b/plat/arm/common/arm_bl2u_setup.c @@ -4,15 +4,18 @@ * SPDX-License-Identifier: BSD-3-Clause */ +#include <assert.h> +#include <string.h> + +#include <platform_def.h> + #include <arch_helpers.h> +#include <common/bl_common.h> +#include <drivers/generic_delay_timer.h> +#include <plat/common/platform.h> + #include <arm_def.h> -#include <assert.h> -#include <bl_common.h> -#include <generic_delay_timer.h> #include <plat_arm.h> -#include <platform_def.h> -#include <platform.h> -#include <string.h> /* Weak definitions may be overridden in specific ARM standard platform */ #pragma weak bl2u_platform_setup diff --git a/plat/arm/common/arm_bl31_setup.c b/plat/arm/common/arm_bl31_setup.c index 1b05f46e90..41151c2c82 100644 --- a/plat/arm/common/arm_bl31_setup.c +++ b/plat/arm/common/arm_bl31_setup.c @@ -4,19 +4,21 @@ * SPDX-License-Identifier: BSD-3-Clause */ +#include <assert.h> + #include <arch.h> #include <arch_helpers.h> +#include <common/bl_common.h> +#include <common/debug.h> +#include <drivers/console.h> +#include <lib/extensions/ras.h> +#include <lib/mmio.h> +#include <lib/utils.h> +#include <lib/xlat_tables/xlat_tables_compat.h> +#include <plat/common/platform.h> + #include <arm_def.h> -#include <assert.h> -#include <bl_common.h> -#include <console.h> -#include <debug.h> -#include <mmio.h> #include <plat_arm.h> -#include <platform.h> -#include <ras.h> -#include <utils.h> -#include <xlat_tables_compat.h> /* * Placeholder variables for copying the arguments that have been passed to diff --git a/plat/arm/common/arm_cci.c b/plat/arm/common/arm_cci.c index 6505b9174f..7ee997e296 100644 --- a/plat/arm/common/arm_cci.c +++ b/plat/arm/common/arm_cci.c @@ -4,11 +4,13 @@ * SPDX-License-Identifier: BSD-3-Clause */ +#include <platform_def.h> + #include <arch.h> -#include <cci.h> +#include <drivers/arm/cci.h> +#include <lib/utils.h> + #include <plat_arm.h> -#include <platform_def.h> -#include <utils.h> static const int cci_map[] = { PLAT_ARM_CCI_CLUSTER0_SL_IFACE_IX, diff --git a/plat/arm/common/arm_ccn.c b/plat/arm/common/arm_ccn.c index ddf3286d79..6aa56f217d 100644 --- a/plat/arm/common/arm_ccn.c +++ b/plat/arm/common/arm_ccn.c @@ -4,10 +4,12 @@ * SPDX-License-Identifier: BSD-3-Clause */ +#include <platform_def.h> + #include <arch.h> -#include <ccn.h> +#include <drivers/arm/ccn.h> + #include <plat_arm.h> -#include <platform_def.h> static const unsigned char master_to_rn_id_map[] = { PLAT_ARM_CLUSTER_TO_CCN_ID_MAP diff --git a/plat/arm/common/arm_common.c b/plat/arm/common/arm_common.c index 56ad8aeeb1..4cd2ce3d6b 100644 --- a/plat/arm/common/arm_common.c +++ b/plat/arm/common/arm_common.c @@ -3,17 +3,21 @@ * * SPDX-License-Identifier: BSD-3-Clause */ + +#include <assert.h> + +#include <platform_def.h> + #include <arch.h> #include <arch_helpers.h> -#include <assert.h> -#include <debug.h> -#include <mmio.h> +#include <common/debug.h> +#include <common/romlib.h> +#include <lib/mmio.h> +#include <lib/xlat_tables/xlat_tables_compat.h> +#include <plat/common/platform.h> +#include <services/secure_partition.h> + #include <plat_arm.h> -#include <platform.h> -#include <platform_def.h> -#include <romlib.h> -#include <secure_partition.h> -#include <xlat_tables_compat.h> /* Weak definitions may be overridden in specific ARM standard platform */ #pragma weak plat_get_ns_image_entrypoint diff --git a/plat/arm/common/arm_console.c b/plat/arm/common/arm_console.c index bd3dca17f6..29cb378275 100644 --- a/plat/arm/common/arm_console.c +++ b/plat/arm/common/arm_console.c @@ -3,13 +3,17 @@ * * SPDX-License-Identifier: BSD-3-Clause */ + #include <assert.h> -#include <console.h> -#include <debug.h> -#include <pl011.h> -#include <plat_arm.h> + #include <platform_def.h> +#include <common/debug.h> +#include <drivers/arm/pl011.h> +#include <drivers/console.h> + +#include <plat_arm.h> + /******************************************************************************* * Functions that set up the console ******************************************************************************/ diff --git a/plat/arm/common/arm_dyn_cfg.c b/plat/arm/common/arm_dyn_cfg.c index c2a4bb1e65..6c6dc568ca 100644 --- a/plat/arm/common/arm_dyn_cfg.c +++ b/plat/arm/common/arm_dyn_cfg.c @@ -4,19 +4,21 @@ * SPDX-License-Identifier: BSD-3-Clause */ -#include <arm_dyn_cfg_helpers.h> #include <assert.h> -#include <debug.h> -#include <desc_image_load.h> +#include <string.h> + +#include <platform_def.h> + +#include <common/debug.h> +#include <common/desc_image_load.h> +#include <common/tbbr/tbbr_img_def.h> #if TRUSTED_BOARD_BOOT -#include <mbedtls_config.h> +#include <drivers/auth/mbedtls/mbedtls_config.h> #endif -#include <plat_arm.h> -#include <platform.h> -#include <platform_def.h> -#include <string.h> -#include <tbbr_img_def.h> +#include <plat/common/platform.h> +#include <arm_dyn_cfg_helpers.h> +#include <plat_arm.h> /* Variable to store the address to TB_FW_CONFIG passed from BL1 */ static void *tb_fw_cfg_dtb; diff --git a/plat/arm/common/arm_dyn_cfg_helpers.c b/plat/arm/common/arm_dyn_cfg_helpers.c index d12d09c7f2..bf2f15643d 100644 --- a/plat/arm/common/arm_dyn_cfg_helpers.c +++ b/plat/arm/common/arm_dyn_cfg_helpers.c @@ -4,11 +4,14 @@ * SPDX-License-Identifier: BSD-3-Clause */ -#include <arm_dyn_cfg_helpers.h> #include <assert.h> -#include <desc_image_load.h> -#include <fdt_wrappers.h> + #include <libfdt.h> + +#include <common/desc_image_load.h> +#include <common/fdt_wrappers.h> + +#include <arm_dyn_cfg_helpers.h> #include <plat_arm.h> #define DTB_PROP_MBEDTLS_HEAP_ADDR "mbedtls_heap_addr" diff --git a/plat/arm/common/arm_err.c b/plat/arm/common/arm_err.c index aa65f4f338..8650d48a7d 100644 --- a/plat/arm/common/arm_err.c +++ b/plat/arm/common/arm_err.c @@ -4,15 +4,18 @@ * SPDX-License-Identifier: BSD-3-Clause */ -#include <arch_helpers.h> -#include <console.h> -#include <debug.h> #include <errno.h> -#include <plat_arm.h> -#include <platform.h> -#include <platform_def.h> #include <stdint.h> -#include <v2m_flash.h> + +#include <platform_def.h> + +#include <arch_helpers.h> +#include <common/debug.h> +#include <drivers/cfi/v2m_flash.h> +#include <drivers/console.h> +#include <plat/common/platform.h> + +#include <plat_arm.h> #pragma weak plat_arm_error_handler diff --git a/plat/arm/common/arm_gicv2.c b/plat/arm/common/arm_gicv2.c index 5644c60404..fc848c1987 100644 --- a/plat/arm/common/arm_gicv2.c +++ b/plat/arm/common/arm_gicv2.c @@ -4,11 +4,13 @@ * SPDX-License-Identifier: BSD-3-Clause */ -#include <gicv2.h> -#include <plat_arm.h> -#include <platform.h> #include <platform_def.h> +#include <drivers/arm/gicv2.h> +#include <plat/common/platform.h> + +#include <plat_arm.h> + /****************************************************************************** * The following functions are defined as weak to allow a platform to override * the way the GICv2 driver is initialised and used. diff --git a/plat/arm/common/arm_gicv3.c b/plat/arm/common/arm_gicv3.c index a43bff3d48..0f6690a0b9 100644 --- a/plat/arm/common/arm_gicv3.c +++ b/plat/arm/common/arm_gicv3.c @@ -4,13 +4,15 @@ * SPDX-License-Identifier: BSD-3-Clause */ +#include <platform_def.h> + +#include <common/interrupt_props.h> +#include <drivers/arm/gicv3.h> +#include <lib/utils.h> +#include <plat/common/platform.h> + #include <arm_def.h> -#include <gicv3.h> -#include <interrupt_props.h> #include <plat_arm.h> -#include <platform.h> -#include <platform_def.h> -#include <utils.h> /****************************************************************************** * The following functions are defined as weak to allow a platform to override diff --git a/plat/arm/common/arm_image_load.c b/plat/arm/common/arm_image_load.c index 4f86efdf92..791f05ed70 100644 --- a/plat/arm/common/arm_image_load.c +++ b/plat/arm/common/arm_image_load.c @@ -4,12 +4,12 @@ * SPDX-License-Identifier: BSD-3-Clause */ +#include <common/bl_common.h> +#include <common/desc_image_load.h> +#include <plat/common/platform.h> + #include <arm_def.h> -#include <bl_common.h> -#include <desc_image_load.h> #include <plat_arm.h> -#include <platform.h> - #pragma weak plat_flush_next_bl_params #pragma weak plat_get_bl_image_load_info diff --git a/plat/arm/common/arm_io_storage.c b/plat/arm/common/arm_io_storage.c index cd58e4564a..d7c5cac246 100644 --- a/plat/arm/common/arm_io_storage.c +++ b/plat/arm/common/arm_io_storage.c @@ -3,18 +3,22 @@ * * SPDX-License-Identifier: BSD-3-Clause */ + #include <assert.h> -#include <debug.h> -#include <firmware_image_package.h> -#include <io_driver.h> -#include <io_fip.h> -#include <io_memmap.h> -#include <io_storage.h> -#include <plat_arm.h> -#include <platform.h> -#include <platform_def.h> #include <string.h> -#include <utils.h> + +#include <platform_def.h> + +#include <common/debug.h> +#include <drivers/io/io_driver.h> +#include <drivers/io/io_fip.h> +#include <drivers/io/io_memmap.h> +#include <drivers/io/io_storage.h> +#include <lib/utils.h> +#include <plat/common/platform.h> +#include <tools_share/firmware_image_package.h> + +#include <plat_arm.h> /* IO devices */ static const io_dev_connector_t *fip_dev_con; diff --git a/plat/arm/common/arm_nor_psci_mem_protect.c b/plat/arm/common/arm_nor_psci_mem_protect.c index 2a46b95d62..4ae57e5344 100644 --- a/plat/arm/common/arm_nor_psci_mem_protect.c +++ b/plat/arm/common/arm_nor_psci_mem_protect.c @@ -4,13 +4,15 @@ * SPDX-License-Identifier: BSD-3-Clause */ -#include <debug.h> -#include <mmio.h> -#include <plat_arm.h> #include <platform_def.h> -#include <psci.h> -#include <utils.h> -#include <v2m_flash.h> + +#include <common/debug.h> +#include <drivers/cfi/v2m_flash.h> +#include <lib/psci/psci.h> +#include <lib/mmio.h> +#include <lib/utils.h> + +#include <plat_arm.h> /* * DRAM1 is used also to load the NS boot loader. For this reason we diff --git a/plat/arm/common/arm_pm.c b/plat/arm/common/arm_pm.c index 3be1b5d393..acfd908995 100644 --- a/plat/arm/common/arm_pm.c +++ b/plat/arm/common/arm_pm.c @@ -4,14 +4,17 @@ * SPDX-License-Identifier: BSD-3-Clause */ -#include <arch_helpers.h> -#include <arm_def.h> #include <assert.h> #include <errno.h> -#include <plat_arm.h> -#include <platform.h> + #include <platform_def.h> -#include <psci.h> + +#include <arch_helpers.h> +#include <lib/psci/psci.h> +#include <plat/common/platform.h> + +#include <arm_def.h> +#include <plat_arm.h> /* Allow ARM Standard platforms to override these functions */ #pragma weak plat_arm_program_trusted_mailbox diff --git a/plat/arm/common/arm_sip_svc.c b/plat/arm/common/arm_sip_svc.c index e482a89456..6b0f7e7be8 100644 --- a/plat/arm/common/arm_sip_svc.c +++ b/plat/arm/common/arm_sip_svc.c @@ -4,14 +4,15 @@ * SPDX-License-Identifier: BSD-3-Clause */ -#include <arm_sip_svc.h> -#include <debug.h> -#include <plat_arm.h> -#include <pmf.h> -#include <runtime_svc.h> #include <stdint.h> -#include <uuid.h> +#include <common/debug.h> +#include <common/runtime_svc.h> +#include <lib/pmf/pmf.h> +#include <tools_share/uuid.h> + +#include <arm_sip_svc.h> +#include <plat_arm.h> /* ARM SiP Service UUID */ DEFINE_SVC_UUID2(arm_sip_svc_uid, diff --git a/plat/arm/common/arm_topology.c b/plat/arm/common/arm_topology.c index b0ad4d1c6a..6986e52b03 100644 --- a/plat/arm/common/arm_topology.c +++ b/plat/arm/common/arm_topology.c @@ -4,9 +4,11 @@ * SPDX-License-Identifier: BSD-3-Clause */ +#include <platform_def.h> + #include <arch.h> + #include <plat_arm.h> -#include <platform_def.h> /******************************************************************************* * This function validates an MPIDR by checking whether it falls within the diff --git a/plat/arm/common/arm_tzc400.c b/plat/arm/common/arm_tzc400.c index 2ae084c7bc..0346fa1845 100644 --- a/plat/arm/common/arm_tzc400.c +++ b/plat/arm/common/arm_tzc400.c @@ -4,13 +4,14 @@ * SPDX-License-Identifier: BSD-3-Clause */ +#include <platform_def.h> + +#include <common/debug.h> +#include <drivers/arm/tzc400.h> + #include <arm_def.h> #include <arm_spm_def.h> -#include <debug.h> #include <plat_arm.h> -#include <platform_def.h> -#include <tzc400.h> - /* Weak definitions may be overridden in specific ARM standard platform */ #pragma weak plat_arm_security_setup diff --git a/plat/arm/common/arm_tzc_dmc500.c b/plat/arm/common/arm_tzc_dmc500.c index 6bd771b0e5..bea3867d37 100644 --- a/plat/arm/common/arm_tzc_dmc500.c +++ b/plat/arm/common/arm_tzc_dmc500.c @@ -4,12 +4,15 @@ * SPDX-License-Identifier: BSD-3-Clause */ -#include <arm_def.h> #include <assert.h> -#include <debug.h> -#include <plat_arm.h> + #include <platform_def.h> -#include <tzc_dmc500.h> + +#include <common/debug.h> +#include <drivers/arm/tzc_dmc500.h> + +#include <arm_def.h> +#include <plat_arm.h> /******************************************************************************* * Initialize the DMC500-TrustZone Controller for ARM standard platforms. diff --git a/plat/arm/common/execution_state_switch.c b/plat/arm/common/execution_state_switch.c index 8fa864d66b..e3134102dd 100644 --- a/plat/arm/common/execution_state_switch.c +++ b/plat/arm/common/execution_state_switch.c @@ -4,16 +4,18 @@ * SPDX-License-Identifier: BSD-3-Clause */ +#include <stdbool.h> +#include <string.h> + #include <arch_helpers.h> -#include <arm_sip_svc.h> #include <context.h> -#include <context_mgmt.h> -#include <plat_arm.h> -#include <psci.h> +#include <lib/el3_runtime/context_mgmt.h> +#include <lib/psci/psci.h> +#include <lib/utils.h> #include <smccc_helpers.h> -#include <stdbool.h> -#include <string.h> -#include <utils.h> + +#include <arm_sip_svc.h> +#include <plat_arm.h> /* * Handle SMC from a lower exception level to switch its execution state diff --git a/plat/arm/common/sp_min/arm_sp_min_setup.c b/plat/arm/common/sp_min/arm_sp_min_setup.c index ca427d58a4..967b551e4e 100644 --- a/plat/arm/common/sp_min/arm_sp_min_setup.c +++ b/plat/arm/common/sp_min/arm_sp_min_setup.c @@ -5,15 +5,18 @@ */ #include <assert.h> -#include <bl_common.h> -#include <console.h> -#include <debug.h> -#include <mmio.h> -#include <pl011.h> -#include <plat_arm.h> -#include <platform.h> + #include <platform_def.h> -#include <platform_sp_min.h> + +#include <bl32/sp_min/platform_sp_min.h> +#include <common/bl_common.h> +#include <common/debug.h> +#include <drivers/arm/pl011.h> +#include <drivers/console.h> +#include <lib/mmio.h> +#include <plat/common/platform.h> + +#include <plat_arm.h> static entry_point_info_t bl33_image_ep_info; diff --git a/plat/arm/common/tsp/arm_tsp_setup.c b/plat/arm/common/tsp/arm_tsp_setup.c index 3cf88251f1..a3d2f7157c 100644 --- a/plat/arm/common/tsp/arm_tsp_setup.c +++ b/plat/arm/common/tsp/arm_tsp_setup.c @@ -4,15 +4,18 @@ * SPDX-License-Identifier: BSD-3-Clause */ -#include <arm_def.h> #include <assert.h> -#include <bl_common.h> -#include <console.h> -#include <debug.h> -#include <pl011.h> -#include <plat_arm.h> + #include <platform_def.h> -#include <platform_tsp.h> + +#include <bl32/tsp/platform_tsp.h> +#include <common/bl_common.h> +#include <common/debug.h> +#include <drivers/arm/pl011.h> +#include <drivers/console.h> + +#include <arm_def.h> +#include <plat_arm.h> #define BL32_END (unsigned long)(&__BL32_END__) |