arm64: secmon: add entry point for turned on CPUs
Newly turned on CPUs need a place to go bring its EL3 state inline with expectations. Plumb this path in for CPUs turning on as well as waking up from a power down state. Some of the infrastructure declarations were moved around for easier consumption in ramstage and secmon. Lastly, a psci_soc_init() is added to inform the SoC of the CPU's entry point as well do any initialization. BUG=chrome-os-partner:32112 BRANCH=None TEST=Built and booted. On entry point not actually utilized. Change-Id: I2af424c2906df159f78ed5e0a26a6bc0ba2ba24f Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Original-Commit-Id: dbefec678a111e8b42acf2ae162c1ccdd7f9fd40 Original-Change-Id: I7b8c8c828ffb73752ca3ac1117cd895a5aa275d8 Original-Signed-off-by: Aaron Durbin <adurbin@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/228296 Original-Reviewed-by: Furquan Shaikh <furquan@chromium.org> Reviewed-on: http://review.coreboot.org/9422 Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Tested-by: build bot (Jenkins)
This commit is contained in:
committed by
Patrick Georgi
parent
1f4db4046f
commit
6cdacb37f0
@@ -220,6 +220,15 @@ void psci_turn_on_self(const struct cpu_action *action)
|
||||
psci_schedule_cpu_on(e);
|
||||
}
|
||||
|
||||
void psci_cpu_entry(void)
|
||||
{
|
||||
/*
|
||||
* Just wait for an action to be performed. Only CPU_ON is supported
|
||||
* initially. i.e. no power down then wake.
|
||||
*/
|
||||
secmon_wait_for_action();
|
||||
}
|
||||
|
||||
static void psci_cpu_on(struct psci_func *pf)
|
||||
{
|
||||
uint64_t entry;
|
||||
@@ -483,7 +492,7 @@ static int psci_allocate_nodes(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void psci_init(void)
|
||||
void psci_init(uintptr_t cpu_on_entry)
|
||||
{
|
||||
struct cpu_action action = {
|
||||
.run = &psci_link_cpu_info,
|
||||
|
Reference in New Issue
Block a user