Merge branch 'fix/configure_xip_psram_alignment_gaps_heap_by_default' into 'master'
Add XIP PSRAM alignment gaps in heap only if PSRAM protection is enabled See merge request espressif/esp-idf!38888
This commit is contained in:
@@ -279,7 +279,9 @@ SECTIONS
|
||||
. += _esp_flash_mmap_prefetch_pad_size;
|
||||
|
||||
#if CONFIG_SPIRAM_FETCH_INSTRUCTIONS && CONFIG_SPIRAM_PRE_CONFIGURE_MEMORY_PROTECTION
|
||||
/* Align the end of flash text region as per PMP granularity as PSRAM memory protection is enabled */
|
||||
/* Align the end of flash text region as per PMP granularity to allow using the
|
||||
* page alignment gap created while mapping the flash region into the PSRAM memory.
|
||||
*/
|
||||
. = ALIGN(_esp_pmp_align_size);
|
||||
#endif // CONFIG_SPIRAM_FETCH_INSTRUCTIONS && CONFIG_SPIRAM_PRE_CONFIGURE_MEMORY_PROTECTION
|
||||
|
||||
@@ -425,7 +427,9 @@ SECTIONS
|
||||
. = ALIGN(ALIGNOF(.flash.tbss));
|
||||
|
||||
#if CONFIG_SPIRAM_RODATA && CONFIG_SPIRAM_PRE_CONFIGURE_MEMORY_PROTECTION
|
||||
/* Align the end of flash rodata region as per PMP granularity as PSRAM memory protection is enabled */
|
||||
/* Align the end of flash rodata region as per PMP granularity to allow using the
|
||||
* page alignment gap created while mapping the flash region into the PSRAM memory.
|
||||
*/
|
||||
. = ALIGN(_esp_pmp_align_size);
|
||||
#endif // CONFIG_SPIRAM_RODATA && CONFIG_SPIRAM_PRE_CONFIGURE_MEMORY_PROTECTION
|
||||
|
||||
|
||||
@@ -136,10 +136,12 @@ SECTIONS
|
||||
*/
|
||||
. += _esp_flash_mmap_prefetch_pad_size;
|
||||
|
||||
#if CONFIG_SPIRAM_FETCH_INSTRUCTIONS
|
||||
/* Align the end of flash text region as per PMP granularity */
|
||||
#if CONFIG_SPIRAM_FETCH_INSTRUCTIONS && CONFIG_SPIRAM_PRE_CONFIGURE_MEMORY_PROTECTION
|
||||
/* Align the end of flash text region as per PMP granularity to allow using the
|
||||
* page alignment gap created while mapping the flash region into the PSRAM memory.
|
||||
*/
|
||||
. = ALIGN(_esp_pmp_align_size);
|
||||
#endif // CONFIG_SPIRAM_FETCH_INSTRUCTIONS
|
||||
#endif // CONFIG_SPIRAM_FETCH_INSTRUCTIONS && CONFIG_SPIRAM_PRE_CONFIGURE_MEMORY_PROTECTION
|
||||
|
||||
_text_end = ABSOLUTE(.);
|
||||
/**
|
||||
@@ -282,10 +284,12 @@ SECTIONS
|
||||
|
||||
. = ALIGN(ALIGNOF(.flash.tbss));
|
||||
|
||||
#if CONFIG_SPIRAM_RODATA
|
||||
/* Align the end of flash rodata region as per PMP granularity */
|
||||
#if CONFIG_SPIRAM_RODATA && CONFIG_SPIRAM_PRE_CONFIGURE_MEMORY_PROTECTION
|
||||
/* Align the end of flash rodata region as per PMP granularity to allow using the
|
||||
* page alignment gap created while mapping the flash region into the PSRAM memory.
|
||||
*/
|
||||
. = ALIGN(_esp_pmp_align_size);
|
||||
#endif // CONFIG_SPIRAM_RODATA
|
||||
#endif // CONFIG_SPIRAM_RODATA && CONFIG_SPIRAM_PRE_CONFIGURE_MEMORY_PROTECTION
|
||||
|
||||
_thread_local_data_end = ABSOLUTE(.);
|
||||
} > default_rodata_seg
|
||||
|
||||
@@ -293,10 +293,12 @@ SECTIONS
|
||||
*/
|
||||
. += _esp_flash_mmap_prefetch_pad_size;
|
||||
|
||||
#if CONFIG_SPIRAM_FETCH_INSTRUCTIONS
|
||||
/* Align the end of flash text region as per PMP granularity */
|
||||
#if CONFIG_SPIRAM_FETCH_INSTRUCTIONS && CONFIG_SPIRAM_PRE_CONFIGURE_MEMORY_PROTECTION
|
||||
/* Align the end of flash text region as per PMP granularity to allow using the
|
||||
* page alignment gap created while mapping the flash region into the PSRAM memory.
|
||||
*/
|
||||
. = ALIGN(_esp_pmp_align_size);
|
||||
#endif // CONFIG_SPIRAM_FETCH_INSTRUCTIONS
|
||||
#endif // CONFIG_SPIRAM_FETCH_INSTRUCTIONS && CONFIG_SPIRAM_PRE_CONFIGURE_MEMORY_PROTECTION
|
||||
|
||||
_text_end = ABSOLUTE(.);
|
||||
/**
|
||||
@@ -446,10 +448,12 @@ SECTIONS
|
||||
|
||||
. = ALIGN(ALIGNOF(.flash.tbss));
|
||||
|
||||
#if CONFIG_SPIRAM_RODATA
|
||||
/* Align the end of flash rodata region as per PMP granularity */
|
||||
#if CONFIG_SPIRAM_RODATA && CONFIG_SPIRAM_PRE_CONFIGURE_MEMORY_PROTECTION
|
||||
/* Align the end of flash rodata region as per PMP granularity to allow using the
|
||||
* page alignment gap created while mapping the flash region into the PSRAM memory.
|
||||
*/
|
||||
. = ALIGN(_esp_pmp_align_size);
|
||||
#endif // CONFIG_SPIRAM_RODATA
|
||||
#endif // CONFIG_SPIRAM_RODATA && CONFIG_SPIRAM_PRE_CONFIGURE_MEMORY_PROTECTION
|
||||
|
||||
_thread_local_data_end = ABSOLUTE(.);
|
||||
} > rodata_seg_low
|
||||
|
||||
Reference in New Issue
Block a user