From: Dmytro Semenets <[email protected]> Use spin-up cpu with disabled interrupts instead PSCI CPU OFF halt and reboot procedures. Some platforms can't stop CPU via PSCI because Thrusted OS can't migrate execution to other CPU.
Signed-off-by: Dmytro Semenets <[email protected]> --- xen/arch/arm/shutdown.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/xen/arch/arm/shutdown.c b/xen/arch/arm/shutdown.c index 3dc6819d56..a9aea19e8e 100644 --- a/xen/arch/arm/shutdown.c +++ b/xen/arch/arm/shutdown.c @@ -8,7 +8,12 @@ static void noreturn halt_this_cpu(void *arg) { - stop_cpu(); + local_irq_disable(); + /* Make sure the write happens before we sleep forever */ + dsb(sy); + isb(); + while ( 1 ) + wfi(); } void machine_halt(void) -- 2.25.1
