Merge branch 'fix/disable_core1_branch_predictor_in_sleep_process_v6.0' into 'release/v6.0'

fix(esp_hw_support): fix core1 branch predictor access ext mem after cache disabled by core0 (v6.0)

See merge request espressif/esp-idf!48384
This commit is contained in:
Jiang Jiang Jian
2026-05-12 18:11:56 +08:00
2 changed files with 4 additions and 0 deletions
@@ -484,6 +484,7 @@ esp_err_t sleep_cpu_configure(bool light_sleep_enable)
#if CONFIG_PM_ESP_SLEEP_POWER_DOWN_CPU
static IRAM_ATTR void smp_core_do_retention(void)
{
esp_cpu_branch_prediction_disable();
uint8_t core_id = esp_cpu_get_core_id();
if (core_id == 0) {
@@ -559,6 +560,7 @@ static IRAM_ATTR void smp_core_do_retention(void)
;
}
atomic_store(&s_smp_retention_state[core_id], SMP_IDLE);
esp_cpu_branch_prediction_enable();
}
@@ -386,6 +386,7 @@ esp_err_t sleep_cpu_configure(bool light_sleep_enable)
#if CONFIG_PM_ESP_SLEEP_POWER_DOWN_CPU
static SPM_IRAM_ATTR void smp_core_do_retention(void)
{
esp_cpu_branch_prediction_disable();
uint8_t core_id = esp_cpu_get_core_id();
if (core_id == 0) {
@@ -452,6 +453,7 @@ static SPM_IRAM_ATTR void smp_core_do_retention(void)
;
}
atomic_store(&s_smp_retention_state[core_id], SMP_IDLE);
esp_cpu_branch_prediction_enable();
}