diff --git a/arch/Kconfig b/arch/Kconfig index 5b1179127d..7d71aba22c 100644 --- a/arch/Kconfig +++ b/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--- diff --git a/include/nuttx/arch.h b/include/nuttx/arch.h index 391eb8c994..517ec3ff8d 100644 --- a/include/nuttx/arch.h +++ b/include/nuttx/arch.h @@ -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. * ****************************************************************************/ diff --git a/sched/init/nx_start.c b/sched/init/nx_start.c index d6b86f4f98..6361695fbf 100644 --- a/sched/init/nx_start.c +++ b/sched/init/nx_start.c @@ -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