Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
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
4e0d14f2
Commit
4e0d14f2
authored
5 years ago
by
Soby Mathew
Committed by
TrustedFirmware Code Review
5 years ago
Browse files
Options
Download
Plain Diff
Merge "arm: gicv3: Fix compiler dependent behavior" into integration
parents
287a81df
d0196911
master
v2.5
v2.5-rc1
v2.5-rc0
v2.4
v2.4-rc2
v2.4-rc1
v2.4-rc0
v2.3
v2.3-rc2
v2.3-rc1
v2.3-rc0
arm_cca_v0.2
arm_cca_v0.1
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
include/lib/utils.h
+6
-8
include/lib/utils.h
plat/arm/common/arm_gicv3.c
+4
-5
plat/arm/common/arm_gicv3.c
with
10 additions
and
13 deletions
+10
-13
include/lib/utils.h
View file @
4e0d14f2
/*
/*
* Copyright (c) 2016-201
8
, ARM Limited and Contributors. All rights reserved.
* Copyright (c) 2016-201
9
, ARM Limited and Contributors. All rights reserved.
*
*
* SPDX-License-Identifier: BSD-3-Clause
* SPDX-License-Identifier: BSD-3-Clause
*/
*/
...
@@ -79,13 +79,11 @@ void zeromem(void *mem, u_register_t length);
...
@@ -79,13 +79,11 @@ void zeromem(void *mem, u_register_t length);
* which is constant and does not depend on the execute address of the binary.
* which is constant and does not depend on the execute address of the binary.
*/
*/
#define DEFINE_LOAD_SYM_ADDR(_name) \
#define DEFINE_LOAD_SYM_ADDR(_name) \
static inline u_register_t load_addr_## _name(void) \
static inline u_register_t load_addr_## _name(void) \
{ \
{ \
u_register_t v; \
u_register_t v; \
/* Create a void reference to silence compiler */
\
__asm__ volatile ("ldr %0, =" #_name : "=r" (v) : "X" (#_name));\
(void) _name; \
return v; \
__asm__ volatile ("ldr %0, =" #_name : "=r" (v)); \
return v; \
}
}
/* Helper to invoke the function defined by DEFINE_LOAD_SYM_ADDR() */
/* Helper to invoke the function defined by DEFINE_LOAD_SYM_ADDR() */
...
...
This diff is collapsed.
Click to expand it.
plat/arm/common/arm_gicv3.c
View file @
4e0d14f2
...
@@ -44,12 +44,11 @@ static const interrupt_prop_t arm_interrupt_props[] = {
...
@@ -44,12 +44,11 @@ static const interrupt_prop_t arm_interrupt_props[] = {
/*
/*
* We save and restore the GICv3 context on system suspend. Allocate the
* We save and restore the GICv3 context on system suspend. Allocate the
* data in the designated EL3 Secure carve-out memory. The `volatile`
* data in the designated EL3 Secure carve-out memory. The `used` attribute
* is used to prevent the compiler from removing the gicv3 contexts even
* is used to prevent the compiler from removing the gicv3 contexts.
* though the DEFINE_LOAD_SYM_ADDR creates a dummy reference to it.
*/
*/
static
volatile
gicv3_redist_ctx_t
rdist_ctx
__section
(
"arm_el3_tzc_dram"
);
static
gicv3_redist_ctx_t
rdist_ctx
__section
(
"arm_el3_tzc_dram"
)
__used
;
static
volatile
gicv3_dist_ctx_t
dist_ctx
__section
(
"arm_el3_tzc_dram"
);
static
gicv3_dist_ctx_t
dist_ctx
__section
(
"arm_el3_tzc_dram"
)
__used
;
/* Define accessor function to get reference to the GICv3 context */
/* Define accessor function to get reference to the GICv3 context */
DEFINE_LOAD_SYM_ADDR
(
rdist_ctx
)
DEFINE_LOAD_SYM_ADDR
(
rdist_ctx
)
...
...
This diff is collapsed.
Click to expand it.
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
Menu
Projects
Groups
Snippets
Help