Commit Graph

79 Commits

Author SHA1 Message Date
armando b539532a31 fix(cache): fixed cache sync ops concurrent call issue
Closes https://github.com/espressif/esp-idf/issues/18023
2025-12-25 09:59:09 +08:00
morris 747f9448bc Merge branch 'change/remove_mmap_paddr_remap_warning_log_v5.4' into 'release/v5.4'
mmu: remove paddr remap warning log (v5.4)

See merge request espressif/esp-idf!40203
2025-06-30 16:07:18 +08:00
armando 8e67d9a912 change(mmu): remove paddr remap warning log 2025-06-30 10:51:11 +08:00
wanckl ea03622621 ci(esp32c61): remove c61 support from readme on 5.4 2025-06-17 15:09:40 +08:00
armando e930680857 feat(mmu): use cache freeze for mmap apis 2025-06-12 10:05:30 +08:00
nilesh.kale 93ca084b62 fix(esp_mm): Move cache-related sources out of pure RAM app check
This change resolves build issues when compiling with
CONFIG_APP_BUILD_TYPE_PURE_RAM_APP enabled.
2025-05-13 12:57:19 +05:30
wuzhenghui 33aca83c63 change(ci): remove esp32c5 from readme since esp32c5 skipped CI build 2025-04-25 17:13:27 +08:00
armando 873cde487c test(system): increased 200B memory leak thresh due to mmu mmap mutex
200B to extend the thresh, real increase to the memory usage will be smaller
2025-04-15 14:22:48 +08:00
armando 256dbafe15 test(mmu): added esp_mmu_map concurrency test 2025-04-15 14:21:51 +08:00
armando 56cd01899c fix(mmu): fixed esp_mmu_map concurrent issue and add related docs 2025-04-15 14:21:46 +08:00
armando b67b1160e7 fix(cache): fixed l2 cache suspended/frozen but l1cache triggers l2 writeback issue 2025-04-07 11:37:40 +08:00
Armando 253fc4f35a test(mmu): added test for checking esp_mmu_vaddr_to_paddr with psram vaddrs 2025-02-18 11:49:50 +08:00
Armando 7bbfe91432 fix(mmu): fixed esp_mmu_vaddr_to_paddr cannot figure out psram vaddr issue on esp32p4 2025-02-18 11:49:45 +08:00
morris d65c108888 Merge branch 'feat/mmu_find_paddr_caps_by_any_offset_v5.4' into 'release/v5.4'
mmu: supported find paddr caps by any paddr offset (v5.4)

See merge request espressif/esp-idf!36813
2025-02-12 10:30:35 +08:00
Armando efd8c467d0 test(mmu): test can find paddr caps by any paddr offset 2025-02-11 15:51:45 +08:00
Armando d7cdbbb07d feat(mmu): supported find paddr caps by any paddr offset
Closes https://github.com/espressif/esp-idf/issues/14988
2025-02-11 15:51:45 +08:00
Song Ruo Jing 6cb64d7025 feat(heap): add a MALLOC_CAP_SIMD flag
MALLOC_CAP_SIMD can be used to allocate memory to be used for SIMD instructions
2025-02-08 16:28:41 +08:00
Alexey Gerenkov 391dd7b9ad fix(build): Fix declaration of linker labels for ROM reserved regions
It looks like as a part of optimization for inlined functions like 'mmu_ll_vaddr_to_laddr' Clang aligns constant value
used for bitwise AND operation with the pointer to external symbol passed to the function as parameter.
That led to assertion failures because boundaries can be unaligned to 4 bytes.
2024-09-18 21:40:39 +03:00
Marius Vikhammer 0d140f38ea fix(system): fixed warnings related to ununsed var if asserts disabled 2024-08-26 10:25:04 +08:00
C.S.M 7c08d417d2 fix(mmu_map): make a static function force inline in order not be put in flash 2024-08-02 15:51:22 +08:00
Armando 67b8dbb5e5 feat(cache): supported cache on c61 2024-08-01 09:34:18 +08:00
Armando (Dou Yiwen) 23ee0b65ff Merge branch 'feat/cache_msync_c2m_sliced_ops' into 'master'
cache: supported msync c2m sliced ops

Closes IDF-10510 and IDF-10414

See merge request espressif/esp-idf!32155
2024-07-29 11:37:24 +08:00
Armando 074ed08251 change(cache): added mutex to guarantee the atomicity
This mutex is only added when msync is called from the task. This means only one task will compete with the msync-calls from ISRs.
2024-07-25 14:25:19 +08:00
Armando 3bfc134a23 feat(cache): supported msync c2m sliced ops
This commit adds sliced C2M ops, when the msync is called in task. This way it gives a breath of the critical section, so that a long C2M operation will not disable interrupts for a long time
2024-07-25 14:25:19 +08:00
wanlei 3cf069c7d8 feat(esp32c61): disable unsupported build test 2024-07-16 16:06:19 +08:00
Mahavir Jain f5349ca342 fix(esp_mm): for existing mmap region, consider new offset for virtual addr
While returning virtual address for existing memory mapped region, newly
supplied offset from the physical address was not getting considered.

This was a regression present from ESP-IDF 5.1 release.

Added test case in spi_flash component that fails without this fix.

Closes https://github.com/espressif/esp-idf/issues/13929
2024-07-10 15:54:36 +05:30
Alexey Lapshin ed6e497c6f feat(build): add COMPILER_STATIC_ANALYZER option 2024-06-18 14:25:37 +08:00
Alexey Lapshin 505647292d fix(esp_mm): fix warnings found by GNU static analyzer 2024-06-18 14:25:37 +08:00
Jeroen Domburg a1ba660b4a change(system): heap_caps_alloc returns aligned memory if caps indicate a need for it
The implicit promise of heap_alloc_caps() and friends is that the memory it
returns is fit for the purpose as requested in the caps field. Before
this commit, that did not happen; e.g. DMA-capable memory wass returned
from a correct region, but not aligned/sized to something the DMA subsystem
can handle.

This commit adds an API to the esp_mm component that is then used by the
heap component to adjust allocation alignment, caps and size dependent on
the hardware requirement of the requested allocation caps.
2024-05-27 12:41:18 +08:00
Armando 10d3912c70 feat(xip_psram): support xip psram feature on esp32p4 2024-05-22 15:56:07 +08:00
Armando e36a396801 change(test): test changes for esp cache malloc 2024-04-15 15:34:51 +08:00
Armando 0df418facd change(cache): update to use heap cap malloc flags 2024-04-15 15:34:51 +08:00
Armando b658c712e7 change(cache): change esp_cache_aligned_alloc_log_e_to_w 2024-04-15 09:49:25 +08:00
laokaiyao 65b1fd33d3 ci(esp32c5mp): disable the unsupported tests 2024-04-07 12:13:29 +08:00
Armando f0518b3c16 feat(dma): advanced dma malloc helper 2024-04-02 14:30:14 +08:00
wanlei 20c18ac52b feat(esp32c61): final introduce helloworld support 2024-04-02 10:50:52 +08:00
Armando be5af1c737 test(cache): added test for cache_prefer_m/calloc 2024-03-26 18:03:15 +08:00
Armando de70ed1c84 feat(cache): added cache_prefer_m/calloc 2024-03-26 18:03:15 +08:00
Armando 905b427479 test(cache): added test for M2C with ESP_CACHE_MSYNC_FLAG_UNALIGNED 2024-03-22 15:38:50 +08:00
Armando 9e36994a7b bugfix(cache): don't allow M2C direction ESP_CACHE_MSYNC_FLAG_UNALIGNED 2024-03-22 15:38:50 +08:00
laokaiyao c9d6a11d1d feat(esp32c5mp): support to run hello world on esp32c5 mp 2024-03-21 16:18:03 +08:00
Konstantin Kondrashov 3f89072af1 feat(all): Use PRIx macro in all logs 2024-03-12 11:15:53 +02:00
wanlei ee02b71f1c feat(esp32c61): introduce target esp32c61 2024-03-01 21:12:25 +08:00
laokaiyao 11e19f40b9 feat(esp32c5): support to build hello world on esp32c5 beta3 2024-01-09 13:11:11 +08:00
Darian cc34c4fc08 Merge branch 'contrib/github_pr_12481' into 'master'
Many places in the ESP_SYSTEM are using CONFIG_FREERTOS_UNICORE instead of CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE (GitHub PR)

Closes IDFGH-11333

See merge request espressif/esp-idf!27435
2023-12-01 19:33:19 +08:00
laokaiyao bb0879b3f8 feat(esp32c5): introduce target esp32c5 2023-11-28 16:14:17 +08:00
fl0wl0w d149c1b26f Use configuration option instead of in components not related to FreeRTOS
Mergeshttps://github.com/espressif/esp-idf/pull/12481
2023-11-28 07:49:20 +00:00
Jakob Hasse 548022fbe6 refactor(linux): excluded all non-Linux components from build
* All components which won't build (yet) on Linux are excluded.
  This enables switching to Linux in an application without
  explicitly setting COMPONENTS to main in the main
  CMakeLists.txt.
* ESP Timer provides headers for Linux now
* automatically disabling LWIP in Kconfig if it is not available

doc(linux): brought section
  "Component Linux/Mock Support Overview" up to date
2023-10-16 17:06:54 +08:00
Armando 1f8f0a5285 feat(cache): added private API to get cache alignment requirements 2023-10-10 18:09:01 +08:00
Armando fc4b9d9507 refactor(esp_mm): reformat code with astyle_py 2 2023-10-09 15:29:31 +08:00