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
1c73ffbd
Commit
1c73ffbd
authored
Jan 16, 2015
by
danh-arm
Browse files
Merge pull request #235 from soby-mathew/sm/inv_cpu_ops
Invalidate the dcache after initializing cpu-ops
parents
408b79b8
09997346
Changes
3
Hide whitespace changes
Inline
Side-by-side
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__ */
...
...
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
...
...
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
;
...
...
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