Home
last modified time | relevance | path

Searched refs:heap (Results 1 – 25 of 57) sorted by relevance

123

/hal_espressif-latest/components/heap/
Dmulti_heap.c31 void *multi_heap_malloc(multi_heap_handle_t heap, size_t size)
34 void *multi_heap_aligned_alloc(multi_heap_handle_t heap, size_t size, size_t alignment)
37 void multi_heap_aligned_free(multi_heap_handle_t heap, void *p)
40 void multi_heap_free(multi_heap_handle_t heap, void *p)
43 void *multi_heap_realloc(multi_heap_handle_t heap, void *p, size_t size)
46 size_t multi_heap_get_allocated_size(multi_heap_handle_t heap, void *p)
52 void multi_heap_get_info(multi_heap_handle_t heap, multi_heap_info_t *info)
55 size_t multi_heap_free_size(multi_heap_handle_t heap)
58 size_t multi_heap_minimum_free_size(multi_heap_handle_t heap)
109 __attribute__((noinline)) NOCLONE_ATTR static void assert_valid_block(const heap_t *heap, const blo… in assert_valid_block() argument
[all …]
Dheap_caps.c111 bool heap_caps_match(const heap_t *heap, uint32_t caps) in heap_caps_match() argument
113 return heap->heap != NULL && ((get_all_caps(heap) & caps) == caps); in heap_caps_match()
151 heap_t *heap; in heap_caps_malloc_base() local
152 SLIST_FOREACH(heap, &registered_heaps, next) { in heap_caps_malloc_base()
153 if (heap->heap == NULL) { in heap_caps_malloc_base()
156 if ((heap->caps[prio] & caps) != 0) { in heap_caps_malloc_base()
159 if ((get_all_caps(heap) & caps) == caps) { in heap_caps_malloc_base()
163 …(caps & MALLOC_CAP_EXEC) && !esp_dram_match_iram() && esp_ptr_in_diram_dram((void *)heap->start)) { in heap_caps_malloc_base()
167 … ret = multi_heap_malloc(heap->heap, size + 4); // int overflow checked above in heap_caps_malloc_base()
176 ret = multi_heap_malloc(heap->heap, size); in heap_caps_malloc_base()
[all …]
Dheap_caps_init.c26 region->heap = multi_heap_register((void *)region->start, heap_size); in register_heap()
27 if (region->heap != NULL) { in register_heap()
28 ESP_EARLY_LOGD(TAG, "New heap initialised at %p", region->heap); in register_heap()
34 heap_t *heap; in heap_caps_enable_nonos_stack_heaps() local
35 SLIST_FOREACH(heap, &registered_heaps, next) { in heap_caps_enable_nonos_stack_heaps()
38 if (heap->heap == NULL) { in heap_caps_enable_nonos_stack_heaps()
39 register_heap(heap); in heap_caps_enable_nonos_stack_heaps()
40 if (heap->heap != NULL) { in heap_caps_enable_nonos_stack_heaps()
41 multi_heap_set_lock(heap->heap, &heap->heap_mux); in heap_caps_enable_nonos_stack_heaps()
94 heap_t *heap = &temp_heaps[heap_idx]; in heap_caps_init() local
[all …]
Dmulti_heap_internal.h43 void *multi_heap_malloc_impl(multi_heap_handle_t heap, size_t size);
46 void *multi_heap_aligned_alloc_impl(multi_heap_handle_t heap, size_t size, size_t alignment);
49 void *multi_heap_aligned_alloc_impl_offs(multi_heap_handle_t heap, size_t size, size_t alignment, s…
51 void multi_heap_free_impl(multi_heap_handle_t heap, void *p);
52 void *multi_heap_realloc_impl(multi_heap_handle_t heap, void *p, size_t size);
54 void multi_heap_get_info_impl(multi_heap_handle_t heap, multi_heap_info_t *info);
55 size_t multi_heap_free_size_impl(multi_heap_handle_t heap);
56 size_t multi_heap_minimum_free_size_impl(multi_heap_handle_t heap);
57 size_t multi_heap_get_allocated_size_impl(multi_heap_handle_t heap, void *p);
73 void multi_heap_internal_lock(multi_heap_handle_t heap);
[all …]
Dmulti_heap_poisoning.c209 void *multi_heap_aligned_alloc(multi_heap_handle_t heap, size_t size, size_t alignment) in multi_heap_aligned_alloc() argument
219 multi_heap_internal_lock(heap); in multi_heap_aligned_alloc()
220 poison_head_t *head = multi_heap_aligned_alloc_impl_offs(heap, size + POISON_OVERHEAD, in multi_heap_aligned_alloc()
231 multi_heap_internal_unlock(heap); in multi_heap_aligned_alloc()
235 multi_heap_internal_unlock(heap); in multi_heap_aligned_alloc()
240 void *multi_heap_malloc(multi_heap_handle_t heap, size_t size) in multi_heap_malloc() argument
250 multi_heap_internal_lock(heap); in multi_heap_malloc()
251 poison_head_t *head = multi_heap_malloc_impl(heap, size + POISON_OVERHEAD); in multi_heap_malloc()
262 multi_heap_internal_unlock(heap); in multi_heap_malloc()
268 NOCLONE_ATTR void multi_heap_free(multi_heap_handle_t heap, void *p) in multi_heap_free() argument
[all …]
DKconfig7 …Enable heap poisoning features to detect heap corruption caused by out-of-bounds access to heap me…
10 for a description of each level of heap corruption detection.
24 Enables the heap tracing API defined in esp_heap_trace.h.
26 … This function causes a moderate increase in IRAM code side and a minor increase in heap function
44 Enables/disables heap tracing API.
54 Number of stack frames to save when tracing heap operation callers.
56 … More stack frames uses more memory in the heap trace buffer (and slows down allocation), but
65 bool "Enable heap task tracking"
68 Enables tracking the task responsible for each heap allocation.
70 …This function depends on heap poisoning being enabled and adds four more bytes of overhead for eac…
[all …]
Dheap_private.h31 multi_heap_handle_t heap; member
43 bool heap_caps_match(const heap_t *heap, uint32_t caps);
46 inline static uint32_t get_all_caps(const heap_t *heap) in get_all_caps() argument
48 if (heap->heap == NULL) { in get_all_caps()
53 all_caps |= heap->caps[prio]; in get_all_caps()
Dheap_task_info.c45 multi_heap_handle_t heap = reg->heap; in heap_caps_get_per_task_info() local
46 if (heap == NULL) { in heap_caps_get_per_task_info()
63 multi_heap_block_handle_t b = multi_heap_get_first_block(heap); in heap_caps_get_per_task_info()
64 multi_heap_internal_lock(heap); in heap_caps_get_per_task_info()
65 for ( ; b ; b = multi_heap_get_next_block(heap, b)) { in heap_caps_get_per_task_info()
70 size_t bsize = multi_heap_get_allocated_size(heap, p); // Validates in heap_caps_get_per_task_info()
115 multi_heap_internal_unlock(heap); in heap_caps_get_per_task_info()
Dinternals.md3heap component is compiled and linked in a way that minimizes the utilization of the IRAM section …
9heap component API functions placed in IRAM have to also be placed in IRAM. Symmetrically, the fun…
Dlinker.lf1 [mapping:heap]
/hal_espressif-latest/components/heap/include/
Dmulti_heap.h33 void *multi_heap_aligned_alloc(multi_heap_handle_t heap, size_t size, size_t alignment);
44 void *multi_heap_malloc(multi_heap_handle_t heap, size_t size);
52 void __attribute__((deprecated)) multi_heap_aligned_free(multi_heap_handle_t heap, void *p);
61 void multi_heap_free(multi_heap_handle_t heap, void *p);
73 void *multi_heap_realloc(multi_heap_handle_t heap, void *p, size_t size);
84 size_t multi_heap_get_allocated_size(multi_heap_handle_t heap, void *p);
112 void multi_heap_set_lock(multi_heap_handle_t heap, void* lock);
120 void multi_heap_dump(multi_heap_handle_t heap);
134 bool multi_heap_check(multi_heap_handle_t heap, bool print_errors);
148 size_t multi_heap_free_size(multi_heap_handle_t heap);
[all …]
/hal_espressif-latest/components/esp_system/port/soc/esp32s2/
DKconfig.memory14 … If this option is disabled, the DRAM part of the heap starts right after the .bss section,
16 will change the available heap size.
18 … If this option is enabled, the DRAM part of the heap starts right after the dram0_0 region,
30 as heap memory after app startup.
DKconfig.cache9 then the other 8KB will be added to the heap.
34 If you use 0KB data cache, the other 16KB will be added to the heap
35 … If you use 8KB data cache rather than 16KB data cache, the other 8KB will be added to the heap
/hal_espressif-latest/components/esp_system/port/soc/esp32s3/
DKconfig.memory14 … If this option is disabled, the DRAM part of the heap starts right after the .bss section,
16 will change the available heap size.
18 … If this option is enabled, the DRAM part of the heap starts right after the dram0_0 region,
30 as heap memory after app startup.
DKconfig.cache9 then the other 16KB will be managed by heap allocator.
72 the other 32KB will be added to the heap.
84 … # For 16KB the actual configuration is 32kb cache, but 16kb will be reserved for heap at startup
/hal_espressif-latest/components/newlib/
DCMakeLists.txt10 "heap.c"
41 set_source_files_properties(heap.c PROPERTIES COMPILE_FLAGS -fno-builtin)
43 # Forces the linker to include heap, syscall, pthread, assert, and retargetable locks from this com…
Dnewlib.lf4 heap (noflash)
/hal_espressif-latest/components/esp_system/port/soc/esp32/
DKconfig.memory17 … If this option is disabled, the DRAM part of the heap starts right after the .bss section,
19 will change the available heap size.
21 … If this option is enabled, the DRAM part of the heap starts right after the dram0_0 region,
/hal_espressif-latest/components/esp_rom/esp32c6/ld/
Desp32c6.rom.heap.ld6 /* ROM function interface esp32c6.rom.heap.ld for esp32c6
17 Group heap
/hal_espressif-latest/components/esp_rom/esp32h2/ld/
Desp32h2.rom.heap.ld6 /* ROM function interface esp32h2.rom.heap.ld for esp32h2
17 Group heap
/hal_espressif-latest/components/esp_mm/
DCMakeLists.txt6 set(priv_requires heap spi_flash)
/hal_espressif-latest/components/esp_rom/esp32c2/ld/
Desp32c2.rom.heap.ld7 * Multi heap function
/hal_espressif-latest/components/spi_flash/sim/
DMakefile.files38 heap/include \
/hal_espressif-latest/components/spi_flash/sim/stubs/
DMakefile.files30 heap/include \
/hal_espressif-latest/components/bootloader_support/
DCMakeLists.txt52 # heap is required for `heap_memory_layout.h` header
53 set(priv_requires spi_flash mbedtls efuse heap esp_app_format)

123