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
1c73ffbd
Commit
1c73ffbd
authored
10 years ago
by
danh-arm
Browse files
Options
Download
Plain Diff
Merge pull request #235 from soby-mathew/sm/inv_cpu_ops
Invalidate the dcache after initializing cpu-ops
parents
408b79b8
09997346
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
v1.3
v1.3_rc2
v1.3_rc1
v1.3-rc0
v1.2
v1.2-rc0
v1.1
v1.1-rc3
v1.1-rc2
v1.1-rc1
v1.1-rc0
v1.1-Juno-0.1
arm_cca_v0.2
arm_cca_v0.1
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
include/bl31/cpu_data.h
+4
-0
include/bl31/cpu_data.h
lib/cpus/aarch64/cpu_helpers.S
+13
-1
lib/cpus/aarch64/cpu_helpers.S
services/std_svc/psci/psci_setup.c
+2
-1
services/std_svc/psci/psci_setup.c
with
19 additions
and
2 deletions
+19
-2
include/bl31/cpu_data.h
View file @
1c73ffbd
...
...
@@ -115,6 +115,10 @@ void init_cpu_data_ptr(void);
#define flush_cpu_data(_m) flush_dcache_range((uint64_t) \
&(_cpu_data()->_m), \
sizeof(_cpu_data()->_m))
#define flush_cpu_data_by_index(_ix, _m) \
flush_dcache_range((uint64_t) \
&(_cpu_data_by_index(_ix)->_m), \
sizeof(_cpu_data_by_index(_ix)->_m))
#endif
/* __ASSEMBLY__ */
...
...
This diff is collapsed.
Click to expand it.
lib/cpus/aarch64/cpu_helpers.S
View file @
1c73ffbd
...
...
@@ -120,7 +120,19 @@ func init_cpu_ops
cmp
x0
,
#
0
ASM_ASSERT
(
ne
)
#endif
str
x0
,
[
x6
,
#
CPU_DATA_CPU_OPS_PTR
]
str
x0
,
[
x6
,
#
CPU_DATA_CPU_OPS_PTR
]!
/
*
*
Make
sure
that
any
pre
-
fetched
cache
copies
are
invalidated
.
*
Ensure
that
we
are
running
with
cache
disable
else
we
*
invalidate
our
own
update
.
*/
#if ASM_ASSERTION
mrs
x1
,
sctlr_el3
tst
x1
,
#
SCTLR_C_BIT
ASM_ASSERT
(
eq
)
#endif
dc
ivac
,
x6
mov
x30
,
x10
1
:
ret
...
...
This diff is collapsed.
Click to expand it.
services/std_svc/psci/psci_setup.c
View file @
1c73ffbd
...
...
@@ -219,10 +219,11 @@ static void psci_init_aff_map_node(unsigned long mpidr,
psci_svc_cpu_data
.
max_phys_off_afflvl
,
PSCI_INVALID_DATA
);
flush_cpu_data_by_index
(
linear_id
,
psci_svc_cpu_data
);
cm_set_context_by_mpidr
(
mpidr
,
(
void
*
)
&
psci_ns_context
[
linear_id
],
NON_SECURE
);
}
return
;
...
...
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