Skip to content

Commit bdb870f

Browse files
committed
fix(armv8/cpu): replace psci_power_down by a WFI call
For ARMv8-A physical boards (e.g. ZCU102), when using the Remote I/O there is a problem already identified when the Frontend VM's CPU goes to the idle state, as a result of the trap process and MMIO emulation. In this scenario, currently Bao Hypervisor is unable to save the state of the registers before powering off. This commit replaces the psci_power_down call by an explicit WFI (Wait For Interrupt), similar to ARMv8-R and RISC-V, temporarily resolving the problem. Signed-off-by: João Peixoto <[email protected]>
1 parent 55b9893 commit bdb870f

File tree

1 file changed

+1
-1
lines changed
  • src/arch/armv8/armv8-a

1 file changed

+1
-1
lines changed

src/arch/armv8/armv8-a/cpu.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ void cpu_arch_profile_init(cpuid_t cpuid, paddr_t load_addr)
2929

3030
void cpu_arch_profile_idle()
3131
{
32-
int64_t err = psci_power_down(PSCI_WAKEUP_IDLE);
32+
int64_t err = PSCI_E_NOT_SUPPORTED;
3333
if (err) {
3434
switch (err) {
3535
case PSCI_E_NOT_SUPPORTED:

0 commit comments

Comments
 (0)