/* * Copyright (c) 2021 Espressif Systems (Shanghai) Co., Ltd. * * SPDX-License-Identifier: Apache-2.0 */ #include #include #include /** * * @brief Power save idle routine * * This function will be called by the kernel idle loop or possibly within * an implementation of _pm_save_idle in the kernel when the * '_pm_save_flag' variable is non-zero. * * @return N/A */ void arch_cpu_idle(void) { /* curiously it arives here with the interrupts masked * so umask it before wait for an event */ arch_irq_unlock(MSTATUS_IEN); /* Wait for interrupt */ __asm__ volatile("wfi"); }