armv8/secmon: Correct PSCI function ids
PSCI_CPU_OFF is SMC32 call, there is not SMC64 version. Register SMC32 and SMC64 types of PSCI calls. BUG=None BRANCH=None TEST=Compiles successfully and CPU off works fine with PSCI command. Change-Id: I8df2eabfff52924625426b3607720c5219d38b58 Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Original-Commit-Id: 9228c07f9d9a4dd6325afb1f64b41b9b8711b146 Original-Change-Id: I2f387291893c1acf40bb6aa26f3d2ee8d5d843ea Original-Signed-off-by: Furquan Shaikh <furquan@google.com> Original-Reviewed-on: https://chromium-review.googlesource.com/265622 Original-Trybot-Ready: Furquan Shaikh <furquan@chromium.org> Original-Tested-by: Furquan Shaikh <furquan@chromium.org> Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org> Original-Commit-Queue: Furquan Shaikh <furquan@chromium.org> Reviewed-on: http://review.coreboot.org/9925 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
parent
97a20caa53
commit
3c526b1425
|
@ -368,7 +368,7 @@ static int psci_handler(struct smc_call *smc)
|
||||||
case PSCI_CPU_ON64:
|
case PSCI_CPU_ON64:
|
||||||
psci_cpu_on(pf);
|
psci_cpu_on(pf);
|
||||||
break;
|
break;
|
||||||
case PSCI_CPU_OFF64:
|
case PSCI_CPU_OFF32:
|
||||||
psci32_return(pf, psci_turn_off_self());
|
psci32_return(pf, psci_turn_off_self());
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -563,7 +563,12 @@ void psci_init(uintptr_t cpu_on_entry)
|
||||||
printk(BIOS_ERR, "Error linking cpu_info to PSCI nodes.\n");
|
printk(BIOS_ERR, "Error linking cpu_info to PSCI nodes.\n");
|
||||||
|
|
||||||
/* Register PSCI handlers. */
|
/* Register PSCI handlers. */
|
||||||
if (smc_register_range(PSCI_CPU_OFF64, PSCI_CPU_ON64, &psci_handler))
|
if (smc_register_range(PSCI_CPU_SUSPEND32, PSCI_CPU_ON32,
|
||||||
|
&psci_handler))
|
||||||
|
printk(BIOS_ERR, "Couldn't register PSCI handler.\n");
|
||||||
|
|
||||||
|
if (smc_register_range(PSCI_CPU_SUSPEND64, PSCI_CPU_ON64,
|
||||||
|
&psci_handler))
|
||||||
printk(BIOS_ERR, "Couldn't register PSCI handler.\n");
|
printk(BIOS_ERR, "Couldn't register PSCI handler.\n");
|
||||||
|
|
||||||
/* Inform SoC layer of CPU_ON entry point. */
|
/* Inform SoC layer of CPU_ON entry point. */
|
||||||
|
|
|
@ -164,7 +164,6 @@ enum {
|
||||||
|
|
||||||
/* 64-bit CPU support functions. */
|
/* 64-bit CPU support functions. */
|
||||||
PSCI_CPU_SUSPEND64 = SMC_FUNC_FAST64(0x4, 0x1),
|
PSCI_CPU_SUSPEND64 = SMC_FUNC_FAST64(0x4, 0x1),
|
||||||
PSCI_CPU_OFF64 = SMC_FUNC_FAST64(0x4, 0x2),
|
|
||||||
PSCI_CPU_ON64 = SMC_FUNC_FAST64(0x4, 0x3),
|
PSCI_CPU_ON64 = SMC_FUNC_FAST64(0x4, 0x3),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue