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
2c269b47
Unverified
Commit
2c269b47
authored
Mar 25, 2019
by
Soby Mathew
Committed by
GitHub
Mar 25, 2019
Browse files
Merge pull request #1904 from lmayencourt/lm/move_pie_fixup
PIE: Fix reloc at the beginning of bl31 entrypoint
parents
981db33f
330ead80
Changes
1
Hide whitespace changes
Inline
Side-by-side
bl31/aarch64/bl31_entrypoint.S
View file @
2c269b47
...
@@ -23,7 +23,6 @@
...
@@ -23,7 +23,6 @@
*/
*/
func
bl31_entrypoint
func
bl31_entrypoint
#if !RESET_TO_BL31
/
*
---------------------------------------------------------------
/
*
---------------------------------------------------------------
*
Stash
the
previous
bootloader
arguments
x0
-
x3
for
later
use
.
*
Stash
the
previous
bootloader
arguments
x0
-
x3
for
later
use
.
*
---------------------------------------------------------------
*
---------------------------------------------------------------
...
@@ -33,6 +32,18 @@ func bl31_entrypoint
...
@@ -33,6 +32,18 @@ func bl31_entrypoint
mov
x22
,
x2
mov
x22
,
x2
mov
x23
,
x3
mov
x23
,
x3
/
*
--------------------------------------------------------------------
*
If
PIE
is
enabled
,
fixup
the
Global
descriptor
Table
and
dynamic
*
relocations
*
--------------------------------------------------------------------
*/
#if ENABLE_PIE
mov_imm
x0
,
BL31_BASE
mov_imm
x1
,
BL31_LIMIT
bl
fixup_gdt_reloc
#endif /* ENABLE_PIE */
#if !RESET_TO_BL31
/
*
---------------------------------------------------------------------
/
*
---------------------------------------------------------------------
*
For
!
RESET_TO_BL31
systems
,
only
the
primary
CPU
ever
reaches
*
For
!
RESET_TO_BL31
systems
,
only
the
primary
CPU
ever
reaches
*
bl31_entrypoint
()
during
the
cold
boot
flow
,
so
the
cold
/
warm
boot
*
bl31_entrypoint
()
during
the
cold
boot
flow
,
so
the
cold
/
warm
boot
...
@@ -50,6 +61,7 @@ func bl31_entrypoint
...
@@ -50,6 +61,7 @@ func bl31_entrypoint
_init_c_runtime
=1
\
_init_c_runtime
=1
\
_exception_vectors
=
runtime_exceptions
_exception_vectors
=
runtime_exceptions
#else
#else
/
*
---------------------------------------------------------------------
/
*
---------------------------------------------------------------------
*
For
RESET_TO_BL31
systems
which
have
a
programmable
reset
address
,
*
For
RESET_TO_BL31
systems
which
have
a
programmable
reset
address
,
*
bl31_entrypoint
()
is
executed
only
on
the
cold
boot
path
so
we
can
*
bl31_entrypoint
()
is
executed
only
on
the
cold
boot
path
so
we
can
...
@@ -76,17 +88,6 @@ func bl31_entrypoint
...
@@ -76,17 +88,6 @@ func bl31_entrypoint
mov
x23
,
0
mov
x23
,
0
#endif /* RESET_TO_BL31 */
#endif /* RESET_TO_BL31 */
/
*
--------------------------------------------------------------------
*
If
PIE
is
enabled
,
fixup
the
Global
descriptor
Table
and
dynamic
*
relocations
*
--------------------------------------------------------------------
*/
#if ENABLE_PIE
mov_imm
x0
,
BL31_BASE
mov_imm
x1
,
BL31_LIMIT
bl
fixup_gdt_reloc
#endif /* ENABLE_PIE */
/
*
--------------------------------------------------------------------
/
*
--------------------------------------------------------------------
*
Perform
BL31
setup
*
Perform
BL31
setup
*
--------------------------------------------------------------------
*
--------------------------------------------------------------------
...
...
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