[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT PATCHv5 40/46] plat/common: Implement CPU reset for arm64
On 11.09.2018 22:20, Simon Kuenzer wrote: On 10.08.2018 09:08, Wei Chen wrote:From: Wei Chen <Wei.Chen@xxxxxxx> Using PSCI despatch function to call PSCI_CPU_RESET function to reset CPU. Signed-off-by: Wei Chen <Wei.Chen@xxxxxxx> --- plat/common/arm/cpu_native.c | 7 +++++++ plat/common/include/arm/arm64/cpu.h | 1 + 2 files changed, 8 insertions(+) diff --git a/plat/common/arm/cpu_native.c b/plat/common/arm/cpu_native.c index 2d1a1aa..429b172 100644 --- a/plat/common/arm/cpu_native.c +++ b/plat/common/arm/cpu_native.c @@ -43,3 +43,10 @@ void halt(void) { __asm__ __volatile__("wfi"); } + +/* Systems support PSCI >= 0.2 can do system reset from PSCI */ +void reset(void) +{ + UK_BUGON (!smcc_psci_call);Maybe we should have failed earlier during boot when we failed to detect the mode. Then you could use UK_ASSERT() instead. What do you think? Alternatively we could enter a busy loop if we fail to get the mode (same for shutdown in the next patch). + smcc_psci_call(PSCI_FNID_SYSTEM_RESET, 0, 0, 0); +}diff --git a/plat/common/include/arm/arm64/cpu.h b/plat/common/include/arm/arm64/cpu.hindex b231d32..c156fd3 100644 --- a/plat/common/include/arm/arm64/cpu.h +++ b/plat/common/include/arm/arm64/cpu.h@@ -102,3 +102,4 @@ int32_t smcc_psci_smc_call(uint32_t, uint64_t, uint64_t, uint64_t);/* CPU native APIs */ void halt(void); +void reset(void);_______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |