Introduce ARCH_HAVE_EXTRA_HEAPS, this config is going to be used for
chips that have multiple separate heaps. For now it's used to enable APIs to initialize the different heaps during the start sequence but can be extended for other purposes that manage those heaps. Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
This commit is contained in:
parent
db18a12844
commit
0a4982a80e
3 changed files with 21 additions and 11 deletions
14
arch/Kconfig
14
arch/Kconfig
|
@ -259,9 +259,17 @@ config ARCH_NEED_ADDRENV_MAPPING
|
|||
bool
|
||||
default n
|
||||
|
||||
config ARCH_HAVE_TEXT_HEAP
|
||||
bool "Special memory region for dynamic code loading"
|
||||
config ARCH_HAVE_EXTRA_HEAPS
|
||||
bool
|
||||
default n
|
||||
---help---
|
||||
Special memory regions used as separate heaps
|
||||
|
||||
config ARCH_HAVE_TEXT_HEAP
|
||||
bool
|
||||
default n
|
||||
---help---
|
||||
Special memory region for dynamic code loading
|
||||
|
||||
config ARCH_HAVE_MULTICPU
|
||||
bool
|
||||
|
@ -372,7 +380,7 @@ config ARCH_USE_MPU
|
|||
selection will always be forced.
|
||||
|
||||
config ARCH_USE_TEXT_HEAP
|
||||
bool "Enable separate text heap for dynamic code loading"
|
||||
bool "Enable separate text allocation for dynamic code loading"
|
||||
default n
|
||||
depends on ARCH_HAVE_TEXT_HEAP
|
||||
---help---
|
||||
|
|
|
@ -754,22 +754,22 @@ uintptr_t pgalloc(uintptr_t brkaddr, unsigned int npages);
|
|||
#endif
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_textheap_init
|
||||
* Name: up_extraheaps_init
|
||||
*
|
||||
* Description:
|
||||
* Initialize the text heap.
|
||||
* Initialize any extra heap.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#if defined(CONFIG_ARCH_USE_TEXT_HEAP)
|
||||
void up_textheap_init(void);
|
||||
#if defined(CONFIG_ARCH_HAVE_EXTRA_HEAPS)
|
||||
void up_extraheaps_init(void);
|
||||
#endif
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_textheap_memalign
|
||||
*
|
||||
* Description:
|
||||
* Allocate memory from the text heap with the specified alignment.
|
||||
* Allocate memory for text sections with the specified alignment.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
|
@ -781,7 +781,7 @@ FAR void *up_textheap_memalign(size_t align, size_t size);
|
|||
* Name: up_textheap_free
|
||||
*
|
||||
* Description:
|
||||
* Free memory from the text heap.
|
||||
* Free memory allocated for text sections.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
|
|
|
@ -572,8 +572,10 @@ void nx_start(void)
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ARCH_USE_TEXT_HEAP
|
||||
up_textheap_init();
|
||||
#ifdef CONFIG_ARCH_HAVE_EXTRA_HEAPS
|
||||
/* Initialize any extra heap. */
|
||||
|
||||
up_extraheaps_init();
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_MM_IOB
|
||||
|
|
Loading…
Reference in a new issue