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
38fe380a
Commit
38fe380a
authored
7 years ago
by
davidcunado-arm
Committed by
GitHub
7 years ago
Browse files
Options
Download
Plain Diff
Merge pull request #1000 from dp-arm/dp/aarch32-boot
juno/aarch32: Fix boot on Cortex A57 and A72
parents
2fee1b0c
35bd2dda
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
v2.2
v2.2-rc2
v2.2-rc1
v2.2-rc0
v2.1
v2.1-rc1
v2.1-rc0
v2.0
v2.0-rc0
v1.6
v1.6-rc1
v1.6-rc0
v1.5
v1.5-rc3
v1.5-rc2
v1.5-rc1
v1.5-rc0
v1.4
v1.4-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
plat/arm/board/juno/aarch64/juno_helpers.S
+11
-1
plat/arm/board/juno/aarch64/juno_helpers.S
plat/arm/board/juno/juno_bl2_setup.c
+25
-1
plat/arm/board/juno/juno_bl2_setup.c
with
36 additions
and
2 deletions
+36
-2
plat/arm/board/juno/aarch64/juno_helpers.S
View file @
38fe380a
/*
*
Copyright
(
c
)
2013
-
201
6
,
ARM
Limited
and
Contributors
.
All
rights
reserved
.
*
Copyright
(
c
)
2013
-
201
7
,
ARM
Limited
and
Contributors
.
All
rights
reserved
.
*
*
SPDX
-
License
-
Identifier
:
BSD
-
3
-
Clause
*/
...
...
@@ -266,6 +266,16 @@ endfunc plat_get_my_entrypoint
*
to
AArch32
mode
is
then
requested
by
writing
into
RMR_EL3
.
*/
func
juno_reset_to_aarch32_state
/
*
*
Invalidate
all
caches
before
the
warm
reset
to
AArch32
state
.
*
This
is
required
on
the
Juno
AArch32
boot
flow
because
the
L2
*
unified
cache
may
contain
code
and
data
from
when
the
processor
*
was
still
executing
in
AArch64
state
.
This
code
only
runs
on
*
the
primary
core
,
all
other
cores
are
powered
down
.
*/
mov
x0
,
#
DCISW
bl
dcsw_op_all
emit_movw
w0
,
BL32_BASE
emit_movt
w1
,
BL32_BASE
/
*
opcode
"bx r0"
to
branch
using
r0
in
AArch32
mode
*/
...
...
This diff is collapsed.
Click to expand it.
plat/arm/board/juno/juno_bl2_setup.c
View file @
38fe380a
/*
* Copyright (c) 2016, ARM Limited and Contributors. All rights reserved.
* Copyright (c) 2016
-2017
, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
...
...
@@ -29,4 +29,28 @@ int bl2_plat_handle_post_image_load(unsigned int image_id)
return
err
;
}
/*
* We need to override some of the platform functions when booting SP_MIN
* on Juno AArch32.
*/
static
unsigned
int
scp_boot_config
;
void
bl2_early_platform_setup
(
meminfo_t
*
mem_layout
)
{
arm_bl2_early_platform_setup
(
mem_layout
);
/* Save SCP Boot config before it gets overwritten by SCP_BL2 loading */
VERBOSE
(
"BL2: Saving SCP Boot config = 0x%x
\n
"
,
scp_boot_config
);
scp_boot_config
=
mmio_read_32
(
SCP_BOOT_CFG_ADDR
);
}
void
bl2_platform_setup
(
void
)
{
arm_bl2_platform_setup
();
mmio_write_32
(
SCP_BOOT_CFG_ADDR
,
scp_boot_config
);
VERBOSE
(
"BL2: Restored SCP Boot config = 0x%x
\n
"
,
scp_boot_config
);
}
#endif
/* JUNO_AARCH32_EL3_RUNTIME */
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