forked from espressif/esp-idf
esp32c6: Ensure that previous PMP entry is correctly set for TOR case
This commit is contained in:
@@ -179,11 +179,12 @@ void esp_cpu_configure_region_protection(void)
|
|||||||
#if CONFIG_ULP_COPROC_RESERVE_MEM
|
#if CONFIG_ULP_COPROC_RESERVE_MEM
|
||||||
// First part of LP mem is reserved for coprocessor
|
// First part of LP mem is reserved for coprocessor
|
||||||
PMP_ENTRY_SET(11, SOC_RTC_IRAM_LOW + CONFIG_ULP_COPROC_RESERVE_MEM, PMP_TOR | RW);
|
PMP_ENTRY_SET(11, SOC_RTC_IRAM_LOW + CONFIG_ULP_COPROC_RESERVE_MEM, PMP_TOR | RW);
|
||||||
|
#else // CONFIG_ULP_COPROC_RESERVE_MEM
|
||||||
|
// Repeat same previous entry, to ensure next entry has correct base address (TOR)
|
||||||
|
PMP_ENTRY_SET(11, SOC_RTC_IRAM_LOW, NONE);
|
||||||
|
#endif // !CONFIG_ULP_COPROC_RESERVE_MEM
|
||||||
PMP_ENTRY_SET(12, (int)&_rtc_text_end, PMP_TOR | RX);
|
PMP_ENTRY_SET(12, (int)&_rtc_text_end, PMP_TOR | RX);
|
||||||
PMP_ENTRY_SET(13, SOC_RTC_IRAM_HIGH, PMP_TOR | RW);
|
PMP_ENTRY_SET(13, SOC_RTC_IRAM_HIGH, PMP_TOR | RW);
|
||||||
#endif //CONFIG_ULP_COPROC_RESERVE_MEM
|
|
||||||
PMP_ENTRY_SET(11, (int)&_rtc_text_end, PMP_TOR | RX);
|
|
||||||
PMP_ENTRY_SET(12, SOC_RTC_IRAM_HIGH, PMP_TOR | RW);
|
|
||||||
#else
|
#else
|
||||||
const uint32_t pmpaddr10 = PMPADDR_NAPOT(SOC_RTC_IRAM_LOW, SOC_RTC_IRAM_HIGH);
|
const uint32_t pmpaddr10 = PMPADDR_NAPOT(SOC_RTC_IRAM_LOW, SOC_RTC_IRAM_HIGH);
|
||||||
PMP_ENTRY_SET(10, pmpaddr10, PMP_NAPOT | CONDITIONAL_RWX);
|
PMP_ENTRY_SET(10, pmpaddr10, PMP_NAPOT | CONDITIONAL_RWX);
|
||||||
|
Reference in New Issue
Block a user