Browse Source

heap: Move the declaration of tlsf_poison_fill_pfunc_set() in esp_rom component

- The declaration is moved to esp_rom/include/esp32c2/rom/tlsf.h.
- multi_heap_poisoning.h now includes rom/tlsf.h instead of declaring
tlsf_poison_fill_pfunc_set().

Note: If more targets will support an implementation of the TLSF in ROM,
esp_rom will be extended with new headers in the respective target directories
but multi_heap_poisoning.h will remain unchanged.
Guillaume Souchere 3 years ago
parent
commit
2a29cdcb71

+ 23 - 0
components/esp_rom/include/esp32c2/rom/tlsf.h

@@ -0,0 +1,23 @@
+/*
+ * SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+#pragma once
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*!
+ * @brief Set the function to call for filling memory region when
+ * poisoning is configured.
+ *
+ * @param pfunc The callback function to trigger for poisoning
+ * a memory region.
+ */
+void tlsf_poison_fill_pfunc_set(void *pfunc);
+
+#ifdef __cplusplus
+}
+#endif

+ 5 - 4
components/heap/multi_heap_poisoning.c

@@ -24,11 +24,12 @@
 #if !CONFIG_HEAP_TLSF_USE_ROM_IMPL
 #include "tlsf.h"
 #else
-/* Declaration of the tlsf_poison_fill_pfunc_set defined in RAM
- * used to call IDF function multi_heap_internal_poison_fill_region()
- * in this source file
+/* Header containing the declaration of tlsf_poison_fill_pfunc_set()
+ * used to register multi_heap_internal_poison_fill_region() as a
+ * callback to fill memory region with given patterns in the heap
+ * components.
  */
-extern void tlsf_poison_fill_pfunc_set(void *pfunc);
+#include "rom/tlsf.h"
 #endif
 
 #ifdef MULTI_HEAP_POISONING