summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-08-31 10:54:55 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-08-31 10:54:55 -0600
commitd646bcf4f5e2d0662b5b7261ff08d8f99457e261 (patch)
treec7b1c76b9e30faa72f2cd7600cafa112c2b75b4c
parent2a8958c4efcab8dcc8fda9cd31bdcf462801669d (diff)
downloadnuttx-d646bcf4f5e2d0662b5b7261ff08d8f99457e261.tar.gz
nuttx-d646bcf4f5e2d0662b5b7261ff08d8f99457e261.tar.bz2
nuttx-d646bcf4f5e2d0662b5b7261ff08d8f99457e261.zip
Remove CONFIG_MM_MULTIHEAP. Non-multiheap operation is no longer supported
-rw-r--r--nuttx/arch/arm/src/stm32/Kconfig2
-rwxr-xr-xnuttx/arch/arm/src/stm32/stm32_ccm.h4
-rw-r--r--nuttx/configs/16z/nsh/defconfig1
-rw-r--r--nuttx/configs/amber/hello/defconfig1
-rw-r--r--nuttx/configs/arduino-due/nsh/defconfig1
-rw-r--r--nuttx/configs/avr32dev1/nsh/defconfig1
-rw-r--r--nuttx/configs/avr32dev1/ostest/defconfig1
-rw-r--r--nuttx/configs/c5471evm/httpd/defconfig1
-rw-r--r--nuttx/configs/c5471evm/nettest/defconfig1
-rw-r--r--nuttx/configs/c5471evm/nsh/defconfig1
-rw-r--r--nuttx/configs/cc3200-launchpad/nsh/defconfig1
-rw-r--r--nuttx/configs/compal_e86/nsh_highram/defconfig1
-rw-r--r--nuttx/configs/compal_e88/nsh_highram/defconfig1
-rw-r--r--nuttx/configs/compal_e99/nsh_compalram/defconfig1
-rw-r--r--nuttx/configs/compal_e99/nsh_highram/defconfig1
-rw-r--r--nuttx/configs/demo9s12ne64/ostest/defconfig1
-rw-r--r--nuttx/configs/ea3131/nsh/defconfig1
-rw-r--r--nuttx/configs/ea3131/pgnsh/defconfig1
-rw-r--r--nuttx/configs/ea3131/usbserial/defconfig1
-rw-r--r--nuttx/configs/ea3152/ostest/defconfig1
-rw-r--r--nuttx/configs/eagle100/httpd/defconfig1
-rw-r--r--nuttx/configs/eagle100/nettest/defconfig1
-rw-r--r--nuttx/configs/eagle100/nsh/defconfig1
-rw-r--r--nuttx/configs/eagle100/nxflat/defconfig1
-rw-r--r--nuttx/configs/eagle100/thttpd/defconfig1
-rw-r--r--nuttx/configs/ekk-lm3s9b96/nsh/defconfig1
-rw-r--r--nuttx/configs/ez80f910200kitg/ostest/defconfig1
-rw-r--r--nuttx/configs/ez80f910200zco/dhcpd/defconfig1
-rw-r--r--nuttx/configs/ez80f910200zco/httpd/defconfig1
-rw-r--r--nuttx/configs/ez80f910200zco/nettest/defconfig1
-rw-r--r--nuttx/configs/ez80f910200zco/nsh/defconfig1
-rw-r--r--nuttx/configs/ez80f910200zco/poll/defconfig1
-rw-r--r--nuttx/configs/freedom-kl25z/minnsh/defconfig1
-rw-r--r--nuttx/configs/freedom-kl25z/nsh/defconfig1
-rw-r--r--nuttx/configs/hymini-stm32v/buttons/defconfig1
-rw-r--r--nuttx/configs/hymini-stm32v/nsh/defconfig1
-rw-r--r--nuttx/configs/hymini-stm32v/nsh2/defconfig1
-rw-r--r--nuttx/configs/hymini-stm32v/usbmsc/defconfig1
-rw-r--r--nuttx/configs/hymini-stm32v/usbnsh/defconfig1
-rw-r--r--nuttx/configs/hymini-stm32v/usbserial/defconfig1
-rw-r--r--nuttx/configs/kwikstik-k40/ostest/defconfig1
-rw-r--r--nuttx/configs/lincoln60/nsh/defconfig1
-rw-r--r--nuttx/configs/lm3s6432-s2e/nsh/defconfig1
-rw-r--r--nuttx/configs/lm3s6965-ek/discover/defconfig1
-rw-r--r--nuttx/configs/lm3s6965-ek/nsh/defconfig1
-rw-r--r--nuttx/configs/lm3s6965-ek/nx/defconfig1
-rw-r--r--nuttx/configs/lm3s6965-ek/tcpecho/defconfig1
-rw-r--r--nuttx/configs/lm3s8962-ek/nsh/defconfig1
-rw-r--r--nuttx/configs/lm3s8962-ek/nx/defconfig1
-rw-r--r--nuttx/configs/lm4f120-launchpad/nsh/defconfig1
-rw-r--r--nuttx/configs/lpc4330-xplorer/nsh/defconfig1
-rw-r--r--nuttx/configs/lpcxpresso-lpc1768/dhcpd/defconfig1
-rw-r--r--nuttx/configs/lpcxpresso-lpc1768/nsh/defconfig1
-rw-r--r--nuttx/configs/lpcxpresso-lpc1768/nx/defconfig1
-rw-r--r--nuttx/configs/lpcxpresso-lpc1768/thttpd/defconfig1
-rw-r--r--nuttx/configs/lpcxpresso-lpc1768/usbmsc/defconfig1
-rw-r--r--nuttx/configs/maple/nsh/defconfig1
-rw-r--r--nuttx/configs/maple/nx/defconfig1
-rw-r--r--nuttx/configs/maple/usbnsh/defconfig1
-rw-r--r--nuttx/configs/mbed/hidkbd/defconfig1
-rw-r--r--nuttx/configs/mbed/nsh/defconfig1
-rw-r--r--nuttx/configs/mcu123-lpc214x/composite/defconfig1
-rw-r--r--nuttx/configs/mcu123-lpc214x/usbmsc/defconfig1
-rw-r--r--nuttx/configs/mcu123-lpc214x/usbserial/defconfig1
-rw-r--r--nuttx/configs/micropendous3/hello/defconfig1
-rw-r--r--nuttx/configs/mikroe-stm32f4/fulldemo/defconfig1
-rw-r--r--nuttx/configs/mikroe-stm32f4/kostest/defconfig1
-rw-r--r--nuttx/configs/mikroe-stm32f4/nsh/defconfig1
-rw-r--r--nuttx/configs/mikroe-stm32f4/nx/defconfig1
-rw-r--r--nuttx/configs/mikroe-stm32f4/nxlines/defconfig1
-rw-r--r--nuttx/configs/mikroe-stm32f4/nxtext/defconfig1
-rw-r--r--nuttx/configs/mikroe-stm32f4/usbnsh/defconfig1
-rw-r--r--nuttx/configs/mirtoo/nsh/defconfig1
-rw-r--r--nuttx/configs/mirtoo/nxffs/defconfig1
-rw-r--r--nuttx/configs/mx1ads/ostest/defconfig1
-rw-r--r--nuttx/configs/ne64badge/ostest/defconfig1
-rw-r--r--nuttx/configs/ntosd-dm320/nettest/defconfig1
-rw-r--r--nuttx/configs/ntosd-dm320/nsh/defconfig1
-rw-r--r--nuttx/configs/ntosd-dm320/poll/defconfig1
-rw-r--r--nuttx/configs/ntosd-dm320/thttpd/defconfig1
-rw-r--r--nuttx/configs/ntosd-dm320/udp/defconfig1
-rw-r--r--nuttx/configs/ntosd-dm320/webserver/defconfig1
-rw-r--r--nuttx/configs/nucleo-f401re/nsh/defconfig1
-rw-r--r--nuttx/configs/nucleus2g/nsh/defconfig1
-rw-r--r--nuttx/configs/nucleus2g/usbmsc/defconfig1
-rw-r--r--nuttx/configs/nucleus2g/usbserial/defconfig1
-rw-r--r--nuttx/configs/olimex-lpc-h3131/nsh/defconfig1
-rw-r--r--nuttx/configs/olimex-lpc1766stk/ftpc/defconfig1
-rw-r--r--nuttx/configs/olimex-lpc1766stk/hidkbd/defconfig1
-rw-r--r--nuttx/configs/olimex-lpc1766stk/hidmouse/defconfig1
-rw-r--r--nuttx/configs/olimex-lpc1766stk/nettest/defconfig1
-rw-r--r--nuttx/configs/olimex-lpc1766stk/nsh/defconfig1
-rw-r--r--nuttx/configs/olimex-lpc1766stk/nx/defconfig1
-rw-r--r--nuttx/configs/olimex-lpc1766stk/slip-httpd/defconfig1
-rw-r--r--nuttx/configs/olimex-lpc1766stk/thttpd/defconfig1
-rw-r--r--nuttx/configs/olimex-lpc1766stk/usbmsc/defconfig1
-rw-r--r--nuttx/configs/olimex-lpc1766stk/usbserial/defconfig1
-rw-r--r--nuttx/configs/olimex-lpc1766stk/zmodem/defconfig1
-rw-r--r--nuttx/configs/olimex-lpc2378/nsh/defconfig1
-rw-r--r--nuttx/configs/olimex-stm32-h405/nshusb/defconfig1
-rw-r--r--nuttx/configs/olimex-stm32-p107/nsh/defconfig1
-rw-r--r--nuttx/configs/olimex-stm32-p207/nsh/defconfig1
-rw-r--r--nuttx/configs/olimex-strp711/nettest/defconfig1
-rw-r--r--nuttx/configs/olimex-strp711/nsh/defconfig1
-rw-r--r--nuttx/configs/open1788/knsh/defconfig1
-rw-r--r--nuttx/configs/open1788/nsh/defconfig1
-rw-r--r--nuttx/configs/open1788/nxlines/defconfig1
-rw-r--r--nuttx/configs/pcblogic-pic32mx/nsh/defconfig1
-rw-r--r--nuttx/configs/pcduino-a10/nsh/defconfig1
-rw-r--r--nuttx/configs/pic32-starterkit/nsh/defconfig1
-rw-r--r--nuttx/configs/pic32-starterkit/nsh2/defconfig1
-rw-r--r--nuttx/configs/pic32mx7mmb/nsh/defconfig1
-rw-r--r--nuttx/configs/pirelli_dpl10/nsh_highram/defconfig1
-rw-r--r--nuttx/configs/pjrc-8051/defconfig1
-rw-r--r--nuttx/configs/px4fmu-v2_upstream/nsh/defconfig1
-rw-r--r--nuttx/configs/qemu-i486/nsh/defconfig1
-rw-r--r--nuttx/configs/qemu-i486/ostest/defconfig1
-rw-r--r--nuttx/configs/rgmp/arm/default/defconfig1
-rw-r--r--nuttx/configs/rgmp/arm/nsh/defconfig1
-rw-r--r--nuttx/configs/rgmp/x86/cxxtest/defconfig1
-rw-r--r--nuttx/configs/rgmp/x86/default/defconfig1
-rw-r--r--nuttx/configs/rgmp/x86/helloxx/defconfig1
-rw-r--r--nuttx/configs/rgmp/x86/nsh/defconfig1
-rw-r--r--nuttx/configs/sam3u-ek/knsh/defconfig1
-rw-r--r--nuttx/configs/sam3u-ek/nsh/defconfig1
-rw-r--r--nuttx/configs/sam3u-ek/nx/defconfig1
-rw-r--r--nuttx/configs/sam3u-ek/nxwm/defconfig1
-rw-r--r--nuttx/configs/sam4e-ek/nsh/defconfig1
-rw-r--r--nuttx/configs/sam4e-ek/nxwm/defconfig1
-rw-r--r--nuttx/configs/sam4e-ek/usbnsh/defconfig1
-rw-r--r--nuttx/configs/sam4l-xplained/nsh/defconfig1
-rw-r--r--nuttx/configs/sam4s-xplained-pro/nsh/defconfig1
-rw-r--r--nuttx/configs/sam4s-xplained/nsh/defconfig1
-rw-r--r--nuttx/configs/sama5d3-xplained/nsh/defconfig1
-rw-r--r--nuttx/configs/sama5d3x-ek/demo/defconfig1
-rw-r--r--nuttx/configs/sama5d3x-ek/hello/defconfig1
-rw-r--r--nuttx/configs/sama5d3x-ek/norboot/defconfig1
-rw-r--r--nuttx/configs/sama5d3x-ek/nsh/defconfig1
-rw-r--r--nuttx/configs/sama5d3x-ek/nx/defconfig1
-rw-r--r--nuttx/configs/sama5d3x-ek/nxplayer/defconfig1
-rw-r--r--nuttx/configs/sama5d3x-ek/nxwm/defconfig1
-rw-r--r--nuttx/configs/sama5d3x-ek/ov2640/defconfig1
-rw-r--r--nuttx/configs/sama5d4-ek/at25boot/defconfig1
-rw-r--r--nuttx/configs/sama5d4-ek/dramboot/defconfig1
-rw-r--r--nuttx/configs/sama5d4-ek/elf/defconfig1
-rw-r--r--nuttx/configs/sama5d4-ek/nsh/defconfig1
-rw-r--r--nuttx/configs/sama5d4-ek/nxwm/defconfig1
-rw-r--r--nuttx/configs/sama5d4-ek/ramtest/defconfig1
-rw-r--r--nuttx/configs/samd20-xplained/nsh/defconfig1
-rw-r--r--nuttx/configs/shenzhou/nxwm/defconfig1
-rw-r--r--nuttx/configs/sim/configdata/defconfig1
-rw-r--r--nuttx/configs/sim/cxxtest/defconfig1
-rw-r--r--nuttx/configs/sim/mount/defconfig1
-rw-r--r--nuttx/configs/sim/mtdpart/defconfig1
-rwxr-xr-xnuttx/configs/sim/nettest/defconfig1
-rw-r--r--nuttx/configs/sim/nsh/defconfig1
-rw-r--r--nuttx/configs/sim/nsh2/defconfig1
-rw-r--r--nuttx/configs/sim/nx/defconfig1
-rw-r--r--nuttx/configs/sim/nx11/defconfig1
-rw-r--r--nuttx/configs/sim/nxffs/defconfig1
-rw-r--r--nuttx/configs/sim/nxlines/defconfig1
-rw-r--r--nuttx/configs/sim/nxwm/defconfig1
-rw-r--r--nuttx/configs/sim/ostest/defconfig1
-rw-r--r--nuttx/configs/sim/pashello/defconfig1
-rw-r--r--nuttx/configs/sim/touchscreen/defconfig1
-rw-r--r--nuttx/configs/skp16c26/ostest/defconfig1
-rw-r--r--nuttx/configs/spark/composite/defconfig1
-rw-r--r--nuttx/configs/spark/nsh/defconfig1
-rw-r--r--nuttx/configs/spark/usbmsc/defconfig1
-rw-r--r--nuttx/configs/spark/usbnsh/defconfig1
-rw-r--r--nuttx/configs/spark/usbserial/defconfig1
-rw-r--r--nuttx/configs/stm3210e-eval/buttons/defconfig1
-rw-r--r--nuttx/configs/stm3210e-eval/composite/defconfig1
-rw-r--r--nuttx/configs/stm3210e-eval/nsh/defconfig1
-rw-r--r--nuttx/configs/stm3210e-eval/nsh2/defconfig1
-rw-r--r--nuttx/configs/stm3210e-eval/nx/defconfig1
-rw-r--r--nuttx/configs/stm3210e-eval/nxconsole/defconfig1
-rw-r--r--nuttx/configs/stm3210e-eval/pm/defconfig1
-rw-r--r--nuttx/configs/stm3210e-eval/usbmsc/defconfig1
-rw-r--r--nuttx/configs/stm3210e-eval/usbserial/defconfig1
-rw-r--r--nuttx/configs/stm3220g-eval/dhcpd/defconfig1
-rw-r--r--nuttx/configs/stm3220g-eval/nettest/defconfig1
-rw-r--r--nuttx/configs/stm3220g-eval/nsh/defconfig1
-rw-r--r--nuttx/configs/stm3220g-eval/nsh2/defconfig1
-rw-r--r--nuttx/configs/stm3220g-eval/nxwm/defconfig1
-rw-r--r--nuttx/configs/stm3220g-eval/telnetd/defconfig1
-rw-r--r--nuttx/configs/stm3240g-eval/dhcpd/defconfig1
-rw-r--r--nuttx/configs/stm3240g-eval/discover/defconfig1
-rw-r--r--nuttx/configs/stm3240g-eval/knxwm/defconfig1
-rw-r--r--nuttx/configs/stm3240g-eval/nettest/defconfig1
-rw-r--r--nuttx/configs/stm3240g-eval/nsh/defconfig1
-rw-r--r--nuttx/configs/stm3240g-eval/nsh2/defconfig1
-rw-r--r--nuttx/configs/stm3240g-eval/nxconsole/defconfig1
-rw-r--r--nuttx/configs/stm3240g-eval/nxwm/defconfig1
-rw-r--r--nuttx/configs/stm3240g-eval/telnetd/defconfig1
-rw-r--r--nuttx/configs/stm3240g-eval/webserver/defconfig1
-rw-r--r--nuttx/configs/stm3240g-eval/xmlrpc/defconfig1
-rw-r--r--nuttx/configs/stm32_tiny/nsh/defconfig1
-rw-r--r--nuttx/configs/stm32_tiny/usbnsh/defconfig1
-rw-r--r--nuttx/configs/stm32f3discovery/nsh/defconfig1
-rw-r--r--nuttx/configs/stm32f3discovery/usbnsh/defconfig1
-rw-r--r--nuttx/configs/stm32f429i-disco/extflash/defconfig1
-rw-r--r--nuttx/configs/stm32f429i-disco/nsh/defconfig1
-rw-r--r--nuttx/configs/stm32f429i-disco/usbmsc/defconfig1
-rw-r--r--nuttx/configs/stm32f429i-disco/usbnsh/defconfig1
-rw-r--r--nuttx/configs/stm32f4discovery/cxxtest/defconfig1
-rw-r--r--nuttx/configs/stm32f4discovery/elf/defconfig1
-rw-r--r--nuttx/configs/stm32f4discovery/kostest/defconfig1
-rw-r--r--nuttx/configs/stm32f4discovery/nsh/defconfig1
-rw-r--r--nuttx/configs/stm32f4discovery/nxlines/defconfig1
-rw-r--r--nuttx/configs/stm32f4discovery/pm/defconfig1
-rw-r--r--nuttx/configs/stm32f4discovery/posix_spawn/defconfig1
-rw-r--r--nuttx/configs/stm32f4discovery/usbnsh/defconfig1
-rw-r--r--nuttx/configs/stm32ldiscovery/nsh/defconfig1
-rw-r--r--nuttx/configs/sure-pic32mx/nsh/defconfig1
-rw-r--r--nuttx/configs/sure-pic32mx/usbnsh/defconfig1
-rw-r--r--nuttx/configs/teensy/hello/defconfig1
-rw-r--r--nuttx/configs/teensy/nsh/defconfig1
-rw-r--r--nuttx/configs/teensy/usbmsc/defconfig1
-rw-r--r--nuttx/configs/tm4c123g-launchpad/nsh/defconfig1
-rw-r--r--nuttx/configs/twr-k60n512/nsh/defconfig1
-rw-r--r--nuttx/configs/ubw32/nsh/defconfig1
-rw-r--r--nuttx/configs/us7032evb1/nsh/defconfig1
-rw-r--r--nuttx/configs/us7032evb1/ostest/defconfig1
-rw-r--r--nuttx/configs/viewtool-stm32f107/highpri/defconfig1
-rw-r--r--nuttx/configs/viewtool-stm32f107/netnsh/defconfig1
-rw-r--r--nuttx/configs/viewtool-stm32f107/nsh/defconfig1
-rw-r--r--nuttx/configs/vsn/nsh/defconfig1
-rw-r--r--nuttx/configs/z16f2800100zcog/nsh/defconfig1
-rw-r--r--nuttx/configs/z16f2800100zcog/ostest/defconfig1
-rw-r--r--nuttx/configs/zkit-arm-1769/hello/defconfig1
-rw-r--r--nuttx/configs/zkit-arm-1769/nsh/defconfig1
-rw-r--r--nuttx/configs/zkit-arm-1769/nxhello/defconfig1
-rw-r--r--nuttx/configs/zkit-arm-1769/thttpd/defconfig1
-rw-r--r--nuttx/include/nuttx/kmalloc.h2
-rw-r--r--nuttx/include/nuttx/mm.h34
-rw-r--r--nuttx/mm/Kconfig20
-rw-r--r--nuttx/mm/Makefile24
-rw-r--r--nuttx/mm/kmm_calloc.c67
-rw-r--r--nuttx/mm/kmm_free.c82
-rw-r--r--nuttx/mm/kmm_mallinfo.c90
-rw-r--r--nuttx/mm/kmm_malloc.c89
-rw-r--r--nuttx/mm/kmm_memalign.c80
-rw-r--r--nuttx/mm/kmm_realloc.c78
-rw-r--r--nuttx/mm/kmm_zalloc.c73
-rw-r--r--nuttx/mm/mm_calloc.c36
-rw-r--r--nuttx/mm/mm_free.c28
-rw-r--r--nuttx/mm/mm_kernel.c98
-rw-r--r--nuttx/mm/mm_mallinfo.c41
-rw-r--r--nuttx/mm/mm_malloc.c31
-rw-r--r--nuttx/mm/mm_memalign.c48
-rw-r--r--nuttx/mm/mm_realloc.c62
-rw-r--r--nuttx/mm/mm_zalloc.c28
-rw-r--r--nuttx/mm/umm_calloc.c69
-rw-r--r--nuttx/mm/umm_free.c74
-rw-r--r--nuttx/mm/umm_mallinfo.c90
-rw-r--r--nuttx/mm/umm_malloc.c91
-rw-r--r--nuttx/mm/umm_memalign.c78
-rw-r--r--nuttx/mm/umm_realloc.c80
-rw-r--r--nuttx/mm/umm_zalloc.c75
260 files changed, 1184 insertions, 622 deletions
diff --git a/nuttx/arch/arm/src/stm32/Kconfig b/nuttx/arch/arm/src/stm32/Kconfig
index 62641b434..7f2888763 100644
--- a/nuttx/arch/arm/src/stm32/Kconfig
+++ b/nuttx/arch/arm/src/stm32/Kconfig
@@ -1661,7 +1661,7 @@ config STM32_CCMEXCLUDE
config STM32_CCM_PROCFS
bool "CCM PROCFS support"
default n
- depends on STM32_CCMEXCLUDE && MM_MULTIHEAP && FS_PROCFS
+ depends on STM32_CCMEXCLUDE && FS_PROCFS
---help---
Select to build in support for /proc/ccm. Reading from /proc/ccm
will provide statistics about CCM memory use similar to what you
diff --git a/nuttx/arch/arm/src/stm32/stm32_ccm.h b/nuttx/arch/arm/src/stm32/stm32_ccm.h
index 131421063..9b5041bc1 100755
--- a/nuttx/arch/arm/src/stm32/stm32_ccm.h
+++ b/nuttx/arch/arm/src/stm32/stm32_ccm.h
@@ -66,10 +66,10 @@
#endif
/* In order to use the CCM heap, it had to have been excluded from the main
- * heap and support for multiple heaps must have been enabled.
+ * heap.
*/
-#if !defined(CONFIG_STM32_CCMEXCLUDE) || !defined(CONFIG_MM_MULTIHEAP)
+#ifndef CONFIG_STM32_CCMEXCLUDE
# undef HAVE_CCM_HEAP
#endif
diff --git a/nuttx/configs/16z/nsh/defconfig b/nuttx/configs/16z/nsh/defconfig
index 65b5561e8..a667f239f 100644
--- a/nuttx/configs/16z/nsh/defconfig
+++ b/nuttx/configs/16z/nsh/defconfig
@@ -399,7 +399,6 @@ CONFIG_UART0_2STOP=0
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
CONFIG_ARCH_HAVE_HEAP2=y
diff --git a/nuttx/configs/amber/hello/defconfig b/nuttx/configs/amber/hello/defconfig
index 41841a2c9..f5a81f891 100644
--- a/nuttx/configs/amber/hello/defconfig
+++ b/nuttx/configs/amber/hello/defconfig
@@ -311,7 +311,6 @@ CONFIG_DISABLE_PSEUDOFS_OPERATIONS=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/arduino-due/nsh/defconfig b/nuttx/configs/arduino-due/nsh/defconfig
index e9ab03011..493cceefc 100644
--- a/nuttx/configs/arduino-due/nsh/defconfig
+++ b/nuttx/configs/arduino-due/nsh/defconfig
@@ -398,7 +398,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=3
# CONFIG_GRAN is not set
diff --git a/nuttx/configs/avr32dev1/nsh/defconfig b/nuttx/configs/avr32dev1/nsh/defconfig
index c3f3900bc..3a6b35277 100644
--- a/nuttx/configs/avr32dev1/nsh/defconfig
+++ b/nuttx/configs/avr32dev1/nsh/defconfig
@@ -358,7 +358,6 @@ CONFIG_FS_FAT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/avr32dev1/ostest/defconfig b/nuttx/configs/avr32dev1/ostest/defconfig
index 9fa49ead0..87c59210a 100644
--- a/nuttx/configs/avr32dev1/ostest/defconfig
+++ b/nuttx/configs/avr32dev1/ostest/defconfig
@@ -348,7 +348,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/c5471evm/httpd/defconfig b/nuttx/configs/c5471evm/httpd/defconfig
index a9aeb224b..9915cc3ac 100644
--- a/nuttx/configs/c5471evm/httpd/defconfig
+++ b/nuttx/configs/c5471evm/httpd/defconfig
@@ -399,7 +399,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/c5471evm/nettest/defconfig b/nuttx/configs/c5471evm/nettest/defconfig
index fb6f7d8f5..33b0d153a 100644
--- a/nuttx/configs/c5471evm/nettest/defconfig
+++ b/nuttx/configs/c5471evm/nettest/defconfig
@@ -397,7 +397,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/c5471evm/nsh/defconfig b/nuttx/configs/c5471evm/nsh/defconfig
index bfd3734ed..c1e31dac5 100644
--- a/nuttx/configs/c5471evm/nsh/defconfig
+++ b/nuttx/configs/c5471evm/nsh/defconfig
@@ -404,7 +404,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/cc3200-launchpad/nsh/defconfig b/nuttx/configs/cc3200-launchpad/nsh/defconfig
index c137a7810..d136ee73e 100644
--- a/nuttx/configs/cc3200-launchpad/nsh/defconfig
+++ b/nuttx/configs/cc3200-launchpad/nsh/defconfig
@@ -470,7 +470,6 @@ CONFIG_FS_PROCFS=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/compal_e86/nsh_highram/defconfig b/nuttx/configs/compal_e86/nsh_highram/defconfig
index 5ef2cd713..9523d6696 100644
--- a/nuttx/configs/compal_e86/nsh_highram/defconfig
+++ b/nuttx/configs/compal_e86/nsh_highram/defconfig
@@ -335,7 +335,6 @@ CONFIG_SERIAL=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
CONFIG_ARCH_HAVE_HEAP2=y
diff --git a/nuttx/configs/compal_e88/nsh_highram/defconfig b/nuttx/configs/compal_e88/nsh_highram/defconfig
index 3378b8cdc..f6ba79730 100644
--- a/nuttx/configs/compal_e88/nsh_highram/defconfig
+++ b/nuttx/configs/compal_e88/nsh_highram/defconfig
@@ -361,7 +361,6 @@ CONFIG_SERIAL=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
CONFIG_ARCH_HAVE_HEAP2=y
diff --git a/nuttx/configs/compal_e99/nsh_compalram/defconfig b/nuttx/configs/compal_e99/nsh_compalram/defconfig
index 3e9c217ad..30bc47674 100644
--- a/nuttx/configs/compal_e99/nsh_compalram/defconfig
+++ b/nuttx/configs/compal_e99/nsh_compalram/defconfig
@@ -366,7 +366,6 @@ CONFIG_SERIAL=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
CONFIG_ARCH_HAVE_HEAP2=y
diff --git a/nuttx/configs/compal_e99/nsh_highram/defconfig b/nuttx/configs/compal_e99/nsh_highram/defconfig
index 1efa2bf1a..4c07ac111 100644
--- a/nuttx/configs/compal_e99/nsh_highram/defconfig
+++ b/nuttx/configs/compal_e99/nsh_highram/defconfig
@@ -453,7 +453,6 @@ CONFIG_NXFONT_SANS17X22=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
CONFIG_ARCH_HAVE_HEAP2=y
diff --git a/nuttx/configs/demo9s12ne64/ostest/defconfig b/nuttx/configs/demo9s12ne64/ostest/defconfig
index 31a941335..dcf4490ca 100644
--- a/nuttx/configs/demo9s12ne64/ostest/defconfig
+++ b/nuttx/configs/demo9s12ne64/ostest/defconfig
@@ -304,7 +304,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/ea3131/nsh/defconfig b/nuttx/configs/ea3131/nsh/defconfig
index eccd7f5f7..a7fe7aba0 100644
--- a/nuttx/configs/ea3131/nsh/defconfig
+++ b/nuttx/configs/ea3131/nsh/defconfig
@@ -466,7 +466,6 @@ CONFIG_FS_FAT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/ea3131/pgnsh/defconfig b/nuttx/configs/ea3131/pgnsh/defconfig
index 2982fdce3..3f7b75b62 100644
--- a/nuttx/configs/ea3131/pgnsh/defconfig
+++ b/nuttx/configs/ea3131/pgnsh/defconfig
@@ -529,7 +529,6 @@ CONFIG_FS_FAT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/ea3131/usbserial/defconfig b/nuttx/configs/ea3131/usbserial/defconfig
index dd78cd02e..e83f76b92 100644
--- a/nuttx/configs/ea3131/usbserial/defconfig
+++ b/nuttx/configs/ea3131/usbserial/defconfig
@@ -506,7 +506,6 @@ CONFIG_PL2303_PRODUCTSTR="USBdev Serial"
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/ea3152/ostest/defconfig b/nuttx/configs/ea3152/ostest/defconfig
index 09a5d33da..55d04491a 100644
--- a/nuttx/configs/ea3152/ostest/defconfig
+++ b/nuttx/configs/ea3152/ostest/defconfig
@@ -455,7 +455,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/eagle100/httpd/defconfig b/nuttx/configs/eagle100/httpd/defconfig
index 0fada532c..a577741ce 100644
--- a/nuttx/configs/eagle100/httpd/defconfig
+++ b/nuttx/configs/eagle100/httpd/defconfig
@@ -466,7 +466,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/eagle100/nettest/defconfig b/nuttx/configs/eagle100/nettest/defconfig
index ae67b8538..09ac7417c 100644
--- a/nuttx/configs/eagle100/nettest/defconfig
+++ b/nuttx/configs/eagle100/nettest/defconfig
@@ -513,7 +513,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/eagle100/nsh/defconfig b/nuttx/configs/eagle100/nsh/defconfig
index 29826f891..804e2d1b9 100644
--- a/nuttx/configs/eagle100/nsh/defconfig
+++ b/nuttx/configs/eagle100/nsh/defconfig
@@ -519,7 +519,6 @@ CONFIG_FS_FAT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/eagle100/nxflat/defconfig b/nuttx/configs/eagle100/nxflat/defconfig
index 968c45bc1..aa5c56b0b 100644
--- a/nuttx/configs/eagle100/nxflat/defconfig
+++ b/nuttx/configs/eagle100/nxflat/defconfig
@@ -421,7 +421,6 @@ CONFIG_FS_ROMFS=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/eagle100/thttpd/defconfig b/nuttx/configs/eagle100/thttpd/defconfig
index 344e817d2..869e0a73d 100644
--- a/nuttx/configs/eagle100/thttpd/defconfig
+++ b/nuttx/configs/eagle100/thttpd/defconfig
@@ -463,7 +463,6 @@ CONFIG_FS_ROMFS=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/ekk-lm3s9b96/nsh/defconfig b/nuttx/configs/ekk-lm3s9b96/nsh/defconfig
index 534dbb245..fc2f98f90 100644
--- a/nuttx/configs/ekk-lm3s9b96/nsh/defconfig
+++ b/nuttx/configs/ekk-lm3s9b96/nsh/defconfig
@@ -506,7 +506,6 @@ CONFIG_NFS=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/ez80f910200kitg/ostest/defconfig b/nuttx/configs/ez80f910200kitg/ostest/defconfig
index ef14196f3..5e5f743a4 100644
--- a/nuttx/configs/ez80f910200kitg/ostest/defconfig
+++ b/nuttx/configs/ez80f910200kitg/ostest/defconfig
@@ -370,7 +370,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
CONFIG_ARCH_HAVE_HEAP2=y
diff --git a/nuttx/configs/ez80f910200zco/dhcpd/defconfig b/nuttx/configs/ez80f910200zco/dhcpd/defconfig
index 2e46b3e02..037a69f7d 100644
--- a/nuttx/configs/ez80f910200zco/dhcpd/defconfig
+++ b/nuttx/configs/ez80f910200zco/dhcpd/defconfig
@@ -457,7 +457,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
CONFIG_ARCH_HAVE_HEAP2=y
diff --git a/nuttx/configs/ez80f910200zco/httpd/defconfig b/nuttx/configs/ez80f910200zco/httpd/defconfig
index 8c0ee7405..92aabe69f 100644
--- a/nuttx/configs/ez80f910200zco/httpd/defconfig
+++ b/nuttx/configs/ez80f910200zco/httpd/defconfig
@@ -468,7 +468,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
CONFIG_ARCH_HAVE_HEAP2=y
diff --git a/nuttx/configs/ez80f910200zco/nettest/defconfig b/nuttx/configs/ez80f910200zco/nettest/defconfig
index 3aba3d92f..c4e3aaf39 100644
--- a/nuttx/configs/ez80f910200zco/nettest/defconfig
+++ b/nuttx/configs/ez80f910200zco/nettest/defconfig
@@ -466,7 +466,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
CONFIG_ARCH_HAVE_HEAP2=y
diff --git a/nuttx/configs/ez80f910200zco/nsh/defconfig b/nuttx/configs/ez80f910200zco/nsh/defconfig
index 77dd53dbd..eb410e6f9 100644
--- a/nuttx/configs/ez80f910200zco/nsh/defconfig
+++ b/nuttx/configs/ez80f910200zco/nsh/defconfig
@@ -479,7 +479,6 @@ CONFIG_IOB_THROTTLE=0
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
CONFIG_ARCH_HAVE_HEAP2=y
diff --git a/nuttx/configs/ez80f910200zco/poll/defconfig b/nuttx/configs/ez80f910200zco/poll/defconfig
index 54ec48a73..da41147e2 100644
--- a/nuttx/configs/ez80f910200zco/poll/defconfig
+++ b/nuttx/configs/ez80f910200zco/poll/defconfig
@@ -468,7 +468,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
CONFIG_ARCH_HAVE_HEAP2=y
diff --git a/nuttx/configs/freedom-kl25z/minnsh/defconfig b/nuttx/configs/freedom-kl25z/minnsh/defconfig
index bc05cab76..2ae28384e 100644
--- a/nuttx/configs/freedom-kl25z/minnsh/defconfig
+++ b/nuttx/configs/freedom-kl25z/minnsh/defconfig
@@ -380,7 +380,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
CONFIG_MM_SMALL=y
CONFIG_MM_REGIONS=1
# CONFIG_GRAN is not set
diff --git a/nuttx/configs/freedom-kl25z/nsh/defconfig b/nuttx/configs/freedom-kl25z/nsh/defconfig
index 47d931f8b..fbbcbb0a2 100644
--- a/nuttx/configs/freedom-kl25z/nsh/defconfig
+++ b/nuttx/configs/freedom-kl25z/nsh/defconfig
@@ -368,7 +368,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
CONFIG_MM_SMALL=y
CONFIG_MM_REGIONS=1
# CONFIG_GRAN is not set
diff --git a/nuttx/configs/hymini-stm32v/buttons/defconfig b/nuttx/configs/hymini-stm32v/buttons/defconfig
index 9e5e03b50..1aec7f4e3 100644
--- a/nuttx/configs/hymini-stm32v/buttons/defconfig
+++ b/nuttx/configs/hymini-stm32v/buttons/defconfig
@@ -418,7 +418,6 @@ CONFIG_USART1_2STOP=0
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_GRAN is not set
diff --git a/nuttx/configs/hymini-stm32v/nsh/defconfig b/nuttx/configs/hymini-stm32v/nsh/defconfig
index 589620e60..c125f7c06 100644
--- a/nuttx/configs/hymini-stm32v/nsh/defconfig
+++ b/nuttx/configs/hymini-stm32v/nsh/defconfig
@@ -441,7 +441,6 @@ CONFIG_FAT_LCNAMES=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_GRAN is not set
diff --git a/nuttx/configs/hymini-stm32v/nsh2/defconfig b/nuttx/configs/hymini-stm32v/nsh2/defconfig
index e3e596621..18057eaa6 100644
--- a/nuttx/configs/hymini-stm32v/nsh2/defconfig
+++ b/nuttx/configs/hymini-stm32v/nsh2/defconfig
@@ -585,7 +585,6 @@ CONFIG_NXFONT_SANS28X37B=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_GRAN is not set
diff --git a/nuttx/configs/hymini-stm32v/usbmsc/defconfig b/nuttx/configs/hymini-stm32v/usbmsc/defconfig
index a8563d52d..144e5186d 100644
--- a/nuttx/configs/hymini-stm32v/usbmsc/defconfig
+++ b/nuttx/configs/hymini-stm32v/usbmsc/defconfig
@@ -581,7 +581,6 @@ CONFIG_FS_WRITABLE=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/hymini-stm32v/usbnsh/defconfig b/nuttx/configs/hymini-stm32v/usbnsh/defconfig
index 62f0ad0b1..989224f85 100644
--- a/nuttx/configs/hymini-stm32v/usbnsh/defconfig
+++ b/nuttx/configs/hymini-stm32v/usbnsh/defconfig
@@ -460,7 +460,6 @@ CONFIG_SYSLOG_DEVPATH="/dev/ttyS0"
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_GRAN is not set
diff --git a/nuttx/configs/hymini-stm32v/usbserial/defconfig b/nuttx/configs/hymini-stm32v/usbserial/defconfig
index 113aee55d..2426bbffd 100644
--- a/nuttx/configs/hymini-stm32v/usbserial/defconfig
+++ b/nuttx/configs/hymini-stm32v/usbserial/defconfig
@@ -563,7 +563,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/kwikstik-k40/ostest/defconfig b/nuttx/configs/kwikstik-k40/ostest/defconfig
index fc70a16d5..5627765f3 100644
--- a/nuttx/configs/kwikstik-k40/ostest/defconfig
+++ b/nuttx/configs/kwikstik-k40/ostest/defconfig
@@ -368,7 +368,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_GRAN is not set
diff --git a/nuttx/configs/lincoln60/nsh/defconfig b/nuttx/configs/lincoln60/nsh/defconfig
index 40ca3c9f1..280e8c4b2 100644
--- a/nuttx/configs/lincoln60/nsh/defconfig
+++ b/nuttx/configs/lincoln60/nsh/defconfig
@@ -430,7 +430,6 @@ CONFIG_FS_FAT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/lm3s6432-s2e/nsh/defconfig b/nuttx/configs/lm3s6432-s2e/nsh/defconfig
index 5e91a19c2..87a549dc7 100644
--- a/nuttx/configs/lm3s6432-s2e/nsh/defconfig
+++ b/nuttx/configs/lm3s6432-s2e/nsh/defconfig
@@ -498,7 +498,6 @@ CONFIG_IOB_THROTTLE=0
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/lm3s6965-ek/discover/defconfig b/nuttx/configs/lm3s6965-ek/discover/defconfig
index 4e9141102..94cf49964 100644
--- a/nuttx/configs/lm3s6965-ek/discover/defconfig
+++ b/nuttx/configs/lm3s6965-ek/discover/defconfig
@@ -511,7 +511,6 @@ CONFIG_FS_FAT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/lm3s6965-ek/nsh/defconfig b/nuttx/configs/lm3s6965-ek/nsh/defconfig
index 4e9141102..94cf49964 100644
--- a/nuttx/configs/lm3s6965-ek/nsh/defconfig
+++ b/nuttx/configs/lm3s6965-ek/nsh/defconfig
@@ -511,7 +511,6 @@ CONFIG_FS_FAT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/lm3s6965-ek/nx/defconfig b/nuttx/configs/lm3s6965-ek/nx/defconfig
index 1ab033117..fa77c163d 100644
--- a/nuttx/configs/lm3s6965-ek/nx/defconfig
+++ b/nuttx/configs/lm3s6965-ek/nx/defconfig
@@ -512,7 +512,6 @@ CONFIG_NXFONT_SANS23X27=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/lm3s6965-ek/tcpecho/defconfig b/nuttx/configs/lm3s6965-ek/tcpecho/defconfig
index 00fec2c5d..03d6b1d01 100644
--- a/nuttx/configs/lm3s6965-ek/tcpecho/defconfig
+++ b/nuttx/configs/lm3s6965-ek/tcpecho/defconfig
@@ -515,7 +515,6 @@ CONFIG_FS_FAT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/lm3s8962-ek/nsh/defconfig b/nuttx/configs/lm3s8962-ek/nsh/defconfig
index a1e526239..488c428d2 100644
--- a/nuttx/configs/lm3s8962-ek/nsh/defconfig
+++ b/nuttx/configs/lm3s8962-ek/nsh/defconfig
@@ -519,7 +519,6 @@ CONFIG_FS_FAT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/lm3s8962-ek/nx/defconfig b/nuttx/configs/lm3s8962-ek/nx/defconfig
index 39969b0c2..56c7bb10f 100644
--- a/nuttx/configs/lm3s8962-ek/nx/defconfig
+++ b/nuttx/configs/lm3s8962-ek/nx/defconfig
@@ -520,7 +520,6 @@ CONFIG_NXFONT_SANS23X27=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/lm4f120-launchpad/nsh/defconfig b/nuttx/configs/lm4f120-launchpad/nsh/defconfig
index 96e56c6bb..4f31c7f70 100644
--- a/nuttx/configs/lm4f120-launchpad/nsh/defconfig
+++ b/nuttx/configs/lm4f120-launchpad/nsh/defconfig
@@ -425,7 +425,6 @@ CONFIG_UART0_2STOP=0
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/lpc4330-xplorer/nsh/defconfig b/nuttx/configs/lpc4330-xplorer/nsh/defconfig
index aa03487e4..a7c4a0a32 100644
--- a/nuttx/configs/lpc4330-xplorer/nsh/defconfig
+++ b/nuttx/configs/lpc4330-xplorer/nsh/defconfig
@@ -439,7 +439,6 @@ CONFIG_FAT_MAXFNAME=32
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/lpcxpresso-lpc1768/dhcpd/defconfig b/nuttx/configs/lpcxpresso-lpc1768/dhcpd/defconfig
index 27af17ebe..ed0eddee7 100644
--- a/nuttx/configs/lpcxpresso-lpc1768/dhcpd/defconfig
+++ b/nuttx/configs/lpcxpresso-lpc1768/dhcpd/defconfig
@@ -528,7 +528,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/lpcxpresso-lpc1768/nsh/defconfig b/nuttx/configs/lpcxpresso-lpc1768/nsh/defconfig
index 4175d88d9..1a4edc640 100644
--- a/nuttx/configs/lpcxpresso-lpc1768/nsh/defconfig
+++ b/nuttx/configs/lpcxpresso-lpc1768/nsh/defconfig
@@ -596,7 +596,6 @@ CONFIG_FS_FAT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/lpcxpresso-lpc1768/nx/defconfig b/nuttx/configs/lpcxpresso-lpc1768/nx/defconfig
index 00f08d37e..58c2a6406 100644
--- a/nuttx/configs/lpcxpresso-lpc1768/nx/defconfig
+++ b/nuttx/configs/lpcxpresso-lpc1768/nx/defconfig
@@ -573,7 +573,6 @@ CONFIG_NXFONT_SANS23X27=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/lpcxpresso-lpc1768/thttpd/defconfig b/nuttx/configs/lpcxpresso-lpc1768/thttpd/defconfig
index ec973c264..027cf873e 100644
--- a/nuttx/configs/lpcxpresso-lpc1768/thttpd/defconfig
+++ b/nuttx/configs/lpcxpresso-lpc1768/thttpd/defconfig
@@ -541,7 +541,6 @@ CONFIG_FS_ROMFS=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/lpcxpresso-lpc1768/usbmsc/defconfig b/nuttx/configs/lpcxpresso-lpc1768/usbmsc/defconfig
index 260850134..9e4a99d73 100644
--- a/nuttx/configs/lpcxpresso-lpc1768/usbmsc/defconfig
+++ b/nuttx/configs/lpcxpresso-lpc1768/usbmsc/defconfig
@@ -529,7 +529,6 @@ CONFIG_FS_WRITABLE=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/maple/nsh/defconfig b/nuttx/configs/maple/nsh/defconfig
index 247a9a0c8..b567df94f 100644
--- a/nuttx/configs/maple/nsh/defconfig
+++ b/nuttx/configs/maple/nsh/defconfig
@@ -521,7 +521,6 @@ CONFIG_USBDEV_TRACE_NRECORDS=32
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_GRAN is not set
diff --git a/nuttx/configs/maple/nx/defconfig b/nuttx/configs/maple/nx/defconfig
index 4108751c7..c9acf7a24 100644
--- a/nuttx/configs/maple/nx/defconfig
+++ b/nuttx/configs/maple/nx/defconfig
@@ -667,7 +667,6 @@ CONFIG_NXFONT_MONO5X8=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_GRAN is not set
diff --git a/nuttx/configs/maple/usbnsh/defconfig b/nuttx/configs/maple/usbnsh/defconfig
index ad61bc38c..9b592cffe 100644
--- a/nuttx/configs/maple/usbnsh/defconfig
+++ b/nuttx/configs/maple/usbnsh/defconfig
@@ -547,7 +547,6 @@ CONFIG_CDCACM_PRODUCTSTR="CDC/ACM Serial"
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_GRAN is not set
diff --git a/nuttx/configs/mbed/hidkbd/defconfig b/nuttx/configs/mbed/hidkbd/defconfig
index ea25a2839..44045f75c 100644
--- a/nuttx/configs/mbed/hidkbd/defconfig
+++ b/nuttx/configs/mbed/hidkbd/defconfig
@@ -451,7 +451,6 @@ CONFIG_HIDKBD_NPOLLWAITERS=2
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/mbed/nsh/defconfig b/nuttx/configs/mbed/nsh/defconfig
index c999f49d1..6e792f4e6 100644
--- a/nuttx/configs/mbed/nsh/defconfig
+++ b/nuttx/configs/mbed/nsh/defconfig
@@ -467,7 +467,6 @@ CONFIG_FS_FAT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/mcu123-lpc214x/composite/defconfig b/nuttx/configs/mcu123-lpc214x/composite/defconfig
index 76d3cf493..652e29de8 100644
--- a/nuttx/configs/mcu123-lpc214x/composite/defconfig
+++ b/nuttx/configs/mcu123-lpc214x/composite/defconfig
@@ -464,7 +464,6 @@ CONFIG_FS_WRITABLE=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/mcu123-lpc214x/usbmsc/defconfig b/nuttx/configs/mcu123-lpc214x/usbmsc/defconfig
index 2aff2c127..9df87f46a 100644
--- a/nuttx/configs/mcu123-lpc214x/usbmsc/defconfig
+++ b/nuttx/configs/mcu123-lpc214x/usbmsc/defconfig
@@ -440,7 +440,6 @@ CONFIG_FS_WRITABLE=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/mcu123-lpc214x/usbserial/defconfig b/nuttx/configs/mcu123-lpc214x/usbserial/defconfig
index df6737c4f..cd33829a9 100644
--- a/nuttx/configs/mcu123-lpc214x/usbserial/defconfig
+++ b/nuttx/configs/mcu123-lpc214x/usbserial/defconfig
@@ -428,7 +428,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/micropendous3/hello/defconfig b/nuttx/configs/micropendous3/hello/defconfig
index 077666e23..ae1ca03ef 100644
--- a/nuttx/configs/micropendous3/hello/defconfig
+++ b/nuttx/configs/micropendous3/hello/defconfig
@@ -319,7 +319,6 @@ CONFIG_DISABLE_PSEUDOFS_OPERATIONS=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/mikroe-stm32f4/fulldemo/defconfig b/nuttx/configs/mikroe-stm32f4/fulldemo/defconfig
index a4b14839a..0d41d1bb4 100644
--- a/nuttx/configs/mikroe-stm32f4/fulldemo/defconfig
+++ b/nuttx/configs/mikroe-stm32f4/fulldemo/defconfig
@@ -827,7 +827,6 @@ CONFIG_NX_MXCLIENTMSGS=16
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/mikroe-stm32f4/kostest/defconfig b/nuttx/configs/mikroe-stm32f4/kostest/defconfig
index 04072f314..a2e98088e 100644
--- a/nuttx/configs/mikroe-stm32f4/kostest/defconfig
+++ b/nuttx/configs/mikroe-stm32f4/kostest/defconfig
@@ -760,7 +760,6 @@ CONFIG_SYSLOG_DEVPATH="/dev/ttyS0"
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/mikroe-stm32f4/nsh/defconfig b/nuttx/configs/mikroe-stm32f4/nsh/defconfig
index fdb8258f5..b8bc74f37 100644
--- a/nuttx/configs/mikroe-stm32f4/nsh/defconfig
+++ b/nuttx/configs/mikroe-stm32f4/nsh/defconfig
@@ -619,7 +619,6 @@ CONFIG_SYSLOG_DEVPATH="/dev/ttyS0"
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/mikroe-stm32f4/nx/defconfig b/nuttx/configs/mikroe-stm32f4/nx/defconfig
index afa0d51bc..aac9ab6b2 100644
--- a/nuttx/configs/mikroe-stm32f4/nx/defconfig
+++ b/nuttx/configs/mikroe-stm32f4/nx/defconfig
@@ -590,7 +590,6 @@ CONFIG_NXFONT_SERIF22X28B=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/mikroe-stm32f4/nxlines/defconfig b/nuttx/configs/mikroe-stm32f4/nxlines/defconfig
index 19b82a40a..300414f68 100644
--- a/nuttx/configs/mikroe-stm32f4/nxlines/defconfig
+++ b/nuttx/configs/mikroe-stm32f4/nxlines/defconfig
@@ -590,7 +590,6 @@ CONFIG_NXFONT_SERIF22X28B=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/mikroe-stm32f4/nxtext/defconfig b/nuttx/configs/mikroe-stm32f4/nxtext/defconfig
index a5e475d9b..62f628298 100644
--- a/nuttx/configs/mikroe-stm32f4/nxtext/defconfig
+++ b/nuttx/configs/mikroe-stm32f4/nxtext/defconfig
@@ -590,7 +590,6 @@ CONFIG_NXFONT_SERIF22X28B=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/mikroe-stm32f4/usbnsh/defconfig b/nuttx/configs/mikroe-stm32f4/usbnsh/defconfig
index 97723c7fd..cae9a0556 100644
--- a/nuttx/configs/mikroe-stm32f4/usbnsh/defconfig
+++ b/nuttx/configs/mikroe-stm32f4/usbnsh/defconfig
@@ -666,7 +666,6 @@ CONFIG_SYSLOG_DEVPATH="/dev/ttyS0"
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/mirtoo/nsh/defconfig b/nuttx/configs/mirtoo/nsh/defconfig
index 1e381135c..72fcc4c97 100644
--- a/nuttx/configs/mirtoo/nsh/defconfig
+++ b/nuttx/configs/mirtoo/nsh/defconfig
@@ -483,7 +483,6 @@ CONFIG_DISABLE_PSEUDOFS_OPERATIONS=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/mirtoo/nxffs/defconfig b/nuttx/configs/mirtoo/nxffs/defconfig
index 55e096868..7890a545e 100644
--- a/nuttx/configs/mirtoo/nxffs/defconfig
+++ b/nuttx/configs/mirtoo/nxffs/defconfig
@@ -527,7 +527,6 @@ CONFIG_NXFFS_TAILTHRESHOLD=8192
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/mx1ads/ostest/defconfig b/nuttx/configs/mx1ads/ostest/defconfig
index 0c3de291f..8bfaf533f 100644
--- a/nuttx/configs/mx1ads/ostest/defconfig
+++ b/nuttx/configs/mx1ads/ostest/defconfig
@@ -421,7 +421,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
CONFIG_ARCH_HAVE_HEAP2=y
diff --git a/nuttx/configs/ne64badge/ostest/defconfig b/nuttx/configs/ne64badge/ostest/defconfig
index d9e4a2821..ab72db828 100644
--- a/nuttx/configs/ne64badge/ostest/defconfig
+++ b/nuttx/configs/ne64badge/ostest/defconfig
@@ -304,7 +304,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/ntosd-dm320/nettest/defconfig b/nuttx/configs/ntosd-dm320/nettest/defconfig
index 8376adb0a..606b6bb48 100644
--- a/nuttx/configs/ntosd-dm320/nettest/defconfig
+++ b/nuttx/configs/ntosd-dm320/nettest/defconfig
@@ -535,7 +535,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/ntosd-dm320/nsh/defconfig b/nuttx/configs/ntosd-dm320/nsh/defconfig
index 4d26e3532..1de9cdf04 100644
--- a/nuttx/configs/ntosd-dm320/nsh/defconfig
+++ b/nuttx/configs/ntosd-dm320/nsh/defconfig
@@ -564,7 +564,6 @@ CONFIG_FS_ROMFS=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/ntosd-dm320/poll/defconfig b/nuttx/configs/ntosd-dm320/poll/defconfig
index b2923d178..3bd803d4b 100644
--- a/nuttx/configs/ntosd-dm320/poll/defconfig
+++ b/nuttx/configs/ntosd-dm320/poll/defconfig
@@ -543,7 +543,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/ntosd-dm320/thttpd/defconfig b/nuttx/configs/ntosd-dm320/thttpd/defconfig
index 82e60d335..7677d216d 100644
--- a/nuttx/configs/ntosd-dm320/thttpd/defconfig
+++ b/nuttx/configs/ntosd-dm320/thttpd/defconfig
@@ -542,7 +542,6 @@ CONFIG_FS_ROMFS=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/ntosd-dm320/udp/defconfig b/nuttx/configs/ntosd-dm320/udp/defconfig
index aa82d7f79..97b87765b 100644
--- a/nuttx/configs/ntosd-dm320/udp/defconfig
+++ b/nuttx/configs/ntosd-dm320/udp/defconfig
@@ -527,7 +527,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/ntosd-dm320/webserver/defconfig b/nuttx/configs/ntosd-dm320/webserver/defconfig
index aaa1a6fb9..990fd4ee1 100644
--- a/nuttx/configs/ntosd-dm320/webserver/defconfig
+++ b/nuttx/configs/ntosd-dm320/webserver/defconfig
@@ -538,7 +538,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/nucleo-f401re/nsh/defconfig b/nuttx/configs/nucleo-f401re/nsh/defconfig
index 4d59c71ec..f7f41dd9f 100644
--- a/nuttx/configs/nucleo-f401re/nsh/defconfig
+++ b/nuttx/configs/nucleo-f401re/nsh/defconfig
@@ -609,7 +609,6 @@ CONFIG_USART2_2STOP=0
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/nucleus2g/nsh/defconfig b/nuttx/configs/nucleus2g/nsh/defconfig
index 8bd41876b..c5bc96488 100644
--- a/nuttx/configs/nucleus2g/nsh/defconfig
+++ b/nuttx/configs/nucleus2g/nsh/defconfig
@@ -435,7 +435,6 @@ CONFIG_UART0_2STOP=0
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/nucleus2g/usbmsc/defconfig b/nuttx/configs/nucleus2g/usbmsc/defconfig
index a8f4ec856..02e4488cb 100644
--- a/nuttx/configs/nucleus2g/usbmsc/defconfig
+++ b/nuttx/configs/nucleus2g/usbmsc/defconfig
@@ -466,7 +466,6 @@ CONFIG_FS_WRITABLE=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/nucleus2g/usbserial/defconfig b/nuttx/configs/nucleus2g/usbserial/defconfig
index 666a74aec..25c3d69ed 100644
--- a/nuttx/configs/nucleus2g/usbserial/defconfig
+++ b/nuttx/configs/nucleus2g/usbserial/defconfig
@@ -414,7 +414,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_GRAN is not set
diff --git a/nuttx/configs/olimex-lpc-h3131/nsh/defconfig b/nuttx/configs/olimex-lpc-h3131/nsh/defconfig
index 7ba5b012b..94e6770ea 100644
--- a/nuttx/configs/olimex-lpc-h3131/nsh/defconfig
+++ b/nuttx/configs/olimex-lpc-h3131/nsh/defconfig
@@ -465,7 +465,6 @@ CONFIG_FAT_MAXFNAME=32
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/olimex-lpc1766stk/ftpc/defconfig b/nuttx/configs/olimex-lpc1766stk/ftpc/defconfig
index cd5dab59d..c54c4462f 100644
--- a/nuttx/configs/olimex-lpc1766stk/ftpc/defconfig
+++ b/nuttx/configs/olimex-lpc1766stk/ftpc/defconfig
@@ -582,7 +582,6 @@ CONFIG_FAT_MAXFNAME=32
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/olimex-lpc1766stk/hidkbd/defconfig b/nuttx/configs/olimex-lpc1766stk/hidkbd/defconfig
index 3b41958aa..3f91c32e0 100644
--- a/nuttx/configs/olimex-lpc1766stk/hidkbd/defconfig
+++ b/nuttx/configs/olimex-lpc1766stk/hidkbd/defconfig
@@ -521,7 +521,6 @@ CONFIG_HIDKBD_ENCODED=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/olimex-lpc1766stk/hidmouse/defconfig b/nuttx/configs/olimex-lpc1766stk/hidmouse/defconfig
index 065770594..4fe9972c3 100644
--- a/nuttx/configs/olimex-lpc1766stk/hidmouse/defconfig
+++ b/nuttx/configs/olimex-lpc1766stk/hidmouse/defconfig
@@ -574,7 +574,6 @@ CONFIG_FAT_MAXFNAME=32
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/olimex-lpc1766stk/nettest/defconfig b/nuttx/configs/olimex-lpc1766stk/nettest/defconfig
index 730678442..ae10e4626 100644
--- a/nuttx/configs/olimex-lpc1766stk/nettest/defconfig
+++ b/nuttx/configs/olimex-lpc1766stk/nettest/defconfig
@@ -537,7 +537,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/olimex-lpc1766stk/nsh/defconfig b/nuttx/configs/olimex-lpc1766stk/nsh/defconfig
index 4a37b5c80..509307b53 100644
--- a/nuttx/configs/olimex-lpc1766stk/nsh/defconfig
+++ b/nuttx/configs/olimex-lpc1766stk/nsh/defconfig
@@ -583,7 +583,6 @@ CONFIG_FAT_MAXFNAME=32
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/olimex-lpc1766stk/nx/defconfig b/nuttx/configs/olimex-lpc1766stk/nx/defconfig
index fe81566af..d5a6cd6fc 100644
--- a/nuttx/configs/olimex-lpc1766stk/nx/defconfig
+++ b/nuttx/configs/olimex-lpc1766stk/nx/defconfig
@@ -584,7 +584,6 @@ CONFIG_NXFONT_SANS23X27=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/olimex-lpc1766stk/slip-httpd/defconfig b/nuttx/configs/olimex-lpc1766stk/slip-httpd/defconfig
index 34554bb7c..2f23158b6 100644
--- a/nuttx/configs/olimex-lpc1766stk/slip-httpd/defconfig
+++ b/nuttx/configs/olimex-lpc1766stk/slip-httpd/defconfig
@@ -525,7 +525,6 @@ CONFIG_FS_ROMFS=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/olimex-lpc1766stk/thttpd/defconfig b/nuttx/configs/olimex-lpc1766stk/thttpd/defconfig
index 154cbc0a1..c90d1f82c 100644
--- a/nuttx/configs/olimex-lpc1766stk/thttpd/defconfig
+++ b/nuttx/configs/olimex-lpc1766stk/thttpd/defconfig
@@ -542,7 +542,6 @@ CONFIG_FS_ROMFS=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/olimex-lpc1766stk/usbmsc/defconfig b/nuttx/configs/olimex-lpc1766stk/usbmsc/defconfig
index 91959fc0e..ac5ff57f1 100644
--- a/nuttx/configs/olimex-lpc1766stk/usbmsc/defconfig
+++ b/nuttx/configs/olimex-lpc1766stk/usbmsc/defconfig
@@ -530,7 +530,6 @@ CONFIG_FS_WRITABLE=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/olimex-lpc1766stk/usbserial/defconfig b/nuttx/configs/olimex-lpc1766stk/usbserial/defconfig
index 7d1651cb5..ed2f40035 100644
--- a/nuttx/configs/olimex-lpc1766stk/usbserial/defconfig
+++ b/nuttx/configs/olimex-lpc1766stk/usbserial/defconfig
@@ -517,7 +517,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/olimex-lpc1766stk/zmodem/defconfig b/nuttx/configs/olimex-lpc1766stk/zmodem/defconfig
index 0b85fcda9..89775daa3 100644
--- a/nuttx/configs/olimex-lpc1766stk/zmodem/defconfig
+++ b/nuttx/configs/olimex-lpc1766stk/zmodem/defconfig
@@ -597,7 +597,6 @@ CONFIG_FAT_MAXFNAME=32
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/olimex-lpc2378/nsh/defconfig b/nuttx/configs/olimex-lpc2378/nsh/defconfig
index 2ff8f9b72..a76584fd3 100644
--- a/nuttx/configs/olimex-lpc2378/nsh/defconfig
+++ b/nuttx/configs/olimex-lpc2378/nsh/defconfig
@@ -400,7 +400,6 @@ CONFIG_UART2_2STOP=0
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/olimex-stm32-h405/nshusb/defconfig b/nuttx/configs/olimex-stm32-h405/nshusb/defconfig
index 8d94a78d9..94c5f6cad 100644
--- a/nuttx/configs/olimex-stm32-h405/nshusb/defconfig
+++ b/nuttx/configs/olimex-stm32-h405/nshusb/defconfig
@@ -651,7 +651,6 @@ CONFIG_CDCACM_PRODUCTSTR="CDC/ACM Serial"
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/olimex-stm32-p107/nsh/defconfig b/nuttx/configs/olimex-stm32-p107/nsh/defconfig
index 79c448f82..09f7e0f4a 100644
--- a/nuttx/configs/olimex-stm32-p107/nsh/defconfig
+++ b/nuttx/configs/olimex-stm32-p107/nsh/defconfig
@@ -567,7 +567,6 @@ CONFIG_IOB_THROTTLE=0
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_GRAN is not set
diff --git a/nuttx/configs/olimex-stm32-p207/nsh/defconfig b/nuttx/configs/olimex-stm32-p207/nsh/defconfig
index 498db41e4..4acf41071 100644
--- a/nuttx/configs/olimex-stm32-p207/nsh/defconfig
+++ b/nuttx/configs/olimex-stm32-p207/nsh/defconfig
@@ -605,7 +605,6 @@ CONFIG_IOB_THROTTLE=0
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_GRAN is not set
diff --git a/nuttx/configs/olimex-strp711/nettest/defconfig b/nuttx/configs/olimex-strp711/nettest/defconfig
index fadf32af9..73fdd1e1a 100644
--- a/nuttx/configs/olimex-strp711/nettest/defconfig
+++ b/nuttx/configs/olimex-strp711/nettest/defconfig
@@ -463,7 +463,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/olimex-strp711/nsh/defconfig b/nuttx/configs/olimex-strp711/nsh/defconfig
index 768f64f28..4dc3d2a9c 100644
--- a/nuttx/configs/olimex-strp711/nsh/defconfig
+++ b/nuttx/configs/olimex-strp711/nsh/defconfig
@@ -420,7 +420,6 @@ CONFIG_FS_FAT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/open1788/knsh/defconfig b/nuttx/configs/open1788/knsh/defconfig
index ab3c82e73..5380be081 100644
--- a/nuttx/configs/open1788/knsh/defconfig
+++ b/nuttx/configs/open1788/knsh/defconfig
@@ -535,7 +535,6 @@ CONFIG_FS_ROMFS=y
#
# Memory Management
#
-CONFIG_MM_MULTIHEAP=y
CONFIG_MM_KERNEL_HEAP=y
CONFIG_MM_KERNEL_HEAPSIZE=8192
# CONFIG_MM_SMALL is not set
diff --git a/nuttx/configs/open1788/nsh/defconfig b/nuttx/configs/open1788/nsh/defconfig
index 0a0b857ff..f0b2ca3d7 100644
--- a/nuttx/configs/open1788/nsh/defconfig
+++ b/nuttx/configs/open1788/nsh/defconfig
@@ -403,7 +403,6 @@ CONFIG_FS_ROMFS=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_GRAN is not set
diff --git a/nuttx/configs/open1788/nxlines/defconfig b/nuttx/configs/open1788/nxlines/defconfig
index ab0cd87ae..37bfb5571 100644
--- a/nuttx/configs/open1788/nxlines/defconfig
+++ b/nuttx/configs/open1788/nxlines/defconfig
@@ -494,7 +494,6 @@ CONFIG_NXFONT_SANS28X37B=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_GRAN is not set
diff --git a/nuttx/configs/pcblogic-pic32mx/nsh/defconfig b/nuttx/configs/pcblogic-pic32mx/nsh/defconfig
index 3242ecb6a..30ef6a9ef 100644
--- a/nuttx/configs/pcblogic-pic32mx/nsh/defconfig
+++ b/nuttx/configs/pcblogic-pic32mx/nsh/defconfig
@@ -442,7 +442,6 @@ CONFIG_UART1_2STOP=0
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_GRAN is not set
diff --git a/nuttx/configs/pcduino-a10/nsh/defconfig b/nuttx/configs/pcduino-a10/nsh/defconfig
index ec990d6d8..8da8b0f39 100644
--- a/nuttx/configs/pcduino-a10/nsh/defconfig
+++ b/nuttx/configs/pcduino-a10/nsh/defconfig
@@ -524,7 +524,6 @@ CONFIG_FAT_MAXFNAME=32
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/pic32-starterkit/nsh/defconfig b/nuttx/configs/pic32-starterkit/nsh/defconfig
index b28db7cee..94a9b8f87 100644
--- a/nuttx/configs/pic32-starterkit/nsh/defconfig
+++ b/nuttx/configs/pic32-starterkit/nsh/defconfig
@@ -545,7 +545,6 @@ CONFIG_FAT_MAXFNAME=32
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/pic32-starterkit/nsh2/defconfig b/nuttx/configs/pic32-starterkit/nsh2/defconfig
index 773d246f9..110487e4b 100644
--- a/nuttx/configs/pic32-starterkit/nsh2/defconfig
+++ b/nuttx/configs/pic32-starterkit/nsh2/defconfig
@@ -622,7 +622,6 @@ CONFIG_SYSLOG_DEVPATH="/dev/syslog"
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/pic32mx7mmb/nsh/defconfig b/nuttx/configs/pic32mx7mmb/nsh/defconfig
index c274b4bd1..ce7cb623a 100644
--- a/nuttx/configs/pic32mx7mmb/nsh/defconfig
+++ b/nuttx/configs/pic32mx7mmb/nsh/defconfig
@@ -673,7 +673,6 @@ CONFIG_FAT_MAXFNAME=32
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/pirelli_dpl10/nsh_highram/defconfig b/nuttx/configs/pirelli_dpl10/nsh_highram/defconfig
index 8248223de..4c68e47e7 100644
--- a/nuttx/configs/pirelli_dpl10/nsh_highram/defconfig
+++ b/nuttx/configs/pirelli_dpl10/nsh_highram/defconfig
@@ -316,7 +316,6 @@ CONFIG_SERIAL=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
CONFIG_ARCH_HAVE_HEAP2=y
diff --git a/nuttx/configs/pjrc-8051/defconfig b/nuttx/configs/pjrc-8051/defconfig
index e181aaa49..68a3a68ea 100644
--- a/nuttx/configs/pjrc-8051/defconfig
+++ b/nuttx/configs/pjrc-8051/defconfig
@@ -304,7 +304,6 @@ CONFIG_DISABLE_PSEUDOFS_OPERATIONS=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/px4fmu-v2_upstream/nsh/defconfig b/nuttx/configs/px4fmu-v2_upstream/nsh/defconfig
index fdec5225a..e1ab65306 100644
--- a/nuttx/configs/px4fmu-v2_upstream/nsh/defconfig
+++ b/nuttx/configs/px4fmu-v2_upstream/nsh/defconfig
@@ -785,7 +785,6 @@ CONFIG_FS_BINFS=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/qemu-i486/nsh/defconfig b/nuttx/configs/qemu-i486/nsh/defconfig
index 37b34307f..df6a7f9e8 100644
--- a/nuttx/configs/qemu-i486/nsh/defconfig
+++ b/nuttx/configs/qemu-i486/nsh/defconfig
@@ -351,7 +351,6 @@ CONFIG_FS_ROMFS=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/qemu-i486/ostest/defconfig b/nuttx/configs/qemu-i486/ostest/defconfig
index 8141d521c..df124fc96 100644
--- a/nuttx/configs/qemu-i486/ostest/defconfig
+++ b/nuttx/configs/qemu-i486/ostest/defconfig
@@ -328,7 +328,6 @@ CONFIG_FS_FAT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/rgmp/arm/default/defconfig b/nuttx/configs/rgmp/arm/default/defconfig
index 219f8dae0..4c89d0428 100644
--- a/nuttx/configs/rgmp/arm/default/defconfig
+++ b/nuttx/configs/rgmp/arm/default/defconfig
@@ -373,7 +373,6 @@ CONFIG_IOB_THROTTLE=0
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/rgmp/arm/nsh/defconfig b/nuttx/configs/rgmp/arm/nsh/defconfig
index 0bfd9a054..f80eadd9b 100644
--- a/nuttx/configs/rgmp/arm/nsh/defconfig
+++ b/nuttx/configs/rgmp/arm/nsh/defconfig
@@ -395,7 +395,6 @@ CONFIG_IOB_THROTTLE=0
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/rgmp/x86/cxxtest/defconfig b/nuttx/configs/rgmp/x86/cxxtest/defconfig
index 03709df6f..a19ac1cb9 100644
--- a/nuttx/configs/rgmp/x86/cxxtest/defconfig
+++ b/nuttx/configs/rgmp/x86/cxxtest/defconfig
@@ -402,7 +402,6 @@ CONFIG_IOB_THROTTLE=0
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/rgmp/x86/default/defconfig b/nuttx/configs/rgmp/x86/default/defconfig
index 7225a8de3..a415e2ef5 100644
--- a/nuttx/configs/rgmp/x86/default/defconfig
+++ b/nuttx/configs/rgmp/x86/default/defconfig
@@ -381,7 +381,6 @@ CONFIG_IOB_THROTTLE=0
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/rgmp/x86/helloxx/defconfig b/nuttx/configs/rgmp/x86/helloxx/defconfig
index e5b8de344..9fea420ab 100644
--- a/nuttx/configs/rgmp/x86/helloxx/defconfig
+++ b/nuttx/configs/rgmp/x86/helloxx/defconfig
@@ -402,7 +402,6 @@ CONFIG_IOB_THROTTLE=0
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/rgmp/x86/nsh/defconfig b/nuttx/configs/rgmp/x86/nsh/defconfig
index 52a97401d..f0957aec9 100644
--- a/nuttx/configs/rgmp/x86/nsh/defconfig
+++ b/nuttx/configs/rgmp/x86/nsh/defconfig
@@ -403,7 +403,6 @@ CONFIG_IOB_THROTTLE=0
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sam3u-ek/knsh/defconfig b/nuttx/configs/sam3u-ek/knsh/defconfig
index 03d507358..f4886d005 100644
--- a/nuttx/configs/sam3u-ek/knsh/defconfig
+++ b/nuttx/configs/sam3u-ek/knsh/defconfig
@@ -541,7 +541,6 @@ CONFIG_FS_FAT=y
#
# Memory Management
#
-CONFIG_MM_MULTIHEAP=y
CONFIG_MM_KERNEL_HEAP=y
CONFIG_MM_KERNEL_HEAPSIZE=8192
# CONFIG_MM_SMALL is not set
diff --git a/nuttx/configs/sam3u-ek/nsh/defconfig b/nuttx/configs/sam3u-ek/nsh/defconfig
index 3495699d9..15aa77b77 100644
--- a/nuttx/configs/sam3u-ek/nsh/defconfig
+++ b/nuttx/configs/sam3u-ek/nsh/defconfig
@@ -475,7 +475,6 @@ CONFIG_FS_FAT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sam3u-ek/nx/defconfig b/nuttx/configs/sam3u-ek/nx/defconfig
index b74b26ac8..0fd791bd5 100644
--- a/nuttx/configs/sam3u-ek/nx/defconfig
+++ b/nuttx/configs/sam3u-ek/nx/defconfig
@@ -553,7 +553,6 @@ CONFIG_NXFONT_SANS23X27=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sam3u-ek/nxwm/defconfig b/nuttx/configs/sam3u-ek/nxwm/defconfig
index 166996f8d..6f25a8a44 100644
--- a/nuttx/configs/sam3u-ek/nxwm/defconfig
+++ b/nuttx/configs/sam3u-ek/nxwm/defconfig
@@ -603,7 +603,6 @@ CONFIG_NX_MXCLIENTMSGS=16
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sam4e-ek/nsh/defconfig b/nuttx/configs/sam4e-ek/nsh/defconfig
index 0a62217fe..c81ef97ee 100644
--- a/nuttx/configs/sam4e-ek/nsh/defconfig
+++ b/nuttx/configs/sam4e-ek/nsh/defconfig
@@ -725,7 +725,6 @@ CONFIG_FAT_MAXFNAME=32
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sam4e-ek/nxwm/defconfig b/nuttx/configs/sam4e-ek/nxwm/defconfig
index ccc96fbed..d9c00b3e1 100644
--- a/nuttx/configs/sam4e-ek/nxwm/defconfig
+++ b/nuttx/configs/sam4e-ek/nxwm/defconfig
@@ -864,7 +864,6 @@ CONFIG_NX_MXCLIENTMSGS=16
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sam4e-ek/usbnsh/defconfig b/nuttx/configs/sam4e-ek/usbnsh/defconfig
index 912433215..69ce638d4 100644
--- a/nuttx/configs/sam4e-ek/usbnsh/defconfig
+++ b/nuttx/configs/sam4e-ek/usbnsh/defconfig
@@ -769,7 +769,6 @@ CONFIG_SYSLOG_DEVPATH="/dev/ttyS0"
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sam4l-xplained/nsh/defconfig b/nuttx/configs/sam4l-xplained/nsh/defconfig
index c98430c74..0c7492f27 100644
--- a/nuttx/configs/sam4l-xplained/nsh/defconfig
+++ b/nuttx/configs/sam4l-xplained/nsh/defconfig
@@ -495,7 +495,6 @@ CONFIG_USART0_2STOP=0
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=3
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sam4s-xplained-pro/nsh/defconfig b/nuttx/configs/sam4s-xplained-pro/nsh/defconfig
index e5d682612..e886761a8 100644
--- a/nuttx/configs/sam4s-xplained-pro/nsh/defconfig
+++ b/nuttx/configs/sam4s-xplained-pro/nsh/defconfig
@@ -660,7 +660,6 @@ CONFIG_FS_PROCFS=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sam4s-xplained/nsh/defconfig b/nuttx/configs/sam4s-xplained/nsh/defconfig
index 5279f3b77..0b2af45b7 100644
--- a/nuttx/configs/sam4s-xplained/nsh/defconfig
+++ b/nuttx/configs/sam4s-xplained/nsh/defconfig
@@ -469,7 +469,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sama5d3-xplained/nsh/defconfig b/nuttx/configs/sama5d3-xplained/nsh/defconfig
index edea1a296..f4d19e479 100644
--- a/nuttx/configs/sama5d3-xplained/nsh/defconfig
+++ b/nuttx/configs/sama5d3-xplained/nsh/defconfig
@@ -544,7 +544,6 @@ CONFIG_FAT_MAXFNAME=32
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sama5d3x-ek/demo/defconfig b/nuttx/configs/sama5d3x-ek/demo/defconfig
index d140b53af..9cd853efe 100644
--- a/nuttx/configs/sama5d3x-ek/demo/defconfig
+++ b/nuttx/configs/sama5d3x-ek/demo/defconfig
@@ -706,7 +706,6 @@ CONFIG_FAT_MAXFNAME=32
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sama5d3x-ek/hello/defconfig b/nuttx/configs/sama5d3x-ek/hello/defconfig
index 117bbc2b9..b125475d7 100644
--- a/nuttx/configs/sama5d3x-ek/hello/defconfig
+++ b/nuttx/configs/sama5d3x-ek/hello/defconfig
@@ -527,7 +527,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sama5d3x-ek/norboot/defconfig b/nuttx/configs/sama5d3x-ek/norboot/defconfig
index 9c2a486a1..626c3385b 100644
--- a/nuttx/configs/sama5d3x-ek/norboot/defconfig
+++ b/nuttx/configs/sama5d3x-ek/norboot/defconfig
@@ -541,7 +541,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sama5d3x-ek/nsh/defconfig b/nuttx/configs/sama5d3x-ek/nsh/defconfig
index fb588baf7..2f5241b3c 100644
--- a/nuttx/configs/sama5d3x-ek/nsh/defconfig
+++ b/nuttx/configs/sama5d3x-ek/nsh/defconfig
@@ -557,7 +557,6 @@ CONFIG_FAT_MAXFNAME=32
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sama5d3x-ek/nx/defconfig b/nuttx/configs/sama5d3x-ek/nx/defconfig
index cd5e7a153..628cb5a0e 100644
--- a/nuttx/configs/sama5d3x-ek/nx/defconfig
+++ b/nuttx/configs/sama5d3x-ek/nx/defconfig
@@ -653,7 +653,6 @@ CONFIG_NXFONT_SERIF22X28B=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sama5d3x-ek/nxplayer/defconfig b/nuttx/configs/sama5d3x-ek/nxplayer/defconfig
index d834ba4e2..b73d18ace 100644
--- a/nuttx/configs/sama5d3x-ek/nxplayer/defconfig
+++ b/nuttx/configs/sama5d3x-ek/nxplayer/defconfig
@@ -645,7 +645,6 @@ CONFIG_FAT_MAXFNAME=32
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sama5d3x-ek/nxwm/defconfig b/nuttx/configs/sama5d3x-ek/nxwm/defconfig
index eca71a5e9..c55d0fab3 100644
--- a/nuttx/configs/sama5d3x-ek/nxwm/defconfig
+++ b/nuttx/configs/sama5d3x-ek/nxwm/defconfig
@@ -718,7 +718,6 @@ CONFIG_NX_MXCLIENTMSGS=16
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sama5d3x-ek/ov2640/defconfig b/nuttx/configs/sama5d3x-ek/ov2640/defconfig
index d625d4f2d..d2f8f6641 100644
--- a/nuttx/configs/sama5d3x-ek/ov2640/defconfig
+++ b/nuttx/configs/sama5d3x-ek/ov2640/defconfig
@@ -612,7 +612,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sama5d4-ek/at25boot/defconfig b/nuttx/configs/sama5d4-ek/at25boot/defconfig
index e1c282381..6ca7dc81f 100644
--- a/nuttx/configs/sama5d4-ek/at25boot/defconfig
+++ b/nuttx/configs/sama5d4-ek/at25boot/defconfig
@@ -610,7 +610,6 @@ CONFIG_FAT_MAXFNAME=32
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sama5d4-ek/dramboot/defconfig b/nuttx/configs/sama5d4-ek/dramboot/defconfig
index b8f29f6b6..9e453e9cc 100644
--- a/nuttx/configs/sama5d4-ek/dramboot/defconfig
+++ b/nuttx/configs/sama5d4-ek/dramboot/defconfig
@@ -573,7 +573,6 @@ CONFIG_FAT_MAXFNAME=32
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sama5d4-ek/elf/defconfig b/nuttx/configs/sama5d4-ek/elf/defconfig
index b877cb3cd..7c454c731 100644
--- a/nuttx/configs/sama5d4-ek/elf/defconfig
+++ b/nuttx/configs/sama5d4-ek/elf/defconfig
@@ -599,7 +599,6 @@ CONFIG_FS_ROMFS=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sama5d4-ek/nsh/defconfig b/nuttx/configs/sama5d4-ek/nsh/defconfig
index 6d3e7caf9..c10957f26 100644
--- a/nuttx/configs/sama5d4-ek/nsh/defconfig
+++ b/nuttx/configs/sama5d4-ek/nsh/defconfig
@@ -929,7 +929,6 @@ CONFIG_NXFONT_SERIF22X28B=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sama5d4-ek/nxwm/defconfig b/nuttx/configs/sama5d4-ek/nxwm/defconfig
index ab2bf9231..ee3bd00fe 100644
--- a/nuttx/configs/sama5d4-ek/nxwm/defconfig
+++ b/nuttx/configs/sama5d4-ek/nxwm/defconfig
@@ -952,7 +952,6 @@ CONFIG_NX_MXCLIENTMSGS=16
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sama5d4-ek/ramtest/defconfig b/nuttx/configs/sama5d4-ek/ramtest/defconfig
index d92be97d3..037ddf9ab 100644
--- a/nuttx/configs/sama5d4-ek/ramtest/defconfig
+++ b/nuttx/configs/sama5d4-ek/ramtest/defconfig
@@ -573,7 +573,6 @@ CONFIG_FAT_MAXFNAME=32
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/samd20-xplained/nsh/defconfig b/nuttx/configs/samd20-xplained/nsh/defconfig
index 4381e918a..3edc90f4a 100644
--- a/nuttx/configs/samd20-xplained/nsh/defconfig
+++ b/nuttx/configs/samd20-xplained/nsh/defconfig
@@ -462,7 +462,6 @@ CONFIG_DISABLE_PSEUDOFS_OPERATIONS=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/shenzhou/nxwm/defconfig b/nuttx/configs/shenzhou/nxwm/defconfig
index a3e5001af..c310fa2b3 100644
--- a/nuttx/configs/shenzhou/nxwm/defconfig
+++ b/nuttx/configs/shenzhou/nxwm/defconfig
@@ -766,7 +766,6 @@ CONFIG_NX_MXCLIENTMSGS=16
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_GRAN is not set
diff --git a/nuttx/configs/sim/configdata/defconfig b/nuttx/configs/sim/configdata/defconfig
index 81a77a033..30b0aecd6 100644
--- a/nuttx/configs/sim/configdata/defconfig
+++ b/nuttx/configs/sim/configdata/defconfig
@@ -358,7 +358,6 @@ CONFIG_NXFFS_TAILTHRESHOLD=8192
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sim/cxxtest/defconfig b/nuttx/configs/sim/cxxtest/defconfig
index 99abe08a9..964ce53c6 100644
--- a/nuttx/configs/sim/cxxtest/defconfig
+++ b/nuttx/configs/sim/cxxtest/defconfig
@@ -328,7 +328,6 @@ CONFIG_SERIAL=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sim/mount/defconfig b/nuttx/configs/sim/mount/defconfig
index bb57f331a..4a48a44fd 100644
--- a/nuttx/configs/sim/mount/defconfig
+++ b/nuttx/configs/sim/mount/defconfig
@@ -331,7 +331,6 @@ CONFIG_FS_FAT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sim/mtdpart/defconfig b/nuttx/configs/sim/mtdpart/defconfig
index 0ac4525af..4aa728721 100644
--- a/nuttx/configs/sim/mtdpart/defconfig
+++ b/nuttx/configs/sim/mtdpart/defconfig
@@ -351,7 +351,6 @@ CONFIG_FS_FAT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sim/nettest/defconfig b/nuttx/configs/sim/nettest/defconfig
index 39c103f5f..d3767b340 100755
--- a/nuttx/configs/sim/nettest/defconfig
+++ b/nuttx/configs/sim/nettest/defconfig
@@ -435,7 +435,6 @@ CONFIG_FS_FAT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sim/nsh/defconfig b/nuttx/configs/sim/nsh/defconfig
index be3e6a6e4..cfc677b05 100644
--- a/nuttx/configs/sim/nsh/defconfig
+++ b/nuttx/configs/sim/nsh/defconfig
@@ -369,7 +369,6 @@ CONFIG_FS_BINFS=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sim/nsh2/defconfig b/nuttx/configs/sim/nsh2/defconfig
index f8df100e5..94748a969 100644
--- a/nuttx/configs/sim/nsh2/defconfig
+++ b/nuttx/configs/sim/nsh2/defconfig
@@ -362,7 +362,6 @@ CONFIG_NXFONT_SANS28X37B=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sim/nx/defconfig b/nuttx/configs/sim/nx/defconfig
index 9cdc06d75..201953db4 100644
--- a/nuttx/configs/sim/nx/defconfig
+++ b/nuttx/configs/sim/nx/defconfig
@@ -387,7 +387,6 @@ CONFIG_NXFONT_SANS23X27=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sim/nx11/defconfig b/nuttx/configs/sim/nx11/defconfig
index ad662c63c..b0b3616e7 100644
--- a/nuttx/configs/sim/nx11/defconfig
+++ b/nuttx/configs/sim/nx11/defconfig
@@ -388,7 +388,6 @@ CONFIG_NXFONT_SANS23X27=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sim/nxffs/defconfig b/nuttx/configs/sim/nxffs/defconfig
index c57231087..b0cfffc81 100644
--- a/nuttx/configs/sim/nxffs/defconfig
+++ b/nuttx/configs/sim/nxffs/defconfig
@@ -339,7 +339,6 @@ CONFIG_NXFFS_TAILTHRESHOLD=8192
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sim/nxlines/defconfig b/nuttx/configs/sim/nxlines/defconfig
index d0c9a86c2..ab5b70c65 100644
--- a/nuttx/configs/sim/nxlines/defconfig
+++ b/nuttx/configs/sim/nxlines/defconfig
@@ -387,7 +387,6 @@ CONFIG_NXFONT_SANS28X37B=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sim/nxwm/defconfig b/nuttx/configs/sim/nxwm/defconfig
index 32cdde323..3f5ed0331 100644
--- a/nuttx/configs/sim/nxwm/defconfig
+++ b/nuttx/configs/sim/nxwm/defconfig
@@ -399,7 +399,6 @@ CONFIG_NX_MXCLIENTMSGS=16
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sim/ostest/defconfig b/nuttx/configs/sim/ostest/defconfig
index 3faedb8c3..02cfd19b2 100644
--- a/nuttx/configs/sim/ostest/defconfig
+++ b/nuttx/configs/sim/ostest/defconfig
@@ -380,7 +380,6 @@ CONFIG_SERIAL=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sim/pashello/defconfig b/nuttx/configs/sim/pashello/defconfig
index 8e21bfcc9..4892bd66e 100644
--- a/nuttx/configs/sim/pashello/defconfig
+++ b/nuttx/configs/sim/pashello/defconfig
@@ -340,7 +340,6 @@ CONFIG_FS_FAT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/sim/touchscreen/defconfig b/nuttx/configs/sim/touchscreen/defconfig
index 872eeeeab..a2d091952 100644
--- a/nuttx/configs/sim/touchscreen/defconfig
+++ b/nuttx/configs/sim/touchscreen/defconfig
@@ -396,7 +396,6 @@ CONFIG_NXFONT_SANS23X27=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/skp16c26/ostest/defconfig b/nuttx/configs/skp16c26/ostest/defconfig
index addcf3e60..2a707dbc8 100644
--- a/nuttx/configs/skp16c26/ostest/defconfig
+++ b/nuttx/configs/skp16c26/ostest/defconfig
@@ -315,7 +315,6 @@ CONFIG_NX_LCDDRIVER=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/spark/composite/defconfig b/nuttx/configs/spark/composite/defconfig
index 7d5956495..67e8b0030 100644
--- a/nuttx/configs/spark/composite/defconfig
+++ b/nuttx/configs/spark/composite/defconfig
@@ -672,7 +672,6 @@ CONFIG_FS_FATTIME=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
CONFIG_MM_SMALL=y
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/spark/nsh/defconfig b/nuttx/configs/spark/nsh/defconfig
index 50f179363..9f9843cf3 100644
--- a/nuttx/configs/spark/nsh/defconfig
+++ b/nuttx/configs/spark/nsh/defconfig
@@ -672,7 +672,6 @@ CONFIG_FS_FATTIME=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
CONFIG_MM_SMALL=y
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/spark/usbmsc/defconfig b/nuttx/configs/spark/usbmsc/defconfig
index 9ca2ec8b7..4ef79674b 100644
--- a/nuttx/configs/spark/usbmsc/defconfig
+++ b/nuttx/configs/spark/usbmsc/defconfig
@@ -636,7 +636,6 @@ CONFIG_FS_FATTIME=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
CONFIG_MM_SMALL=y
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/spark/usbnsh/defconfig b/nuttx/configs/spark/usbnsh/defconfig
index afc208977..3d036cbae 100644
--- a/nuttx/configs/spark/usbnsh/defconfig
+++ b/nuttx/configs/spark/usbnsh/defconfig
@@ -625,7 +625,6 @@ CONFIG_FS_FAT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/spark/usbserial/defconfig b/nuttx/configs/spark/usbserial/defconfig
index 4ed28a60a..902e88fd6 100644
--- a/nuttx/configs/spark/usbserial/defconfig
+++ b/nuttx/configs/spark/usbserial/defconfig
@@ -646,7 +646,6 @@ CONFIG_FS_FATTIME=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
CONFIG_MM_SMALL=y
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/stm3210e-eval/buttons/defconfig b/nuttx/configs/stm3210e-eval/buttons/defconfig
index e7d204b14..eada60903 100644
--- a/nuttx/configs/stm3210e-eval/buttons/defconfig
+++ b/nuttx/configs/stm3210e-eval/buttons/defconfig
@@ -561,7 +561,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/stm3210e-eval/composite/defconfig b/nuttx/configs/stm3210e-eval/composite/defconfig
index 96ae51c36..0204850a4 100644
--- a/nuttx/configs/stm3210e-eval/composite/defconfig
+++ b/nuttx/configs/stm3210e-eval/composite/defconfig
@@ -674,7 +674,6 @@ CONFIG_FS_WRITABLE=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/stm3210e-eval/nsh/defconfig b/nuttx/configs/stm3210e-eval/nsh/defconfig
index 52330c8b2..e0bbfc37c 100644
--- a/nuttx/configs/stm3210e-eval/nsh/defconfig
+++ b/nuttx/configs/stm3210e-eval/nsh/defconfig
@@ -636,7 +636,6 @@ CONFIG_FAT_LCNAMES=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/stm3210e-eval/nsh2/defconfig b/nuttx/configs/stm3210e-eval/nsh2/defconfig
index efbfc2033..c26b50fe5 100644
--- a/nuttx/configs/stm3210e-eval/nsh2/defconfig
+++ b/nuttx/configs/stm3210e-eval/nsh2/defconfig
@@ -763,7 +763,6 @@ CONFIG_NXFONT_SANS28X37B=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/stm3210e-eval/nx/defconfig b/nuttx/configs/stm3210e-eval/nx/defconfig
index a1ea71431..f4ba209ce 100644
--- a/nuttx/configs/stm3210e-eval/nx/defconfig
+++ b/nuttx/configs/stm3210e-eval/nx/defconfig
@@ -689,7 +689,6 @@ CONFIG_NXFONT_SANS23X27=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/stm3210e-eval/nxconsole/defconfig b/nuttx/configs/stm3210e-eval/nxconsole/defconfig
index 92e45c013..26005afea 100644
--- a/nuttx/configs/stm3210e-eval/nxconsole/defconfig
+++ b/nuttx/configs/stm3210e-eval/nxconsole/defconfig
@@ -687,7 +687,6 @@ CONFIG_NX_MXCLIENTMSGS=16
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/stm3210e-eval/pm/defconfig b/nuttx/configs/stm3210e-eval/pm/defconfig
index 8c2b8fcbc..3057afccf 100644
--- a/nuttx/configs/stm3210e-eval/pm/defconfig
+++ b/nuttx/configs/stm3210e-eval/pm/defconfig
@@ -687,7 +687,6 @@ CONFIG_NXFONT_SANS28X37B=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/stm3210e-eval/usbmsc/defconfig b/nuttx/configs/stm3210e-eval/usbmsc/defconfig
index 523609270..de74faab0 100644
--- a/nuttx/configs/stm3210e-eval/usbmsc/defconfig
+++ b/nuttx/configs/stm3210e-eval/usbmsc/defconfig
@@ -607,7 +607,6 @@ CONFIG_FS_WRITABLE=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/stm3210e-eval/usbserial/defconfig b/nuttx/configs/stm3210e-eval/usbserial/defconfig
index cb1da9b78..0ed98edb7 100644
--- a/nuttx/configs/stm3210e-eval/usbserial/defconfig
+++ b/nuttx/configs/stm3210e-eval/usbserial/defconfig
@@ -589,7 +589,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/stm3220g-eval/dhcpd/defconfig b/nuttx/configs/stm3220g-eval/dhcpd/defconfig
index afe852c65..a1716d24c 100644
--- a/nuttx/configs/stm3220g-eval/dhcpd/defconfig
+++ b/nuttx/configs/stm3220g-eval/dhcpd/defconfig
@@ -635,7 +635,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/stm3220g-eval/nettest/defconfig b/nuttx/configs/stm3220g-eval/nettest/defconfig
index 4f527498c..cfd245509 100644
--- a/nuttx/configs/stm3220g-eval/nettest/defconfig
+++ b/nuttx/configs/stm3220g-eval/nettest/defconfig
@@ -643,7 +643,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/stm3220g-eval/nsh/defconfig b/nuttx/configs/stm3220g-eval/nsh/defconfig
index 2816e28f4..477eb7273 100644
--- a/nuttx/configs/stm3220g-eval/nsh/defconfig
+++ b/nuttx/configs/stm3220g-eval/nsh/defconfig
@@ -702,7 +702,6 @@ CONFIG_FAT_MAXFNAME=32
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/stm3220g-eval/nsh2/defconfig b/nuttx/configs/stm3220g-eval/nsh2/defconfig
index 253bde882..f38b77578 100644
--- a/nuttx/configs/stm3220g-eval/nsh2/defconfig
+++ b/nuttx/configs/stm3220g-eval/nsh2/defconfig
@@ -707,7 +707,6 @@ CONFIG_SYSLOG_DEVPATH="/dev/syslog"
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/stm3220g-eval/nxwm/defconfig b/nuttx/configs/stm3220g-eval/nxwm/defconfig
index 6c0fe26e4..c528efffe 100644
--- a/nuttx/configs/stm3220g-eval/nxwm/defconfig
+++ b/nuttx/configs/stm3220g-eval/nxwm/defconfig
@@ -820,7 +820,6 @@ CONFIG_NX_MXCLIENTMSGS=16
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/stm3220g-eval/telnetd/defconfig b/nuttx/configs/stm3220g-eval/telnetd/defconfig
index e6b37f354..e72462046 100644
--- a/nuttx/configs/stm3220g-eval/telnetd/defconfig
+++ b/nuttx/configs/stm3220g-eval/telnetd/defconfig
@@ -643,7 +643,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/stm3240g-eval/dhcpd/defconfig b/nuttx/configs/stm3240g-eval/dhcpd/defconfig
index 0f621bf72..53b14531c 100644
--- a/nuttx/configs/stm3240g-eval/dhcpd/defconfig
+++ b/nuttx/configs/stm3240g-eval/dhcpd/defconfig
@@ -637,7 +637,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/stm3240g-eval/discover/defconfig b/nuttx/configs/stm3240g-eval/discover/defconfig
index 9e3d4e0a5..7a454570d 100644
--- a/nuttx/configs/stm3240g-eval/discover/defconfig
+++ b/nuttx/configs/stm3240g-eval/discover/defconfig
@@ -697,7 +697,6 @@ CONFIG_FAT_MAXFNAME=32
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/stm3240g-eval/knxwm/defconfig b/nuttx/configs/stm3240g-eval/knxwm/defconfig
index 6dd313516..c99267e6a 100644
--- a/nuttx/configs/stm3240g-eval/knxwm/defconfig
+++ b/nuttx/configs/stm3240g-eval/knxwm/defconfig
@@ -808,7 +808,6 @@ CONFIG_NXSTART_DEVNO=0
#
# Memory Management
#
-CONFIG_MM_MULTIHEAP=y
CONFIG_MM_KERNEL_HEAP=y
CONFIG_MM_KERNEL_HEAPSIZE=8192
# CONFIG_MM_SMALL is not set
diff --git a/nuttx/configs/stm3240g-eval/nettest/defconfig b/nuttx/configs/stm3240g-eval/nettest/defconfig
index 909e9c5ea..8336385b1 100644
--- a/nuttx/configs/stm3240g-eval/nettest/defconfig
+++ b/nuttx/configs/stm3240g-eval/nettest/defconfig
@@ -645,7 +645,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/stm3240g-eval/nsh/defconfig b/nuttx/configs/stm3240g-eval/nsh/defconfig
index 0bcc6b66e..cdfcf2cf6 100644
--- a/nuttx/configs/stm3240g-eval/nsh/defconfig
+++ b/nuttx/configs/stm3240g-eval/nsh/defconfig
@@ -683,7 +683,6 @@ CONFIG_FAT_MAXFNAME=32
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/stm3240g-eval/nsh2/defconfig b/nuttx/configs/stm3240g-eval/nsh2/defconfig
index bd9dc7720..31747d924 100644
--- a/nuttx/configs/stm3240g-eval/nsh2/defconfig
+++ b/nuttx/configs/stm3240g-eval/nsh2/defconfig
@@ -709,7 +709,6 @@ CONFIG_SYSLOG_DEVPATH="/dev/syslog"
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/stm3240g-eval/nxconsole/defconfig b/nuttx/configs/stm3240g-eval/nxconsole/defconfig
index e41a47184..f61de3059 100644
--- a/nuttx/configs/stm3240g-eval/nxconsole/defconfig
+++ b/nuttx/configs/stm3240g-eval/nxconsole/defconfig
@@ -793,7 +793,6 @@ CONFIG_NX_MXCLIENTMSGS=16
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=3
CONFIG_ARCH_HAVE_HEAP2=y
diff --git a/nuttx/configs/stm3240g-eval/nxwm/defconfig b/nuttx/configs/stm3240g-eval/nxwm/defconfig
index c0ac803f7..a78e7d686 100644
--- a/nuttx/configs/stm3240g-eval/nxwm/defconfig
+++ b/nuttx/configs/stm3240g-eval/nxwm/defconfig
@@ -815,7 +815,6 @@ CONFIG_NX_MXCLIENTMSGS=16
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/stm3240g-eval/telnetd/defconfig b/nuttx/configs/stm3240g-eval/telnetd/defconfig
index 6015b2a34..2a7298e9d 100644
--- a/nuttx/configs/stm3240g-eval/telnetd/defconfig
+++ b/nuttx/configs/stm3240g-eval/telnetd/defconfig
@@ -645,7 +645,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/stm3240g-eval/webserver/defconfig b/nuttx/configs/stm3240g-eval/webserver/defconfig
index 2a7d77c49..e93f04e9c 100644
--- a/nuttx/configs/stm3240g-eval/webserver/defconfig
+++ b/nuttx/configs/stm3240g-eval/webserver/defconfig
@@ -696,7 +696,6 @@ CONFIG_FAT_MAXFNAME=32
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/stm3240g-eval/xmlrpc/defconfig b/nuttx/configs/stm3240g-eval/xmlrpc/defconfig
index 4137c7858..65dcb255c 100644
--- a/nuttx/configs/stm3240g-eval/xmlrpc/defconfig
+++ b/nuttx/configs/stm3240g-eval/xmlrpc/defconfig
@@ -693,7 +693,6 @@ CONFIG_FAT_MAXFNAME=32
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/stm32_tiny/nsh/defconfig b/nuttx/configs/stm32_tiny/nsh/defconfig
index 11621eebd..f38b49455 100644
--- a/nuttx/configs/stm32_tiny/nsh/defconfig
+++ b/nuttx/configs/stm32_tiny/nsh/defconfig
@@ -461,7 +461,6 @@ CONFIG_WL_NRF24L01_RXFIFO_LEN=128
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_GRAN is not set
diff --git a/nuttx/configs/stm32_tiny/usbnsh/defconfig b/nuttx/configs/stm32_tiny/usbnsh/defconfig
index 6ce953ab7..a1e226efa 100644
--- a/nuttx/configs/stm32_tiny/usbnsh/defconfig
+++ b/nuttx/configs/stm32_tiny/usbnsh/defconfig
@@ -454,7 +454,6 @@ CONFIG_CDCACM_PRODUCTSTR="CDC/ACM Serial"
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_GRAN is not set
diff --git a/nuttx/configs/stm32f3discovery/nsh/defconfig b/nuttx/configs/stm32f3discovery/nsh/defconfig
index 663623a30..c9f2de47b 100644
--- a/nuttx/configs/stm32f3discovery/nsh/defconfig
+++ b/nuttx/configs/stm32f3discovery/nsh/defconfig
@@ -522,7 +522,6 @@ CONFIG_CDCACM_PRODUCTSTR="CDC/ACM Serial"
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_GRAN is not set
diff --git a/nuttx/configs/stm32f3discovery/usbnsh/defconfig b/nuttx/configs/stm32f3discovery/usbnsh/defconfig
index 315ce6325..215b0ddd7 100644
--- a/nuttx/configs/stm32f3discovery/usbnsh/defconfig
+++ b/nuttx/configs/stm32f3discovery/usbnsh/defconfig
@@ -509,7 +509,6 @@ CONFIG_SYSLOG_DEVPATH="/dev/ttyS0"
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_GRAN is not set
diff --git a/nuttx/configs/stm32f429i-disco/extflash/defconfig b/nuttx/configs/stm32f429i-disco/extflash/defconfig
index caae2a3e5..166fd464a 100644
--- a/nuttx/configs/stm32f429i-disco/extflash/defconfig
+++ b/nuttx/configs/stm32f429i-disco/extflash/defconfig
@@ -662,7 +662,6 @@ CONFIG_FS_PROCFS=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=3
CONFIG_ARCH_HAVE_HEAP2=y
diff --git a/nuttx/configs/stm32f429i-disco/nsh/defconfig b/nuttx/configs/stm32f429i-disco/nsh/defconfig
index bf6255bd6..500460b38 100644
--- a/nuttx/configs/stm32f429i-disco/nsh/defconfig
+++ b/nuttx/configs/stm32f429i-disco/nsh/defconfig
@@ -597,7 +597,6 @@ CONFIG_USART1_2STOP=0
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=3
CONFIG_ARCH_HAVE_HEAP2=y
diff --git a/nuttx/configs/stm32f429i-disco/usbmsc/defconfig b/nuttx/configs/stm32f429i-disco/usbmsc/defconfig
index 2d598bc14..301c4bb73 100644
--- a/nuttx/configs/stm32f429i-disco/usbmsc/defconfig
+++ b/nuttx/configs/stm32f429i-disco/usbmsc/defconfig
@@ -620,7 +620,6 @@ CONFIG_FS_FAT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=3
CONFIG_ARCH_HAVE_HEAP2=y
diff --git a/nuttx/configs/stm32f429i-disco/usbnsh/defconfig b/nuttx/configs/stm32f429i-disco/usbnsh/defconfig
index 282429824..bce5df474 100644
--- a/nuttx/configs/stm32f429i-disco/usbnsh/defconfig
+++ b/nuttx/configs/stm32f429i-disco/usbnsh/defconfig
@@ -651,7 +651,6 @@ CONFIG_FS_FAT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=3
CONFIG_ARCH_HAVE_HEAP2=y
diff --git a/nuttx/configs/stm32f4discovery/cxxtest/defconfig b/nuttx/configs/stm32f4discovery/cxxtest/defconfig
index 020c491c5..915451009 100644
--- a/nuttx/configs/stm32f4discovery/cxxtest/defconfig
+++ b/nuttx/configs/stm32f4discovery/cxxtest/defconfig
@@ -561,7 +561,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/stm32f4discovery/elf/defconfig b/nuttx/configs/stm32f4discovery/elf/defconfig
index 8373b81b5..3725f369a 100644
--- a/nuttx/configs/stm32f4discovery/elf/defconfig
+++ b/nuttx/configs/stm32f4discovery/elf/defconfig
@@ -563,7 +563,6 @@ CONFIG_FS_ROMFS=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/stm32f4discovery/kostest/defconfig b/nuttx/configs/stm32f4discovery/kostest/defconfig
index 59f682fd3..1e89438ce 100644
--- a/nuttx/configs/stm32f4discovery/kostest/defconfig
+++ b/nuttx/configs/stm32f4discovery/kostest/defconfig
@@ -653,7 +653,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-CONFIG_MM_MULTIHEAP=y
CONFIG_MM_KERNEL_HEAP=y
CONFIG_MM_KERNEL_HEAPSIZE=8192
# CONFIG_MM_SMALL is not set
diff --git a/nuttx/configs/stm32f4discovery/nsh/defconfig b/nuttx/configs/stm32f4discovery/nsh/defconfig
index e5783a0d5..9fd42248f 100644
--- a/nuttx/configs/stm32f4discovery/nsh/defconfig
+++ b/nuttx/configs/stm32f4discovery/nsh/defconfig
@@ -665,7 +665,6 @@ CONFIG_USART2_2STOP=0
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/stm32f4discovery/nxlines/defconfig b/nuttx/configs/stm32f4discovery/nxlines/defconfig
index b441031a5..606eb6d2d 100644
--- a/nuttx/configs/stm32f4discovery/nxlines/defconfig
+++ b/nuttx/configs/stm32f4discovery/nxlines/defconfig
@@ -675,7 +675,6 @@ CONFIG_NXFONT_SANS22X29B=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/stm32f4discovery/pm/defconfig b/nuttx/configs/stm32f4discovery/pm/defconfig
index 74c1377df..b7ac367dd 100644
--- a/nuttx/configs/stm32f4discovery/pm/defconfig
+++ b/nuttx/configs/stm32f4discovery/pm/defconfig
@@ -579,7 +579,6 @@ CONFIG_USART2_2STOP=0
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/stm32f4discovery/posix_spawn/defconfig b/nuttx/configs/stm32f4discovery/posix_spawn/defconfig
index a85536a23..98f241945 100644
--- a/nuttx/configs/stm32f4discovery/posix_spawn/defconfig
+++ b/nuttx/configs/stm32f4discovery/posix_spawn/defconfig
@@ -563,7 +563,6 @@ CONFIG_FS_ROMFS=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/stm32f4discovery/usbnsh/defconfig b/nuttx/configs/stm32f4discovery/usbnsh/defconfig
index 1c1f52c18..45c9ce6dd 100644
--- a/nuttx/configs/stm32f4discovery/usbnsh/defconfig
+++ b/nuttx/configs/stm32f4discovery/usbnsh/defconfig
@@ -620,7 +620,6 @@ CONFIG_SYSLOG_DEVPATH="/dev/ttyS0"
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/stm32ldiscovery/nsh/defconfig b/nuttx/configs/stm32ldiscovery/nsh/defconfig
index 3db4e70ae..7c486b6fa 100644
--- a/nuttx/configs/stm32ldiscovery/nsh/defconfig
+++ b/nuttx/configs/stm32ldiscovery/nsh/defconfig
@@ -451,7 +451,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
CONFIG_MM_SMALL=y
CONFIG_MM_REGIONS=1
# CONFIG_GRAN is not set
diff --git a/nuttx/configs/sure-pic32mx/nsh/defconfig b/nuttx/configs/sure-pic32mx/nsh/defconfig
index ba0e28260..81a37a423 100644
--- a/nuttx/configs/sure-pic32mx/nsh/defconfig
+++ b/nuttx/configs/sure-pic32mx/nsh/defconfig
@@ -444,7 +444,6 @@ CONFIG_UART2_2STOP=0
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_GRAN is not set
diff --git a/nuttx/configs/sure-pic32mx/usbnsh/defconfig b/nuttx/configs/sure-pic32mx/usbnsh/defconfig
index 325d01cd0..06263a3af 100644
--- a/nuttx/configs/sure-pic32mx/usbnsh/defconfig
+++ b/nuttx/configs/sure-pic32mx/usbnsh/defconfig
@@ -491,7 +491,6 @@ CONFIG_SYSLOG_DEVPATH="/dev/ttyS0"
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_GRAN is not set
diff --git a/nuttx/configs/teensy/hello/defconfig b/nuttx/configs/teensy/hello/defconfig
index c95bbfb7e..6a124728e 100644
--- a/nuttx/configs/teensy/hello/defconfig
+++ b/nuttx/configs/teensy/hello/defconfig
@@ -322,7 +322,6 @@ CONFIG_DISABLE_PSEUDOFS_OPERATIONS=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/teensy/nsh/defconfig b/nuttx/configs/teensy/nsh/defconfig
index 3697860ee..d43614009 100644
--- a/nuttx/configs/teensy/nsh/defconfig
+++ b/nuttx/configs/teensy/nsh/defconfig
@@ -331,7 +331,6 @@ CONFIG_DISABLE_PSEUDOFS_OPERATIONS=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/teensy/usbmsc/defconfig b/nuttx/configs/teensy/usbmsc/defconfig
index a9b0657ae..4e3f47d19 100644
--- a/nuttx/configs/teensy/usbmsc/defconfig
+++ b/nuttx/configs/teensy/usbmsc/defconfig
@@ -380,7 +380,6 @@ CONFIG_FS_WRITABLE=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/tm4c123g-launchpad/nsh/defconfig b/nuttx/configs/tm4c123g-launchpad/nsh/defconfig
index 3b152234b..2ffe56e8d 100644
--- a/nuttx/configs/tm4c123g-launchpad/nsh/defconfig
+++ b/nuttx/configs/tm4c123g-launchpad/nsh/defconfig
@@ -425,7 +425,6 @@ CONFIG_UART0_2STOP=0
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/twr-k60n512/nsh/defconfig b/nuttx/configs/twr-k60n512/nsh/defconfig
index 036f01bc6..3018bb4cf 100644
--- a/nuttx/configs/twr-k60n512/nsh/defconfig
+++ b/nuttx/configs/twr-k60n512/nsh/defconfig
@@ -378,7 +378,6 @@ CONFIG_FS_FAT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_GRAN is not set
diff --git a/nuttx/configs/ubw32/nsh/defconfig b/nuttx/configs/ubw32/nsh/defconfig
index a1eef3aaa..245ded66b 100644
--- a/nuttx/configs/ubw32/nsh/defconfig
+++ b/nuttx/configs/ubw32/nsh/defconfig
@@ -502,7 +502,6 @@ CONFIG_FAT_MAXFNAME=32
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/us7032evb1/nsh/defconfig b/nuttx/configs/us7032evb1/nsh/defconfig
index 1d384d369..1790a4ccf 100644
--- a/nuttx/configs/us7032evb1/nsh/defconfig
+++ b/nuttx/configs/us7032evb1/nsh/defconfig
@@ -334,7 +334,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/us7032evb1/ostest/defconfig b/nuttx/configs/us7032evb1/ostest/defconfig
index 19c711653..045089b1c 100644
--- a/nuttx/configs/us7032evb1/ostest/defconfig
+++ b/nuttx/configs/us7032evb1/ostest/defconfig
@@ -332,7 +332,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/viewtool-stm32f107/highpri/defconfig b/nuttx/configs/viewtool-stm32f107/highpri/defconfig
index 1b040cc36..f12ea6144 100644
--- a/nuttx/configs/viewtool-stm32f107/highpri/defconfig
+++ b/nuttx/configs/viewtool-stm32f107/highpri/defconfig
@@ -549,7 +549,6 @@ CONFIG_USART1_2STOP=0
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/viewtool-stm32f107/netnsh/defconfig b/nuttx/configs/viewtool-stm32f107/netnsh/defconfig
index f85dbbda9..5bbd918d1 100644
--- a/nuttx/configs/viewtool-stm32f107/netnsh/defconfig
+++ b/nuttx/configs/viewtool-stm32f107/netnsh/defconfig
@@ -770,7 +770,6 @@ CONFIG_NET_ETHERNET=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/viewtool-stm32f107/nsh/defconfig b/nuttx/configs/viewtool-stm32f107/nsh/defconfig
index c4d262e9c..82bc316cd 100644
--- a/nuttx/configs/viewtool-stm32f107/nsh/defconfig
+++ b/nuttx/configs/viewtool-stm32f107/nsh/defconfig
@@ -615,7 +615,6 @@ CONFIG_USART1_2STOP=0
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/vsn/nsh/defconfig b/nuttx/configs/vsn/nsh/defconfig
index 8431e2972..8c5147265 100644
--- a/nuttx/configs/vsn/nsh/defconfig
+++ b/nuttx/configs/vsn/nsh/defconfig
@@ -622,7 +622,6 @@ CONFIG_FS_BINFS=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/z16f2800100zcog/nsh/defconfig b/nuttx/configs/z16f2800100zcog/nsh/defconfig
index cb1c82abf..7973fd928 100644
--- a/nuttx/configs/z16f2800100zcog/nsh/defconfig
+++ b/nuttx/configs/z16f2800100zcog/nsh/defconfig
@@ -412,7 +412,6 @@ CONFIG_UART1_2STOP=0
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
CONFIG_ARCH_HAVE_HEAP2=y
diff --git a/nuttx/configs/z16f2800100zcog/ostest/defconfig b/nuttx/configs/z16f2800100zcog/ostest/defconfig
index 9c8aa05c8..38044ebe9 100644
--- a/nuttx/configs/z16f2800100zcog/ostest/defconfig
+++ b/nuttx/configs/z16f2800100zcog/ostest/defconfig
@@ -347,7 +347,6 @@ CONFIG_UART1_2STOP=0
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=1
CONFIG_ARCH_HAVE_HEAP2=y
diff --git a/nuttx/configs/zkit-arm-1769/hello/defconfig b/nuttx/configs/zkit-arm-1769/hello/defconfig
index 3243c71ee..f3a9a8da2 100644
--- a/nuttx/configs/zkit-arm-1769/hello/defconfig
+++ b/nuttx/configs/zkit-arm-1769/hello/defconfig
@@ -542,7 +542,6 @@ CONFIG_FS_ROMFS=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/zkit-arm-1769/nsh/defconfig b/nuttx/configs/zkit-arm-1769/nsh/defconfig
index e0dca7095..054ccf579 100644
--- a/nuttx/configs/zkit-arm-1769/nsh/defconfig
+++ b/nuttx/configs/zkit-arm-1769/nsh/defconfig
@@ -582,7 +582,6 @@ CONFIG_FAT_MAXFNAME=32
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/zkit-arm-1769/nxhello/defconfig b/nuttx/configs/zkit-arm-1769/nxhello/defconfig
index 30e9d918d..006426137 100644
--- a/nuttx/configs/zkit-arm-1769/nxhello/defconfig
+++ b/nuttx/configs/zkit-arm-1769/nxhello/defconfig
@@ -678,7 +678,6 @@ CONFIG_NXFONT_SANS23X27=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/configs/zkit-arm-1769/thttpd/defconfig b/nuttx/configs/zkit-arm-1769/thttpd/defconfig
index 7a8bc853d..d4c721f32 100644
--- a/nuttx/configs/zkit-arm-1769/thttpd/defconfig
+++ b/nuttx/configs/zkit-arm-1769/thttpd/defconfig
@@ -542,7 +542,6 @@ CONFIG_FS_ROMFS=y
#
# Memory Management
#
-# CONFIG_MM_MULTIHEAP is not set
# CONFIG_MM_SMALL is not set
CONFIG_MM_REGIONS=2
# CONFIG_ARCH_HAVE_HEAP2 is not set
diff --git a/nuttx/include/nuttx/kmalloc.h b/nuttx/include/nuttx/kmalloc.h
index bea2d03ba..50aa80207 100644
--- a/nuttx/include/nuttx/kmalloc.h
+++ b/nuttx/include/nuttx/kmalloc.h
@@ -116,7 +116,7 @@ extern "C"
/* This family of allocators is used to manage kernel protected memory */
-#if !defined(CONFIG_BUILD_PROTECTED)
+#if !defined(CONFIG_BUILD_PROTECTED) && !defined(CONFIG_MM_KERNEL_HEAP)
/* If this is not a kernel build, then these map to the same interfaces
* as were used for the user-mode function.
*/
diff --git a/nuttx/include/nuttx/mm.h b/nuttx/include/nuttx/mm.h
index 50ad068f9..09ea1756a 100644
--- a/nuttx/include/nuttx/mm.h
+++ b/nuttx/include/nuttx/mm.h
@@ -230,7 +230,12 @@ extern "C"
/* This is the user heap */
EXTERN struct mm_heap_s g_mmheap;
+#endif
+
+#ifdef CONFIG_MM_KERNEL_HEAP
+/* This is the kernel heap */
+EXTERN struct mm_heap_s g_kmmheap;
#endif
/****************************************************************************
@@ -272,47 +277,50 @@ void umm_givesemaphore(void);
/* Functions contained in mm_malloc.c ***************************************/
-#ifdef CONFIG_MM_MULTIHEAP
FAR void *mm_malloc(FAR struct mm_heap_s *heap, size_t size);
-#endif
/* Functions contained in mm_free.c *****************************************/
-#ifdef CONFIG_MM_MULTIHEAP
void mm_free(FAR struct mm_heap_s *heap, FAR void *mem);
-#endif
/* Functions contained in mm_realloc.c **************************************/
-#ifdef CONFIG_MM_MULTIHEAP
FAR void *mm_realloc(FAR struct mm_heap_s *heap, FAR void *oldmem,
size_t size);
-#endif
/* Functions contained in mm_calloc.c ***************************************/
-#ifdef CONFIG_MM_MULTIHEAP
FAR void *mm_calloc(FAR struct mm_heap_s *heap, size_t n, size_t elem_size);
+
+/* Functions contained in kmm_calloc.c **************************************/
+
+#ifdef CONFIG_MM_KERNEL_HEAP
+FAR void *kmm_calloc(size_t n, size_t elem_size);
#endif
/* Functions contained in mm_zalloc.c ***************************************/
-#ifdef CONFIG_MM_MULTIHEAP
FAR void *mm_zalloc(FAR struct mm_heap_s *heap, size_t size);
-#endif
/* Functions contained in mm_memalign.c *************************************/
-#ifdef CONFIG_MM_MULTIHEAP
FAR void *mm_memalign(FAR struct mm_heap_s *heap, size_t alignment,
size_t size);
-#endif
/* Functions contained in mm_mallinfo.c *************************************/
-#ifdef CONFIG_MM_MULTIHEAP
-int mm_mallinfo(FAR struct mm_heap_s *heap, FAR struct mallinfo *info);
+struct mallinfo; /* Forward reference */
+int mm_mallinfo(FAR struct mm_heap_s *heap, FAR struct mallinfo *info);
+
+/* Functions contained in kmm_mallinfo.c ************************************/
+
+#ifdef CONFIG_MM_KERNEL_HEAP
+#ifdef CONFIG_CAN_PASS_STRUCTS
+struct mallinfo kmm_mallinfo(void);
+#else
+int kmm_mallinfo(struct mallinfo *info);
#endif
+#endif /* CONFIG_CAN_PASS_STRUCTS */
/* Functions contained in mm_shrinkchunk.c **********************************/
diff --git a/nuttx/mm/Kconfig b/nuttx/mm/Kconfig
index 006b8cf52..fd01ad5ce 100644
--- a/nuttx/mm/Kconfig
+++ b/nuttx/mm/Kconfig
@@ -3,22 +3,10 @@
# see misc/tools/kconfig-language.txt.
#
-config MM_MULTIHEAP
- bool "Build support for multiple heaps"
- default n
- ---help---
- Build interfaces to support multiple heaps. This should not be
- confused with memory regions. One heap may be composed of multiple,
- non-contiguous memory regions. The fact that the heap is composed
- of such multiple regions is invisible to the end-user (other than
- the heap comes pre-fragmented). Multiple heaps, on the other hand,
- supports a separate set of allocators that operate on a separate set
- of memory regions.
-
config MM_KERNEL_HEAP
bool "Support a protected, kernel heap"
default y
- depends on (BUILD_PROTECTED && MM_MULTIHEAP) || BUILD_KERNEL
+ depends on BUILD_PROTECTED || BUILD_KERNEL
---help---
Partition heap memory into two parts: (1) a protected, kernel-mode
heap accessible only by the NuttX kernel, and (2) an unprotected
@@ -62,9 +50,6 @@ config MM_SMALL
only 4-byte alignment. This may be important on some platforms where
64-bit data is in allocated structures and 8-byte alignment is required.
- NOTE: If MM_MULTIHEAP is selected, then this selection applies to all
- heaps.
-
config MM_REGIONS
int "Number of memory regions"
default 1
@@ -74,9 +59,6 @@ config MM_REGIONS
that the memory manager must handle and enables the API
mm_addregion(heap, start, end);
- NOTE: If MM_MULTIHEAP is selected, then this maximum number of regions
- applies to all heaps.
-
config ARCH_HAVE_HEAP2
bool
default n
diff --git a/nuttx/mm/Makefile b/nuttx/mm/Makefile
index 349ced9f8..ef57255b0 100644
--- a/nuttx/mm/Makefile
+++ b/nuttx/mm/Makefile
@@ -51,23 +51,23 @@ endif
# Core allocator logic
ASRCS =
-CSRCS = mm_initialize.c mm_sem.c mm_addfreechunk.c mm_size2ndx.c
-CSRCS += mm_shrinkchunk.c mm_malloc.c mm_zalloc.c mm_calloc.c mm_realloc.c
-CSRCS += mm_memalign.c mm_free.c mm_mallinfo.c
+CSRCS = mm_initialize.c mm_sem.c mm_addfreechunk.c mm_size2ndx.c
+CSRCS += mm_shrinkchunk.c
+CSRCS += mm_calloc.c mm_free.c mm_mallinfo.c mm_malloc.c mm_memalign.c
+CSRCS += mm_realloc.c mm_zalloc.c
-# Allocator instances
+# User allocator
CSRCS += mm_user.c
-ifeq ($(CONFIG_BUILD_PROTECTED),y)
-ifeq ($(CONFIG_MM_KERNEL_HEAP),y)
-CSRCS += mm_kernel.c
-endif
-else
-ifeq ($(CONFIG_BUILD_KERNEL),y)
+CSRCS += umm_calloc.c umm_free.c umm_mallinfo.c umm_malloc.c
+CSRCS += umm_memalign.c umm_realloc.c umm_zalloc.c
+
+# Kernel allocator
+
ifeq ($(CONFIG_MM_KERNEL_HEAP),y)
CSRCS += mm_kernel.c
-endif
-endif
+CSRCS += kmm_calloc.c kmm_free.c kmm_mallinfo.c kmm_malloc.c
+CSRCS += kmm_memalign.c kmm_realloc.c kmm_zalloc.c
endif
# An optional granule allocator
diff --git a/nuttx/mm/kmm_calloc.c b/nuttx/mm/kmm_calloc.c
new file mode 100644
index 000000000..db8ac185f
--- /dev/null
+++ b/nuttx/mm/kmm_calloc.c
@@ -0,0 +1,67 @@
+/****************************************************************************
+ * mm/kmm_calloc.c
+ *
+ * Copyright (C) 2014 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <gnutt@nuttx.org>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ * 3. Neither the name NuttX nor the names of its contributors may be
+ * used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <nuttx/mm.h>
+
+#ifdef CONFIG_MM_KERNEL_HEAP
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Name: kmm_calloc
+ *
+ * Description:
+ * kmm_calloc is a thin wrapper for mm_calloc()
+ *
+ ****************************************************************************/
+
+FAR void *kmm_calloc(size_t n, size_t elem_size)
+{
+ return mm_calloc(&g_kmmheap, n, elem_size);
+}
+
+#endif /* CONFIG_MM_KERNEL_HEAP */
diff --git a/nuttx/mm/kmm_free.c b/nuttx/mm/kmm_free.c
new file mode 100644
index 000000000..e118d7853
--- /dev/null
+++ b/nuttx/mm/kmm_free.c
@@ -0,0 +1,82 @@
+/****************************************************************************
+ * mm/kmm_free.c
+ *
+ * Copyright (C) 2007, 2009, 2013-2014 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <gnutt@nuttx.org>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ * 3. Neither the name NuttX nor the names of its contributors may be
+ * used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <assert.h>
+#include <debug.h>
+
+#include <nuttx/mm.h>
+
+#ifdef CONFIG_MM_KERNEL_HEAP
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Private Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/************************************************************************
+ * Name: kfree
+ *
+ * Description:
+ * Returns a chunk of kernel memory to the list of free nodes, merging
+ * with adjacent free chunks if possible.
+ *
+ * Parameters:
+ * None
+ *
+ * Return Value:
+ * None
+ *
+ ************************************************************************/
+
+void kfree(FAR void *mem)
+{
+ DEBUGASSERT(kmm_heapmember(mem));
+ mm_free(&g_kmmheap, mem);
+}
+
+#endif /* CONFIG_MM_KERNEL_HEAP */
diff --git a/nuttx/mm/kmm_mallinfo.c b/nuttx/mm/kmm_mallinfo.c
new file mode 100644
index 000000000..d7c3ab475
--- /dev/null
+++ b/nuttx/mm/kmm_mallinfo.c
@@ -0,0 +1,90 @@
+/****************************************************************************
+ * mm/kmm_mallinfo.c
+ *
+ * Copyright (C) 2014 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <gnutt@nuttx.org>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ * 3. Neither the name NuttX nor the names of its contributors may be
+ * used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <stdlib.h>
+
+#include <nuttx/mm.h>
+
+#ifdef CONFIG_MM_KERNEL_HEAP
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Private Data
+ ****************************************************************************/
+
+/****************************************************************************
+ * Private Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Name: kmm_mallinfo
+ *
+ * Description:
+ * kmm_mallinfo returns a copy of updated current heap information for the
+ * kernel heap
+ *
+ ****************************************************************************/
+
+#ifdef CONFIG_CAN_PASS_STRUCTS
+
+struct mallinfo kmm_mallinfo(void)
+{
+ struct mallinfo info;
+ mm_mallinfo(&g_kmmheap, &info);
+ return info;
+}
+
+#else
+
+int kmm_mallinfo(struct mallinfo *info)
+{
+ return mm_mallinfo(&g_kmmheap, info);
+}
+
+#endif /* CONFIG_CAN_PASS_STRUCTS */
+#endif /* CONFIG_MM_KERNEL_HEAP */
diff --git a/nuttx/mm/kmm_malloc.c b/nuttx/mm/kmm_malloc.c
new file mode 100644
index 000000000..3646d3bae
--- /dev/null
+++ b/nuttx/mm/kmm_malloc.c
@@ -0,0 +1,89 @@
+/****************************************************************************
+ * mm/kmm_malloc.c
+ *
+ * Copyright (C) 2014 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <gnutt@nuttx.org>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ * 3. Neither the name NuttX nor the names of its contributors may be
+ * used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <nuttx/mm.h>
+
+#ifdef CONFIG_MM_KERNEL_HEAP
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Type Definitions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Private Data
+ ****************************************************************************/
+
+/****************************************************************************
+ * Public Data
+ ****************************************************************************/
+
+/****************************************************************************
+ * Private Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/************************************************************************
+ * Name: kmalloc
+ *
+ * Description:
+ * Allocate memory from the kernel heap.
+ *
+ * Parameters:
+ * size - Size (in bytes) of the memory region to be allocated.
+ *
+ * Return Value:
+ * The address of the allocated memory (NULL on failure to allocate)
+ *
+ ************************************************************************/
+
+FAR void *kmalloc(size_t size)
+{
+ return mm_malloc(&g_kmmheap, size);
+}
+
+#endif /* CONFIG_MM_KERNEL_HEAP */
diff --git a/nuttx/mm/kmm_memalign.c b/nuttx/mm/kmm_memalign.c
new file mode 100644
index 000000000..b7fc3d599
--- /dev/null
+++ b/nuttx/mm/kmm_memalign.c
@@ -0,0 +1,80 @@
+/****************************************************************************
+ * mm/kmm_memalign.c
+ *
+ * Copyright (C) 2014 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <gnutt@nuttx.org>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ * 3. Neither the name NuttX nor the names of its contributors may be
+ * used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <stdlib.h>
+
+#include <nuttx/mm.h>
+
+#ifdef CONFIG_MM_KERNEL_HEAP
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Private Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/************************************************************************
+ * Name: kmemalign
+ *
+ * Description:
+ * Allocate aligned memory in the kernel heap.
+ *
+ * Parameters:
+ * alignment - Log2 byte alignment
+ * size - Size (in bytes) of the new memory region to be allocated.
+ *
+ * Return Value:
+ * The address of the re-allocated memory (NULL on failure to allocate)
+ *
+ ************************************************************************/
+
+FAR void *kmemalign(size_t alignment, size_t size)
+{
+ return mm_memalign(&g_kmmheap, alignment, size);
+}
+
+#endif /* CONFIG_MM_KERNEL_HEAP */
diff --git a/nuttx/mm/kmm_realloc.c b/nuttx/mm/kmm_realloc.c
new file mode 100644
index 000000000..cd3d383b4
--- /dev/null
+++ b/nuttx/mm/kmm_realloc.c
@@ -0,0 +1,78 @@
+/****************************************************************************
+ * mm/kmm_realloc.c
+ *
+ * Copyright (C) 2014 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <gnutt@nuttx.org>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ * 3. Neither the name NuttX nor the names of its contributors may be
+ * used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <nuttx/mm.h>
+
+#ifdef CONFIG_MM_KERNEL_HEAP
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Private Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Name: krealloc
+ *
+ * Description:
+ * Re-allocate memory in the kernel heap.
+ *
+ * Parameters:
+ * oldmem - The old memory allocated
+ * newsize - Size (in bytes) of the new memory region to be re-allocated.
+ *
+ * Return Value:
+ * The address of the re-allocated memory (NULL on failure to re-allocate)
+ *
+ ****************************************************************************/
+
+FAR void *krealloc(FAR void *oldmem, size_t newsize)
+{
+ return mm_realloc(&g_kmmheap, oldmem, newsize);
+}
+
+#endif /* CONFIG_MM_KERNEL_HEAP */
diff --git a/nuttx/mm/kmm_zalloc.c b/nuttx/mm/kmm_zalloc.c
new file mode 100644
index 000000000..db14972ee
--- /dev/null
+++ b/nuttx/mm/kmm_zalloc.c
@@ -0,0 +1,73 @@
+/****************************************************************************
+ * mm/kmm_zalloc.c
+ *
+ * Copyright (C) 2014 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <gnutt@nuttx.org>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ * 3. Neither the name NuttX nor the names of its contributors may be
+ * used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <nuttx/mm.h>
+
+#ifdef CONFIG_MM_KERNEL_HEAP
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/************************************************************************
+ * Name: kzalloc
+ *
+ * Description:
+ * Allocate and zero memory from the kernel heap.
+ *
+ * Parameters:
+ * size - Size (in bytes) of the memory region to be allocated.
+ *
+ * Return Value:
+ * The address of the allocated memory (NULL on failure to allocate)
+ *
+ ************************************************************************/
+
+FAR void *kzalloc(size_t size)
+{
+ return mm_zalloc(&g_kmmheap, size);
+}
+
+#endif /* CONFIG_MM_KERNEL_HEAP */
diff --git a/nuttx/mm/mm_calloc.c b/nuttx/mm/mm_calloc.c
index 90276dd6a..c78ede8d4 100644
--- a/nuttx/mm/mm_calloc.c
+++ b/nuttx/mm/mm_calloc.c
@@ -39,8 +39,6 @@
#include <nuttx/config.h>
-#include <stdlib.h>
-
#include <nuttx/mm.h>
/****************************************************************************
@@ -48,18 +46,17 @@
****************************************************************************/
/****************************************************************************
- * Global Functions
+ * Public Functions
****************************************************************************/
/****************************************************************************
* Name: mm_calloc
*
- * Descripton:
- * calloc calculates the size of the allocation and calls zalloc
+ * Descriptor:
+ * mm_calloc() calculates the size of the allocation and calls mm_zalloc()
*
****************************************************************************/
-#ifdef CONFIG_MM_MULTIHEAP
FAR void *mm_calloc(FAR struct mm_heap_s *heap, size_t n, size_t elem_size)
{
FAR void *ret = NULL;
@@ -71,30 +68,3 @@ FAR void *mm_calloc(FAR struct mm_heap_s *heap, size_t n, size_t elem_size)
return ret;
}
-#endif
-
-/****************************************************************************
- * Name: calloc
- *
- * Descripton:
- * calloc calculates the size of the allocation and calls zalloc
- *
- ****************************************************************************/
-
-#ifdef CONFIG_MM_USER_HEAP
-FAR void *calloc(size_t n, size_t elem_size)
-{
-#ifdef CONFIG_MM_MULTIHEAP
- return mm_calloc(&g_mmheap, n, elem_size);
-#else
- FAR void *ret = NULL;
-
- if (n > 0 && elem_size > 0)
- {
- ret = zalloc(n * elem_size);
- }
-
- return ret;
-#endif
-}
-#endif
diff --git a/nuttx/mm/mm_free.c b/nuttx/mm/mm_free.c
index a75564b35..bcc04abc9 100644
--- a/nuttx/mm/mm_free.c
+++ b/nuttx/mm/mm_free.c
@@ -39,7 +39,6 @@
#include <nuttx/config.h>
-#include <stdlib.h>
#include <assert.h>
#include <debug.h>
@@ -54,6 +53,10 @@
****************************************************************************/
/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/****************************************************************************
* Name: mm_free
*
* Description:
@@ -62,9 +65,6 @@
*
****************************************************************************/
-#ifndef CONFIG_MM_MULTIHEAP
-static inline
-#endif
void mm_free(FAR struct mm_heap_s *heap, FAR void *mem)
{
FAR struct mm_freenode_s *node;
@@ -153,23 +153,3 @@ void mm_free(FAR struct mm_heap_s *heap, FAR void *mem)
mm_addfreechunk(heap, node);
mm_givesemaphore(heap);
}
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: free
- *
- * Description:
- * Returns a chunk of memory to the list of free nodes, merging with
- * adjacent free chunks if possible.
- *
- ****************************************************************************/
-
-#ifdef CONFIG_MM_USER_HEAP
-void free(FAR void *mem)
-{
- mm_free(&g_mmheap, mem);
-}
-#endif
diff --git a/nuttx/mm/mm_kernel.c b/nuttx/mm/mm_kernel.c
index fcb7f1380..5435b9316 100644
--- a/nuttx/mm/mm_kernel.c
+++ b/nuttx/mm/mm_kernel.c
@@ -112,104 +112,6 @@ void kmm_addregion(FAR void *heap_start, size_t heap_size)
}
/************************************************************************
- * Name: kmalloc
- *
- * Description:
- * Allocate memory from the kernel heap.
- *
- * Parameters:
- * size - Size (in bytes) of the memory region to be allocated.
- *
- * Return Value:
- * The address of the allocated memory (NULL on failure to allocate)
- *
- ************************************************************************/
-
-FAR void *kmalloc(size_t size)
-{
- return mm_malloc(&g_kmmheap, size);
-}
-
-/************************************************************************
- * Name: kzalloc
- *
- * Description:
- * Allocate and zero memory from the kernel heap.
- *
- * Parameters:
- * size - Size (in bytes) of the memory region to be allocated.
- *
- * Return Value:
- * The address of the allocated memory (NULL on failure to allocate)
- *
- ************************************************************************/
-
-FAR void *kzalloc(size_t size)
-{
- return mm_zalloc(&g_kmmheap, size);
-}
-
-/************************************************************************
- * Name: krealloc
- *
- * Description:
- * Re-allocate memory in the kernel heap.
- *
- * Parameters:
- * oldmem - The old memory allocated
- * newsize - Size (in bytes) of the new memory region to be re-allocated.
- *
- * Return Value:
- * The address of the re-allocated memory (NULL on failure to re-allocate)
- *
- ************************************************************************/
-
-FAR void *krealloc(FAR void *oldmem, size_t newsize)
-{
- return mm_realloc(&g_kmmheap, oldmem, newsize);
-}
-
-/************************************************************************
- * Name: kmemalign
- *
- * Description:
- * Allocate aligned memory in the kernel heap.
- *
- * Parameters:
- * alignment - Log2 byte alignment
- * size - Size (in bytes) of the new memory region to be allocated.
- *
- * Return Value:
- * The address of the re-allocated memory (NULL on failure to allocate)
- *
- ************************************************************************/
-
-FAR void *kmemalign(size_t alignment, size_t size)
-{
- return mm_memalign(&g_kmmheap, alignment, size);
-}
-
-/************************************************************************
- * Name: kfree
- *
- * Description:
- * Return allocated memory to the kernel heap.
- *
- * Parameters:
- * None
- *
- * Return Value:
- * None
- *
- ************************************************************************/
-
-void kfree(FAR void *mem)
-{
- DEBUGASSERT(kmm_heapmember(mem));
- return mm_free(&g_kmmheap, mem);
-}
-
-/************************************************************************
* Name: kmm_trysemaphore
*
* Description:
diff --git a/nuttx/mm/mm_mallinfo.c b/nuttx/mm/mm_mallinfo.c
index e89408f36..6f00a8f03 100644
--- a/nuttx/mm/mm_mallinfo.c
+++ b/nuttx/mm/mm_mallinfo.c
@@ -58,6 +58,10 @@
****************************************************************************/
/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/****************************************************************************
* Name: mm_mallinfo
*
* Description:
@@ -65,9 +69,6 @@
*
****************************************************************************/
-#ifndef CONFIG_MM_MULTIHEAP
-static inline
-#endif
int mm_mallinfo(FAR struct mm_heap_s *heap, FAR struct mallinfo *info)
{
struct mm_allocnode_s *node;
@@ -137,37 +138,3 @@ int mm_mallinfo(FAR struct mm_heap_s *heap, FAR struct mallinfo *info)
info->fordblks = fordblks;
return OK;
}
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: kmallinfo and mallinfo
- *
- * Description:
- * mallinfo returns a copy of updated current heap information for either
- * the user heap (mallinfo) or the kernel heap (kmallinfo).
- *
- ****************************************************************************/
-
-#ifdef CONFIG_MM_USER_HEAP
-# ifdef CONFIG_CAN_PASS_STRUCTS
-
-struct mallinfo mallinfo(void)
-{
- struct mallinfo info;
-
- mm_mallinfo(&g_mmheap, &info);
- return info;
-}
-
-# else
-
-int mallinfo(struct mallinfo *info)
-{
- return mm_mallinfo(&g_mmheap, info);
-}
-
-#endif
-#endif /* CONFIG_MM_USER_HEAP */
diff --git a/nuttx/mm/mm_malloc.c b/nuttx/mm/mm_malloc.c
index 2566e1511..47237f99f 100644
--- a/nuttx/mm/mm_malloc.c
+++ b/nuttx/mm/mm_malloc.c
@@ -39,7 +39,6 @@
#include <nuttx/config.h>
-#include <stdlib.h>
#include <assert.h>
#include <debug.h>
@@ -70,6 +69,10 @@
****************************************************************************/
/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/****************************************************************************
* Name: mm_malloc
*
* Description:
@@ -80,9 +83,6 @@
*
****************************************************************************/
-#ifndef CONFIG_MM_MULTIHEAP
-static inline
-#endif
FAR void *mm_malloc(FAR struct mm_heap_s *heap, size_t size)
{
FAR struct mm_freenode_s *node;
@@ -212,26 +212,3 @@ FAR void *mm_malloc(FAR struct mm_heap_s *heap, size_t size)
return ret;
}
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: malloc
- *
- * Description:
- * Find the smallest chunk that satisfies the request. Take the memory from
- * that chunk, save the remaining, smaller chunk (if any).
- *
- * 8-byte alignment of the allocated data is assured.
- *
- ****************************************************************************/
-
-#ifdef CONFIG_MM_USER_HEAP
-FAR void *malloc(size_t size)
-{
- return mm_malloc(&g_mmheap, size);
-}
-#endif
-
diff --git a/nuttx/mm/mm_memalign.c b/nuttx/mm/mm_memalign.c
index 6846350b4..a45d7ffe4 100644
--- a/nuttx/mm/mm_memalign.c
+++ b/nuttx/mm/mm_memalign.c
@@ -39,7 +39,6 @@
#include <nuttx/config.h>
-#include <stdlib.h>
#include <assert.h>
#include <nuttx/mm.h>
@@ -47,22 +46,16 @@
/****************************************************************************
* Pre-processor Definitions
****************************************************************************/
-/* If multiple heaps are used, then the heap must be passed as a parameter to
- * mm_malloc(). In the single heap case, mm_malloc() is not available and
- * we have to use malloc() (which, internally, will use the same heap).
- */
-
-#ifdef CONFIG_MM_MULTIHEAP
-# define MM_MALLOC(h,s) mm_malloc(h,s)
-#else
-# define MM_MALLOC(h,s) malloc(s)
-#endif
/****************************************************************************
* Private Functions
****************************************************************************/
/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/****************************************************************************
* Name: mm_memalign
*
* Description:
@@ -75,9 +68,6 @@
*
****************************************************************************/
-#ifndef CONFIG_MM_MULTIHEAP
-static inline
-#endif
FAR void *mm_memalign(FAR struct mm_heap_s *heap, size_t alignment,
size_t size)
{
@@ -87,13 +77,13 @@ FAR void *mm_memalign(FAR struct mm_heap_s *heap, size_t alignment,
size_t mask = (size_t)(alignment - 1);
size_t allocsize;
- /* If this requested alignement less than or equal to the natural alignment
+ /* If this requested alinement's less than or equal to the natural alignment
* of malloc, then just let malloc do the work.
*/
if (alignment <= MM_MIN_CHUNK)
{
- return MM_MALLOC(heap, size);
+ return mm_malloc(heap, size);
}
/* Adjust the size to account for (1) the size of the allocated node, (2)
@@ -113,7 +103,7 @@ FAR void *mm_memalign(FAR struct mm_heap_s *heap, size_t alignment,
/* Then malloc that size */
- rawchunk = (size_t)MM_MALLOC(heap, allocsize);
+ rawchunk = (size_t)mm_malloc(heap, allocsize);
if (rawchunk == 0)
{
return NULL;
@@ -222,27 +212,3 @@ FAR void *mm_memalign(FAR struct mm_heap_s *heap, size_t alignment,
mm_givesemaphore(heap);
return (FAR void*)alignedchunk;
}
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: memalign
- *
- * Description:
- * memalign requests more than enough space from malloc, finds a region
- * within that chunk that meets the alignment request and then frees any
- * leading or trailing space.
- *
- * The alignment argument must be a power of two (not checked). 8-byte
- * alignment is guaranteed by normal malloc calls.
- *
- ****************************************************************************/
-
-#ifdef CONFIG_MM_USER_HEAP
-FAR void *memalign(size_t alignment, size_t size)
-{
- return mm_memalign(&g_mmheap, alignment, size);
-}
-#endif
diff --git a/nuttx/mm/mm_realloc.c b/nuttx/mm/mm_realloc.c
index 658ea1df1..c85e12766 100644
--- a/nuttx/mm/mm_realloc.c
+++ b/nuttx/mm/mm_realloc.c
@@ -49,25 +49,16 @@
/****************************************************************************
* Pre-processor Definitions
****************************************************************************/
-/* If multiple heaps are used, then the heap must be passed as a parameter to
- * mm_malloc() and mm_free(). In the single heap case, mm_malloc() and
- * mm_free() are not available and we have to use malloc() and free() (which,
- * internally, will use the same heap).
- */
-
-#ifdef CONFIG_MM_MULTIHEAP
-# define MM_MALLOC(h,s) mm_malloc(h,s)
-# define MM_FREE(h,m) mm_free(h,m)
-#else
-# define MM_MALLOC(h,s) malloc(s)
-# define MM_FREE(h,m) free(m)
-#endif
/****************************************************************************
* Private Functions
****************************************************************************/
/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/****************************************************************************
* Name: mm_realloc
*
* Description:
@@ -90,9 +81,6 @@
*
****************************************************************************/
-#ifndef CONFIG_MM_MULTIHEAP
-static inline
-#endif
FAR void *mm_realloc(FAR struct mm_heap_s *heap, FAR void *oldmem,
size_t size)
{
@@ -108,14 +96,14 @@ FAR void *mm_realloc(FAR struct mm_heap_s *heap, FAR void *oldmem,
if (!oldmem)
{
- return MM_MALLOC(heap, size);
+ return mm_malloc(heap, size);
}
/* If size is zero, then realloc is equivalent to free */
if (size <= 0)
{
- MM_FREE(heap, oldmem);
+ mm_free(heap, oldmem);
return NULL;
}
@@ -361,47 +349,13 @@ FAR void *mm_realloc(FAR struct mm_heap_s *heap, FAR void *oldmem,
*/
mm_givesemaphore(heap);
- newmem = (FAR void*)MM_MALLOC(heap, size);
+ newmem = (FAR void*)mm_malloc(heap, size);
if (newmem)
{
memcpy(newmem, oldmem, oldsize);
- MM_FREE(heap, oldmem);
+ mm_free(heap, oldmem);
}
return newmem;
}
}
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: realloc
- *
- * Description:
- * If the reallocation is for less space, then:
- *
- * (1) the current allocation is reduced in size
- * (2) the remainder at the end of the allocation is returned to the
- * free list.
- *
- * If the request is for more space and the current allocation can be
- * extended, it will be extended by:
- *
- * (1) Taking the additional space from the following free chunk, or
- * (2) Taking the additional space from the preceding free chunk.
- * (3) Or both
- *
- * If the request is for more space but the current chunk cannot be
- * extended, then malloc a new buffer, copy the data into the new buffer,
- * and free the old buffer.
- *
- ****************************************************************************/
-
-#ifdef CONFIG_MM_USER_HEAP
-FAR void *realloc(FAR void *oldmem, size_t size)
-{
- return mm_realloc(&g_mmheap, oldmem, size);
-}
-#endif
diff --git a/nuttx/mm/mm_zalloc.c b/nuttx/mm/mm_zalloc.c
index 805fab82d..c665adc04 100644
--- a/nuttx/mm/mm_zalloc.c
+++ b/nuttx/mm/mm_zalloc.c
@@ -39,7 +39,6 @@
#include <nuttx/config.h>
-#include <stdlib.h>
#include <string.h>
#include <nuttx/mm.h>
@@ -60,7 +59,6 @@
*
****************************************************************************/
-#ifdef CONFIG_MM_MULTIHEAP
FAR void *mm_zalloc(FAR struct mm_heap_s *heap, size_t size)
{
FAR void *alloc = mm_malloc(heap, size);
@@ -71,29 +69,3 @@ FAR void *mm_zalloc(FAR struct mm_heap_s *heap, size_t size)
return alloc;
}
-#endif
-
-/****************************************************************************
- * Name: zalloc
- *
- * Description:
- * zalloc calls malloc, then zeroes out the allocated chunk.
- *
- ****************************************************************************/
-
-#ifdef CONFIG_MM_USER_HEAP
-FAR void *zalloc(size_t size)
-{
-#ifdef CONFIG_MM_MULTIHEAP
- return mm_zalloc(&g_mmheap, size);
-#else
- FAR void *alloc = malloc(size);
- if (alloc)
- {
- memset(alloc, 0, size);
- }
-
- return alloc;
-#endif
-}
-#endif
diff --git a/nuttx/mm/umm_calloc.c b/nuttx/mm/umm_calloc.c
new file mode 100644
index 000000000..fd3ac60f2
--- /dev/null
+++ b/nuttx/mm/umm_calloc.c
@@ -0,0 +1,69 @@
+/****************************************************************************
+ * mm/umm_calloc.c
+ *
+ * Copyright (C) 2007, 2009, 2014 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <gnutt@nuttx.org>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ * 3. Neither the name NuttX nor the names of its contributors may be
+ * used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <stdlib.h>
+
+#include <nuttx/mm.h>
+
+#ifdef CONFIG_MM_USER_HEAP
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Name: calloc
+ *
+ * Description:
+ * calloc is a thin wrapper for mm_calloc()
+ *
+ ****************************************************************************/
+
+FAR void *calloc(size_t n, size_t elem_size)
+{
+ return mm_calloc(&g_mmheap, n, elem_size);
+}
+
+#endif /* CONFIG_MM_USER_HEAP */
diff --git a/nuttx/mm/umm_free.c b/nuttx/mm/umm_free.c
new file mode 100644
index 000000000..366bf4560
--- /dev/null
+++ b/nuttx/mm/umm_free.c
@@ -0,0 +1,74 @@
+/****************************************************************************
+ * mm/umm_free.c
+ *
+ * Copyright (C) 2007, 2009, 2013-2014 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <gnutt@nuttx.org>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ * 3. Neither the name NuttX nor the names of its contributors may be
+ * used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <stdlib.h>
+
+#include <nuttx/mm.h>
+
+#ifdef CONFIG_MM_USER_HEAP
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Private Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Name: free
+ *
+ * Description:
+ * Returns a chunk of user memory to the list of free nodes, merging with
+ * adjacent free chunks if possible.
+ *
+ ****************************************************************************/
+
+void free(FAR void *mem)
+{
+ mm_free(&g_mmheap, mem);
+}
+
+#endif /* CONFIG_MM_USER_HEAP */
diff --git a/nuttx/mm/umm_mallinfo.c b/nuttx/mm/umm_mallinfo.c
new file mode 100644
index 000000000..9ef03aec7
--- /dev/null
+++ b/nuttx/mm/umm_mallinfo.c
@@ -0,0 +1,90 @@
+/****************************************************************************
+ * mm/umm_mallinfo.c
+ *
+ * Copyright (C) 2007, 2009, 2013-2014 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <gnutt@nuttx.org>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ * 3. Neither the name NuttX nor the names of its contributors may be
+ * used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <stdlib.h>
+
+#include <nuttx/mm.h>
+
+#ifdef CONFIG_MM_USER_HEAP
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Private Data
+ ****************************************************************************/
+
+/****************************************************************************
+ * Private Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Name: mallinfo
+ *
+ * Description:
+ * mallinfo returns a copy of updated current heap information for the
+ * user heap.
+ *
+ ****************************************************************************/
+
+#ifdef CONFIG_CAN_PASS_STRUCTS
+
+struct mallinfo mallinfo(void)
+{
+ struct mallinfo info;
+ mm_mallinfo(&g_mmheap, &info);
+ return info;
+}
+
+#else
+
+int mallinfo(struct mallinfo *info)
+{
+ return mm_mallinfo(&g_mmheap, info);
+}
+
+#endif /* CONFIG_CAN_PASS_STRUCTS */
+#endif /* CONFIG_MM_USER_HEAP */
diff --git a/nuttx/mm/umm_malloc.c b/nuttx/mm/umm_malloc.c
new file mode 100644
index 000000000..6d08fbc29
--- /dev/null
+++ b/nuttx/mm/umm_malloc.c
@@ -0,0 +1,91 @@
+/****************************************************************************
+ * mm/umm_malloc.c
+ *
+ * Copyright (C) 2007, 2009, 2013-2014 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <gnutt@nuttx.org>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ * 3. Neither the name NuttX nor the names of its contributors may be
+ * used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <stdlib.h>
+
+#include <nuttx/mm.h>
+
+#ifdef CONFIG_MM_USER_HEAP
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Type Definitions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Private Data
+ ****************************************************************************/
+
+/****************************************************************************
+ * Public Data
+ ****************************************************************************/
+
+/****************************************************************************
+ * Private Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/************************************************************************
+ * Name: malloc
+ *
+ * Description:
+ * Allocate memory from the user heap.
+ *
+ * Parameters:
+ * size - Size (in bytes) of the memory region to be allocated.
+ *
+ * Return Value:
+ * The address of the allocated memory (NULL on failure to allocate)
+ *
+ ************************************************************************/
+
+FAR void *malloc(size_t size)
+{
+ return mm_malloc(&g_mmheap, size);
+}
+
+#endif /* CONFIG_MM_USER_HEAP */
diff --git a/nuttx/mm/umm_memalign.c b/nuttx/mm/umm_memalign.c
new file mode 100644
index 000000000..429b81f89
--- /dev/null
+++ b/nuttx/mm/umm_memalign.c
@@ -0,0 +1,78 @@
+/****************************************************************************
+ * mm/umm_memalign.c
+ *
+ * Copyright (C) 2007, 2009, 2011, 2013-2014 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <gnutt@nuttx.org>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ * 3. Neither the name NuttX nor the names of its contributors may be
+ * used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <stdlib.h>
+
+#include <nuttx/mm.h>
+
+#ifdef CONFIG_MM_USER_HEAP
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Private Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Name: memalign
+ *
+ * Description:
+ * memalign requests more than enough space from malloc, finds a region
+ * within that chunk that meets the alignment request and then frees any
+ * leading or trailing space.
+ *
+ * The alignment argument must be a power of two (not checked). 8-byte
+ * alignment is guaranteed by normal malloc calls.
+ *
+ ****************************************************************************/
+
+FAR void *memalign(size_t alignment, size_t size)
+{
+ return mm_memalign(&g_mmheap, alignment, size);
+}
+
+#endif /* CONFIG_MM_USER_HEAP */
diff --git a/nuttx/mm/umm_realloc.c b/nuttx/mm/umm_realloc.c
new file mode 100644
index 000000000..4f5391938
--- /dev/null
+++ b/nuttx/mm/umm_realloc.c
@@ -0,0 +1,80 @@
+/****************************************************************************
+ * mm/mm_realloc.c
+ *
+ * Copyright (C) 2007, 2009, 2013-2014 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <gnutt@nuttx.org>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ * 3. Neither the name NuttX nor the names of its contributors may be
+ * used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <stdlib.h>
+
+#include <nuttx/mm.h>
+
+#ifdef CONFIG_MM_USER_HEAP
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Private Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Name: krealloc
+ *
+ * Description:
+ * Re-allocate memory in the user heap.
+ *
+ * Parameters:
+ * oldmem - The old memory allocated
+ * newsize - Size (in bytes) of the new memory region to be re-allocated.
+ *
+ * Return Value:
+ * The address of the re-allocated memory (NULL on failure to re-allocate)
+ *
+ ****************************************************************************/
+
+FAR void *realloc(FAR void *oldmem, size_t size)
+{
+ return mm_realloc(&g_mmheap, oldmem, size);
+}
+
+#endif /* CONFIG_MM_USER_HEAP */
diff --git a/nuttx/mm/umm_zalloc.c b/nuttx/mm/umm_zalloc.c
new file mode 100644
index 000000000..84da8c37b
--- /dev/null
+++ b/nuttx/mm/umm_zalloc.c
@@ -0,0 +1,75 @@
+/****************************************************************************
+ * mm/mm_zalloc.c
+ *
+ * Copyright (C) 2007, 2009, 2014 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <gnutt@nuttx.org>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ * 3. Neither the name NuttX nor the names of its contributors may be
+ * used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <stdlib.h>
+
+#include <nuttx/mm.h>
+
+#ifdef CONFIG_MM_USER_HEAP
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/************************************************************************
+ * Name: kzalloc
+ *
+ * Description:
+ * Allocate and zero memory from the user heap.
+ *
+ * Parameters:
+ * size - Size (in bytes) of the memory region to be allocated.
+ *
+ * Return Value:
+ * The address of the allocated memory (NULL on failure to allocate)
+ *
+ ************************************************************************/
+
+FAR void *zalloc(size_t size)
+{
+ return mm_zalloc(&g_mmheap, size);
+}
+
+#endif /* CONFIG_MM_USER_HEAP */