mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-01 18:50:34 +03:00
change(esp_hw_support): rework ESP32-H4 region protection to the application-owned layout
The bootloader programs only unlocked PMA entries (no PMP), so the layout is not a bootloader<->application ABI; the application resets all entries, programs them in ascending order from IRAM, and locks everything. Verified on ESP32-H4 v0.1.
This commit is contained in:
@@ -705,8 +705,9 @@ CONFIGS_MEMPROT_SPIRAM_XIP_IROM_ALIGNMENT_HEAP = list(
|
||||
'memprot_spiram_xip_esp32c61',
|
||||
'memprot_spiram_xip_esp32p4',
|
||||
'memprot_spiram_xip_esp32s31',
|
||||
'memprot_spiram_xip_esp32h4',
|
||||
],
|
||||
['esp32c5', 'esp32c61', 'esp32p4', 'esp32s31'],
|
||||
['esp32c5', 'esp32c61', 'esp32p4', 'esp32s31', 'esp32h4'],
|
||||
)
|
||||
) + [
|
||||
('memprot_spiram_xip_esp32p4_rev_less_than_v3', 'esp32p4', P4_REV_LESS_THAN_V3_MARKER),
|
||||
@@ -728,8 +729,9 @@ CONFIGS_MEMPROT_SPIRAM_XIP_DROM_ALIGNMENT_HEAP = list(
|
||||
'memprot_spiram_xip_esp32c61',
|
||||
'memprot_spiram_xip_esp32p4',
|
||||
'memprot_spiram_xip_esp32s31',
|
||||
'memprot_spiram_xip_esp32h4',
|
||||
],
|
||||
['esp32s3', 'esp32c5', 'esp32c61', 'esp32p4', 'esp32s31'],
|
||||
['esp32s3', 'esp32c5', 'esp32c61', 'esp32p4', 'esp32s31', 'esp32h4'],
|
||||
)
|
||||
) + [
|
||||
('memprot_spiram_xip_esp32p4_rev_less_than_v3', 'esp32p4', P4_REV_LESS_THAN_V3_MARKER),
|
||||
@@ -752,8 +754,9 @@ CONFIGS_MEMPROT_INVALID_REGION_PROTECTION_USING_PMA = list(
|
||||
'memprot_esp32p4',
|
||||
'memprot_esp32h21',
|
||||
'memprot_esp32s31',
|
||||
'memprot_esp32h4',
|
||||
],
|
||||
['esp32c5', 'esp32c6', 'esp32c61', 'esp32h2', 'esp32p4', 'esp32h21', 'esp32s31'],
|
||||
['esp32c5', 'esp32c6', 'esp32c61', 'esp32h2', 'esp32p4', 'esp32h21', 'esp32s31', 'esp32h4'],
|
||||
)
|
||||
) + [
|
||||
('memprot_esp32p4_rev_less_than_v3', 'esp32p4', P4_REV_LESS_THAN_V3_MARKER),
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
# Restricting to ESP32H4
|
||||
CONFIG_IDF_TARGET="esp32h4"
|
||||
|
||||
# Enabling memory protection
|
||||
CONFIG_ESP_SYSTEM_MEMPROT=y
|
||||
|
||||
# Enable memprot test
|
||||
CONFIG_TEST_MEMPROT=y
|
||||
|
||||
# Enable SPIRAM to check the alignment gap's memory protection
|
||||
CONFIG_SPIRAM=y
|
||||
CONFIG_SPIRAM_USE_CAPS_ALLOC=y
|
||||
CONFIG_SPIRAM_XIP_FROM_PSRAM=y
|
||||
Reference in New Issue
Block a user