Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Arm Trusted Firmware
Commits
29d13744
"plugins/vscode:/vscode.git/clone" did not exist on "229a1c971903aaae0bebf73dfda41cb71c25560c"
Commit
29d13744
authored
Jan 22, 2020
by
Mark Dykes
Committed by
TrustedFirmware Code Review
Jan 22, 2020
Browse files
Merge "plat/arm: Add support for SEPARATE_NOBITS_REGION" into integration
parents
aa386f7a
d433bbdd
Changes
3
Show whitespace changes
Inline
Side-by-side
include/plat/arm/common/arm_def.h
View file @
29d13744
/*
* Copyright (c) 2015-20
19
, ARM Limited and Contributors. All rights reserved.
* Copyright (c) 2015-20
20
, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
...
...
@@ -395,13 +395,21 @@
/*******************************************************************************
* BL31 specific defines.
******************************************************************************/
#if ARM_BL31_IN_DRAM
#if ARM_BL31_IN_DRAM
|| SEPARATE_NOBITS_REGION
/*
* Put BL31 at the bottom of TZC secured DRAM
*/
#define BL31_BASE ARM_AP_TZC_DRAM1_BASE
#define BL31_LIMIT (ARM_AP_TZC_DRAM1_BASE + \
PLAT_ARM_MAX_BL31_SIZE)
/*
* For SEPARATE_NOBITS_REGION, BL31 PROGBITS are loaded in TZC secured DRAM.
* And BL31 NOBITS are loaded in Trusted SRAM such that BL2 is overwritten.
*/
#if SEPARATE_NOBITS_REGION
#define BL31_NOBITS_BASE BL2_BASE
#define BL31_NOBITS_LIMIT BL2_LIMIT
#endif
/* SEPARATE_NOBITS_REGION */
#elif (RESET_TO_BL31)
/* Ensure Position Independent support (PIE) is enabled for this config.*/
# if !ENABLE_PIE
...
...
plat/arm/common/arm_bl31_setup.c
View file @
29d13744
/*
* Copyright (c) 2015-20
19
, ARM Limited and Contributors. All rights reserved.
* Copyright (c) 2015-20
20
, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
...
...
@@ -56,6 +56,14 @@ IMPORT_SYM(unsigned long, __INIT_CODE_END__, BL_INIT_CODE_END);
MT_CODE | MT_SECURE)
#endif
#if SEPARATE_NOBITS_REGION
#define MAP_BL31_NOBITS MAP_REGION_FLAT( \
BL31_NOBITS_BASE, \
BL31_NOBITS_LIMIT \
- BL31_NOBITS_BASE, \
MT_MEMORY | MT_RW | MT_SECURE)
#endif
/*******************************************************************************
* Return a pointer to the 'entry_point_info' structure of the next image for the
* security state specified. BL33 corresponds to the non-secure image type
...
...
@@ -294,6 +302,9 @@ void __init arm_bl31_plat_arch_setup(void)
MAP_BL31_TOTAL
,
#if RECLAIM_INIT_CODE
MAP_BL_INIT_CODE
,
#endif
#if SEPARATE_NOBITS_REGION
MAP_BL31_NOBITS
,
#endif
ARM_MAP_BL_RO
,
#if USE_ROMLIB
...
...
plat/arm/common/arm_common.mk
View file @
29d13744
#
# Copyright (c) 2015-20
19
, ARM Limited and Contributors. All rights reserved.
# Copyright (c) 2015-20
20
, ARM Limited and Contributors. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
...
...
@@ -125,6 +125,23 @@ ENABLE_PMF := 1
# mapping the former as executable and the latter as execute-never.
SEPARATE_CODE_AND_RODATA
:=
1
# On ARM platforms, disable SEPARATE_NOBITS_REGION by default. Both PROGBITS
# and NOBITS sections of BL31 image are adjacent to each other and loaded
# into Trusted SRAM.
SEPARATE_NOBITS_REGION
:=
0
# In order to support SEPARATE_NOBITS_REGION for Arm platforms, we need to load
# BL31 PROGBITS into secure DRAM space and BL31 NOBITS into SRAM. Hence mandate
# the build to require that ARM_BL31_IN_DRAM is enabled as well.
ifeq
($(SEPARATE_NOBITS_REGION),1)
ifneq
($(ARM_BL31_IN_DRAM),1)
$(error
For
SEPARATE_NOBITS_REGION,
ARM_BL31_IN_DRAM
must
be
enabled)
endif
ifneq
($(RECLAIM_INIT_CODE),0)
$(error
For
SEPARATE_NOBITS_REGION,
RECLAIM_INIT_CODE
cannot
be
supported)
endif
endif
# Disable ARM Cryptocell by default
ARM_CRYPTOCELL_INTEG
:=
0
$(eval
$(call
assert_boolean,ARM_CRYPTOCELL_INTEG))
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment