Merge pull request #268 from vikramkanigiri/vk/move_init_cpu_ops
Initialise cpu ops after enabling data cache
This commit is contained in:
commit
27bc010666
|
@ -33,6 +33,7 @@
|
|||
#include <assert.h>
|
||||
#include <bl_common.h>
|
||||
#include <bl31.h>
|
||||
#include <cpu_data.h>
|
||||
#include <platform.h>
|
||||
|
||||
/*******************************************************************************
|
||||
|
@ -47,4 +48,7 @@ void bl31_arch_setup(void)
|
|||
|
||||
/* Program the counter frequency */
|
||||
write_cntfrq_el0(plat_get_syscnt_freq());
|
||||
|
||||
/* Initialize the cpu_ops pointer. */
|
||||
init_cpu_ops();
|
||||
}
|
||||
|
|
|
@ -161,12 +161,6 @@ func bl31_entrypoint
|
|||
bl zeromem16
|
||||
#endif
|
||||
|
||||
/* ---------------------------------------------
|
||||
* Initialize the cpu_ops pointer.
|
||||
* ---------------------------------------------
|
||||
*/
|
||||
bl init_cpu_ops
|
||||
|
||||
/* ---------------------------------------------
|
||||
* Use SP_EL0 for the C runtime stack.
|
||||
* ---------------------------------------------
|
||||
|
|
|
@ -117,6 +117,7 @@ static inline struct cpu_data *_cpu_data(void)
|
|||
*************************************************************************/
|
||||
|
||||
void init_cpu_data_ptr(void);
|
||||
void init_cpu_ops(void);
|
||||
|
||||
#define get_cpu_data(_m) _cpu_data()->_m
|
||||
#define set_cpu_data(_m, _v) _cpu_data()->_m = _v
|
||||
|
|
|
@ -110,7 +110,8 @@ func prepare_cluster_pwr_dwn
|
|||
|
||||
/*
|
||||
* Initializes the cpu_ops_ptr if not already initialized
|
||||
* in cpu_data. This can be called without a runtime stack.
|
||||
* in cpu_data. This can be called without a runtime stack, but may
|
||||
* only be called after the MMU is enabled.
|
||||
* clobbers: x0 - x6, x10
|
||||
*/
|
||||
.globl init_cpu_ops
|
||||
|
@ -125,18 +126,6 @@ func init_cpu_ops
|
|||
ASM_ASSERT(ne)
|
||||
#endif
|
||||
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
|
||||
|
|
|
@ -86,12 +86,6 @@ psci_aff_common_finish_entry:
|
|||
*/
|
||||
bl init_cpu_data_ptr
|
||||
|
||||
/* ---------------------------------------------
|
||||
* Initialize the cpu_ops pointer.
|
||||
* ---------------------------------------------
|
||||
*/
|
||||
bl init_cpu_ops
|
||||
|
||||
/* ---------------------------------------------
|
||||
* Set the exception vectors
|
||||
* ---------------------------------------------
|
||||
|
|
Loading…
Reference in New Issue