diff --git a/Documentation/NuttxPortingGuide.html b/Documentation/NuttxPortingGuide.html
index 1d790ee25db062bdada7dc03a678cc41dcdd4052..e4e9fea33ed2420c461e8fdcb2b09cbb47abd2ae 100644
--- a/Documentation/NuttxPortingGuide.html
+++ b/Documentation/NuttxPortingGuide.html
@@ -12,7 +12,7 @@
       <h1><big><font color="#3c34ec">
         <i>NuttX RTOS Porting Guide</i>
       </font></big></h1>
-      <p>Last Updated: March 13, 2009</p>
+      <p>Last Updated: April 8, 2009</p>
     </td>
   </tr>
 </table>
@@ -2061,8 +2061,12 @@ The system can be re-made subsequently by just typing <code>make</code>.
 
 <ul>
   <li>
-    <code>CONFIG_BOOT_FROM_FLASH</code>: Some configurations support XIP
-    operation from FLASH.
+    <code>CONFIG_BOOT_RUNFROMFLASH</code>: Some configurations support XIP
+    operation from FLASH but must copy initialized .data sections to RAM.
+  </li>
+  <li>
+    <code>CONFIG_BOOT_COPYTORAM</code>: Some configurations boot in FLASH
+    but copy themselves entirely into RAM for better performance.
   </li>
   <li>
     <code>CONFIG_STACK_POINTER</code>: The initial stack pointer
diff --git a/arch/arm/src/Makefile b/arch/arm/src/Makefile
index 098b69ed1a3c12674dc57efc2d35b9c6c444a6cf..a320cdb3196a3509ba0d7b71082f7ee213138f4f 100644
--- a/arch/arm/src/Makefile
+++ b/arch/arm/src/Makefile
@@ -83,7 +83,7 @@ nuttx: $(HEAD_AOBJ) board/libboard$(LIBEXT)
 	@echo "LD: nuttx"
 	@$(LD) --entry=__start $(LDFLAGS) $(LDPATHES) -L$(BOARDDIR) -o $(TOPDIR)/$@ $(HEAD_AOBJ) \
 		--start-group $(LDLIBS) -lboard --end-group $(EXTRA_LIBS) $(LIBGCC)
-ifeq ($(CONFIG_BOOT_FROM_FLASH),y)
+ifeq ($(CONFIG_BOOT_RUNFROMFLASH),y)
 	@export flashloc=`$(OBJDUMP) --all-headers $(TOPDIR)/$@ | grep _eronly | cut -d' ' -f1`;  \
 	$(OBJCOPY) --adjust-section-vma=.data=0x$$flashloc $(TOPDIR)/$@ $(TOPDIR)/$@.flashimage
 	@mv $(TOPDIR)/$@.flashimage $(TOPDIR)/$@
diff --git a/arch/arm/src/common/up_nommuhead.S b/arch/arm/src/common/up_nommuhead.S
index 953a8ffc222d78941d7d572243f78792b54281b7..36638c6ae0aff444e179027ad65feef060f38058 100644
--- a/arch/arm/src/common/up_nommuhead.S
+++ b/arch/arm/src/common/up_nommuhead.S
@@ -93,7 +93,7 @@ __start:
 
 	/* Copy system .data sections to new home in RAM. */
 
-#ifdef CONFIG_BOOT_FROM_FLASH
+#ifdef CONFIG_BOOT_RUNFROMFLASH
 
 	adr	r3, LC2
 	ldmia	r3, {r0, r1, r2}
@@ -141,7 +141,7 @@ LC0:	.long	_sbss
 	.long	_ebss
 	.long	_ebss+CONFIG_IDLETHREAD_STACKSIZE-4
 
-#ifdef CONFIG_BOOT_FROM_FLASH
+#ifdef CONFIG_BOOT_RUNFROMFLASH
 LC2:	.long	_eronly	/* Where .data defaults are stored in FLASH */
 	.long	_sdata	/* Where .data needs to reside in SDRAM */
 	.long	_edata
diff --git a/arch/arm/src/lpc214x/lpc214x_head.S b/arch/arm/src/lpc214x/lpc214x_head.S
index 140f33e74c20e58ea2e71a677edec1956d5cc28a..b1fd603f70b29fd79f1a9091210c4c0592dffe7a 100644
--- a/arch/arm/src/lpc214x/lpc214x_head.S
+++ b/arch/arm/src/lpc214x/lpc214x_head.S
@@ -557,7 +557,7 @@ __start:
 
 	/* Copy system .data sections to new home in RAM. */
 
-#ifdef CONFIG_BOOT_FROM_FLASH
+#ifdef CONFIG_BOOT_RUNFROMFLASH
 
 	adr	r3, LC2
 	ldmia	r3, {r0, r1, r2}
@@ -601,7 +601,7 @@ LC0:	.long	_sbss
 	.long	_ebss
 	.long	_ebss+CONFIG_IDLETHREAD_STACKSIZE-4
 
-#ifdef CONFIG_BOOT_FROM_FLASH
+#ifdef CONFIG_BOOT_RUNFROMFLASH
 LC2:	.long	_eronly	/* Where .data defaults are stored in FLASH */
 	.long	_sdata	/* Where .data needs to reside in SDRAM */
 	.long	_edata
diff --git a/arch/arm/src/str71x/str71x_head.S b/arch/arm/src/str71x/str71x_head.S
index 72c08abcf08d0237eadbaa1cdb845af26f445545..22164f198f3ed6e971651b306e799f8eedaf5458 100644
--- a/arch/arm/src/str71x/str71x_head.S
+++ b/arch/arm/src/str71x/str71x_head.S
@@ -1,7 +1,7 @@
 /*****************************************************************************
  * arch/arm/src/str71x/str71x_head.S
  *
- *   Copyright (C) 2008 Gregory Nutt. All rights reserved.
+ *   Copyright (C) 2008-2009 Gregory Nutt. All rights reserved.
  *   Author: Gregory Nutt <spudmonkey@racsa.co.cr>
  *
  * Redistribution and use in source and binary forms, with or without
@@ -510,7 +510,7 @@ __flashstart:
 
 	/* Copy system .data sections to new home in RAM. */
 
-#ifdef CONFIG_BOOT_FROM_FLASH
+#ifdef CONFIG_BOOT_RUNFROMFLASH
 
 	adr	r3, LC2
 	ldmia	r3, {r0, r1, r2}
@@ -601,7 +601,7 @@ LC0:	.long	_sbss
 	.long	_ebss
 	.long	_ebss+CONFIG_IDLETHREAD_STACKSIZE-4
 
-#ifdef CONFIG_BOOT_FROM_FLASH
+#ifdef CONFIG_BOOT_RUNFROMFLASH
 LC2:	.long	_eronly	/* Where .data defaults are stored in FLASH */
 	.long	_sdata	/* Where .data needs to reside in SDRAM */
 	.long	_edata
diff --git a/arch/sh/src/Makefile b/arch/sh/src/Makefile
index d0aca52fe0091c90ebfa5b8d400a677c83f2778f..5c1e91a62dc7051d6f9a127d6eb2de1ec92bf196 100644
--- a/arch/sh/src/Makefile
+++ b/arch/sh/src/Makefile
@@ -83,7 +83,7 @@ nuttx: $(HEAD_AOBJ) board/libboard$(LIBEXT)
 	@echo "LD: nuttx"
 	@$(LD) --entry=__start $(LDFLAGS) $(LDPATHES) -L$(BOARDDIR) -o $(TOPDIR)/$@ $(HEAD_AOBJ) \
 		--start-group $(LDLIBS) -lboard --end-group $(EXTRA_LIBS) $(LIBGCC)
-ifeq ($(CONFIG_BOOT_FROM_FLASH),y)
+ifeq ($(CONFIG_BOOT_RUNFROMFLASH),y)
 	@export flashloc=`$(OBJDUMP) --all-headers $(TOPDIR)/$@ | grep _eronly | cut -d' ' -f1`;  \
 	$(OBJCOPY) --adjust-section-vma=.data=0x$$flashloc $(TOPDIR)/$@ $(TOPDIR)/$@.flashimage
 	@mv $(TOPDIR)/$@.flashimage $(TOPDIR)/$@
diff --git a/arch/sh/src/sh1/sh1_head.S b/arch/sh/src/sh1/sh1_head.S
index 441cfdd80ae08d63044cc823a2ad7bed7b5db3f8..15a82fcda3bf00a4d3647ed60cb34ea728c3800e 100644
--- a/arch/sh/src/sh1/sh1_head.S
+++ b/arch/sh/src/sh1/sh1_head.S
@@ -1,7 +1,7 @@
 /*****************************************************************************
  * arch/sh/src/sh1/sh1_head.S
  *
- *   Copyright (C) 2008 Gregory Nutt. All rights reserved.
+ *   Copyright (C) 2008-2009 Gregory Nutt. All rights reserved.
  *   Author: Gregory Nutt <spudmonkey@racsa.co.cr>
  *
  * Redistribution and use in source and binary forms, with or without
@@ -78,7 +78,7 @@
 	.globl	_ebss			/* End of BSS */
 	.globl	_svect			/* Start of the new vector location */
 
-#ifdef CONFIG_BOOT_FROM_FLASH
+#ifdef CONFIG_BOOT_RUNFROMFLASH
 	.globl	_eronly			/* Where .data defaults are stored in FLASH */
 	.global	_sdata			/* Start of .data in RAM */
 	.globl	_edata			/* End of .data in RAM */
@@ -388,7 +388,7 @@ __start0:
 
 	/* Initialize data segement */
 
-#ifdef CONFIG_BOOT_FROM_FLASH
+#ifdef CONFIG_BOOT_RUNFROMFLASH
 	mov.l	.Lsdata, r0		/* R0: Start of .data segment */
 	mov.l	.Ledata, r1		/* R1: End+1 of .data segment */
 	mov.l	.Leronly, r2		/* R2: Start of FLASH .data segment copy */
@@ -469,7 +469,7 @@ __start0:
 	nop
 
 	.align 2
-#ifdef CONFIG_BOOT_FROM_FLASH
+#ifdef CONFIG_BOOT_RUNFROMFLASH
 .Leronly:
 	.long   _eronly
 .Lsdata:
diff --git a/configs/README.txt b/configs/README.txt
index f6f12d4e42332687a7be67441f6211ed0e74fc5f..c7249039db49b20bfdf306947a7408ec4fcea47e 100644
--- a/configs/README.txt
+++ b/configs/README.txt
@@ -440,8 +440,10 @@ defconfig -- This is a configuration file similar to the Linux
 
 	Stack and heap information
 
-		CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-		  operation from FLASH.
+		CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+		  operation from FLASH but must copy initialized .data sections to RAM.
+		CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+		  but copy themselves entirely into RAM for better performance.
 		CONFIG_STACK_POINTER - The initial stack pointer
 		CONFIG_IDLETHREAD_STACKSIZE - The size of the initial stack.
 		  This is the thread that (1) performs the inital boot of the system up
diff --git a/configs/c5471evm/defconfig b/configs/c5471evm/defconfig
index e954025ce6dc6ad127a57cb0458f3ebfdf493109..5cf56d0cc7033119a6499285b8aa0cc777fe3b2b 100644
--- a/configs/c5471evm/defconfig
+++ b/configs/c5471evm/defconfig
@@ -387,8 +387,10 @@ CONFIG_EXAMPLE_WGET_NETMASK=(255L<<24|255L<<16|255L<<8|0L)
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer (arm7tdmi only)
@@ -404,7 +406,8 @@ CONFIG_EXAMPLE_WGET_NETMASK=(255L<<24|255L<<16|255L<<8|0L)
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_STACK_POINTER=
 CONFIG_IDLETHREAD_STACKSIZE=4096
diff --git a/configs/c5471evm/dhcpconfig b/configs/c5471evm/dhcpconfig
index f07d76589cda5171ef82285d575b98d943138741..7ffaeb22414579d54982bbba9b3619dab0c2a1f1 100644
--- a/configs/c5471evm/dhcpconfig
+++ b/configs/c5471evm/dhcpconfig
@@ -387,8 +387,10 @@ CONFIG_EXAMPLE_WGET_NETMASK=(255L<<24|255L<<16|255L<<8|0L)
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer (arm7tdmi only)
@@ -404,7 +406,8 @@ CONFIG_EXAMPLE_WGET_NETMASK=(255L<<24|255L<<16|255L<<8|0L)
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_STACK_POINTER=
 CONFIG_IDLETHREAD_STACKSIZE=4096
diff --git a/configs/c5471evm/netconfig b/configs/c5471evm/netconfig
index 1847c76d0c6aa6d6e4c3dadab1b57b79c22474dd..4f61659d319a697eb052418a6bae968d4c092132 100644
--- a/configs/c5471evm/netconfig
+++ b/configs/c5471evm/netconfig
@@ -387,8 +387,10 @@ CONFIG_EXAMPLE_WGET_NETMASK=(255L<<24|255L<<16|255L<<8|0L)
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer (arm7tdmi only)
@@ -404,7 +406,8 @@ CONFIG_EXAMPLE_WGET_NETMASK=(255L<<24|255L<<16|255L<<8|0L)
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_STACK_POINTER=
 CONFIG_IDLETHREAD_STACKSIZE=4096
diff --git a/configs/c5471evm/nshconfig b/configs/c5471evm/nshconfig
index 95ef789cceffc4eb6edad8bc89ede2fcf5e32ba8..ae00518f44bd33eb189237e76425085633539b94 100644
--- a/configs/c5471evm/nshconfig
+++ b/configs/c5471evm/nshconfig
@@ -387,8 +387,10 @@ CONFIG_EXAMPLE_WGET_NETMASK=(255L<<24|255L<<16|255L<<8|0L)
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer (arm7tdmi only)
@@ -404,7 +406,8 @@ CONFIG_EXAMPLE_WGET_NETMASK=(255L<<24|255L<<16|255L<<8|0L)
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_STACK_POINTER=
 CONFIG_IDLETHREAD_STACKSIZE=4096
diff --git a/configs/ez80f910200kitg/ostest/defconfig b/configs/ez80f910200kitg/ostest/defconfig
index bdf220cd4fe1a7d5973a6576b73b201ecf2bc821..876fbd65ceffcd580c01782a846834f85fe2cb76 100644
--- a/configs/ez80f910200kitg/ostest/defconfig
+++ b/configs/ez80f910200kitg/ostest/defconfig
@@ -727,8 +727,10 @@ CONFIG_EXAMPLE_WGET_NETMASK=(255L<<24|255L<<16|255L<<8|0L)
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer
@@ -744,7 +746,8 @@ CONFIG_EXAMPLE_WGET_NETMASK=(255L<<24|255L<<16|255L<<8|0L)
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_STACK_POINTER=
 CONFIG_IDLETHREAD_STACKSIZE=1024
diff --git a/configs/ez80f910200zco/dhcpd/defconfig b/configs/ez80f910200zco/dhcpd/defconfig
index eebc3b89195d47e144cdf2c6d03de4bfb5f87564..499d5f9d4122767f50ae178e15d03fffd965db67 100644
--- a/configs/ez80f910200zco/dhcpd/defconfig
+++ b/configs/ez80f910200zco/dhcpd/defconfig
@@ -775,8 +775,10 @@ CONFIG_EXAMPLE_WGET_NETMASK=(255L<<24|255L<<16|255L<<8|0L)
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer
@@ -792,7 +794,8 @@ CONFIG_EXAMPLE_WGET_NETMASK=(255L<<24|255L<<16|255L<<8|0L)
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_STACK_POINTER=
 CONFIG_IDLETHREAD_STACKSIZE=1024
diff --git a/configs/ez80f910200zco/httpd/defconfig b/configs/ez80f910200zco/httpd/defconfig
index 3f1ab07b0f1d50248db1ae05cb2b740e64263606..413d9073171b0551cc28890e249e8d74164a3365 100644
--- a/configs/ez80f910200zco/httpd/defconfig
+++ b/configs/ez80f910200zco/httpd/defconfig
@@ -783,8 +783,10 @@ CONFIG_EXAMPLE_WGET_NETMASK=(255L<<24|255L<<16|255L<<8|0L)
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer
@@ -800,7 +802,8 @@ CONFIG_EXAMPLE_WGET_NETMASK=(255L<<24|255L<<16|255L<<8|0L)
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_STACK_POINTER=
 CONFIG_IDLETHREAD_STACKSIZE=1024
diff --git a/configs/ez80f910200zco/nettest/defconfig b/configs/ez80f910200zco/nettest/defconfig
index aec18796c71a05e005d1d00a9d5060cc2b8b3e0c..d0d5af04b055bf75e6a6c4615722420cd42df8dc 100644
--- a/configs/ez80f910200zco/nettest/defconfig
+++ b/configs/ez80f910200zco/nettest/defconfig
@@ -768,8 +768,10 @@ CONFIG_EXAMPLE_WGET_NETMASK=(255L<<24|255L<<16|255L<<8|0L)
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer
@@ -785,7 +787,8 @@ CONFIG_EXAMPLE_WGET_NETMASK=(255L<<24|255L<<16|255L<<8|0L)
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_STACK_POINTER=
 CONFIG_IDLETHREAD_STACKSIZE=1024
diff --git a/configs/ez80f910200zco/nsh/defconfig b/configs/ez80f910200zco/nsh/defconfig
index 1edcddbb4b85ebb989c7bbc6dc3ce99f26b51d8c..754d3bb8c51ce417dfdd7c75065d5d2a7cec4eb7 100644
--- a/configs/ez80f910200zco/nsh/defconfig
+++ b/configs/ez80f910200zco/nsh/defconfig
@@ -768,8 +768,10 @@ CONFIG_EXAMPLE_WGET_NETMASK=(255L<<24|255L<<16|255L<<8|0L)
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer
@@ -785,7 +787,8 @@ CONFIG_EXAMPLE_WGET_NETMASK=(255L<<24|255L<<16|255L<<8|0L)
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_STACK_POINTER=
 CONFIG_IDLETHREAD_STACKSIZE=1024
diff --git a/configs/ez80f910200zco/ostest/defconfig b/configs/ez80f910200zco/ostest/defconfig
index 3902fa7957bf62090767fc86193cfb2e4a066b1c..7d2d2455cf560800397d708670e9a5f52a75183d 100644
--- a/configs/ez80f910200zco/ostest/defconfig
+++ b/configs/ez80f910200zco/ostest/defconfig
@@ -751,8 +751,10 @@ CONFIG_EXAMPLE_WGET_NETMASK=(255L<<24|255L<<16|255L<<8|0L)
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer
@@ -768,7 +770,8 @@ CONFIG_EXAMPLE_WGET_NETMASK=(255L<<24|255L<<16|255L<<8|0L)
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_STACK_POINTER=
 CONFIG_IDLETHREAD_STACKSIZE=1024
diff --git a/configs/ez80f910200zco/poll/defconfig b/configs/ez80f910200zco/poll/defconfig
index 9c32438734f973cfcb510c66266262592008f32c..0997f71c3527340abd20da08194c3e1faec8af9c 100644
--- a/configs/ez80f910200zco/poll/defconfig
+++ b/configs/ez80f910200zco/poll/defconfig
@@ -768,8 +768,10 @@ CONFIG_EXAMPLE_WGET_NETMASK=(255L<<24|255L<<16|255L<<8|0L)
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer
@@ -785,7 +787,8 @@ CONFIG_EXAMPLE_WGET_NETMASK=(255L<<24|255L<<16|255L<<8|0L)
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_STACK_POINTER=
 CONFIG_IDLETHREAD_STACKSIZE=1024
diff --git a/configs/m68332evb/defconfig b/configs/m68332evb/defconfig
index f6b852522b9872fe2fcfc7ab0eb8b453ad4e079c..b5c730aae4973a861a9a17b347e8ff51f49e972b 100644
--- a/configs/m68332evb/defconfig
+++ b/configs/m68332evb/defconfig
@@ -328,8 +328,10 @@ CONFIG_EXAMPLES_NSH_NETMASK=(255<<24|255<<16|255<<8|0)
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_IDLETHREAD_STACKSIZE - The size of the initial stack.
@@ -344,7 +346,8 @@ CONFIG_EXAMPLES_NSH_NETMASK=(255<<24|255<<16|255<<8|0)
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_IDLETHREAD_STACKSIZE=4096
 CONFIG_USERMAIN_STACKSIZE=4096
diff --git a/configs/mcu123-lpc214x/nsh/defconfig b/configs/mcu123-lpc214x/nsh/defconfig
index 77d107b9b4d9cdcc5b14be4e98de658f35add5b7..bf44ee2657bd9877d025c0f7967df3d9a631548f 100644
--- a/configs/mcu123-lpc214x/nsh/defconfig
+++ b/configs/mcu123-lpc214x/nsh/defconfig
@@ -558,8 +558,10 @@ CONFIG_EXAMPLES_NSH_MMCSDMINOR=0
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer (arm7tdmi only)
@@ -575,7 +577,8 @@ CONFIG_EXAMPLES_NSH_MMCSDMINOR=0
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=y
+CONFIG_BOOT_RUNFROMFLASH=y
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_STACK_POINTER=
 CONFIG_IDLETHREAD_STACKSIZE=2048
diff --git a/configs/mcu123-lpc214x/ostest/defconfig b/configs/mcu123-lpc214x/ostest/defconfig
index fd8f71119f865ed7fcab375eb9092ddf3051f7c7..b7a87699c93a918a6f3505d1cedf209683a3e8a7 100644
--- a/configs/mcu123-lpc214x/ostest/defconfig
+++ b/configs/mcu123-lpc214x/ostest/defconfig
@@ -549,8 +549,10 @@ CONFIG_EXAMPLES_NSH_MMCSDMINOR=0
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer (arm7tdmi only)
@@ -566,7 +568,8 @@ CONFIG_EXAMPLES_NSH_MMCSDMINOR=0
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=y
+CONFIG_BOOT_RUNFROMFLASH=y
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_STACK_POINTER=
 CONFIG_IDLETHREAD_STACKSIZE=2048
diff --git a/configs/mcu123-lpc214x/usbserial/defconfig b/configs/mcu123-lpc214x/usbserial/defconfig
index ae5b2a86ebf068ca24a8347fd9772158630ed4d2..8c0396ded58de3942a949b10a4d7ee3923b76c70 100644
--- a/configs/mcu123-lpc214x/usbserial/defconfig
+++ b/configs/mcu123-lpc214x/usbserial/defconfig
@@ -570,8 +570,10 @@ CONFIG_EXAMPLES_USBSERIAL_ONLYBIG=n
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer (arm7tdmi only)
@@ -587,7 +589,8 @@ CONFIG_EXAMPLES_USBSERIAL_ONLYBIG=n
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=y
+CONFIG_BOOT_RUNFROMFLASH=y
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_STACK_POINTER=
 CONFIG_IDLETHREAD_STACKSIZE=2048
diff --git a/configs/mcu123-lpc214x/usbstorage/defconfig b/configs/mcu123-lpc214x/usbstorage/defconfig
index 62935c9f28daaea970ab61907a81ab1321e6f774..71be91b4b54f28b64c423f9d79ad4b7078425b4b 100644
--- a/configs/mcu123-lpc214x/usbstorage/defconfig
+++ b/configs/mcu123-lpc214x/usbstorage/defconfig
@@ -613,8 +613,10 @@ CONFIG_EXAMPLES_USBSTRG_TRACEINTERRUPTS=n
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer (arm7tdmi only)
@@ -630,7 +632,8 @@ CONFIG_EXAMPLES_USBSTRG_TRACEINTERRUPTS=n
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=y
+CONFIG_BOOT_RUNFROMFLASH=y
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_STACK_POINTER=
 CONFIG_IDLETHREAD_STACKSIZE=2048
diff --git a/configs/ntosd-dm320/nettest/defconfig b/configs/ntosd-dm320/nettest/defconfig
index 080a4f1448f0a71f175d589dcb5e8cb4a969d662..200e378dcac7be1c9a7b29c4c915448926b7fdb8 100644
--- a/configs/ntosd-dm320/nettest/defconfig
+++ b/configs/ntosd-dm320/nettest/defconfig
@@ -487,8 +487,10 @@ CONFIG_DM9X_ETRANS=n
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer (arm7tdmi only)
@@ -504,7 +506,8 @@ CONFIG_DM9X_ETRANS=n
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_STACK_POINTER=
 CONFIG_IDLETHREAD_STACKSIZE=4096
diff --git a/configs/ntosd-dm320/nsh/defconfig b/configs/ntosd-dm320/nsh/defconfig
index 1bb95f2c6e67dac4d18d7cad7fadf921198c3a9e..676e8e387bcab5bba1a37450ee2201a630498b27 100644
--- a/configs/ntosd-dm320/nsh/defconfig
+++ b/configs/ntosd-dm320/nsh/defconfig
@@ -549,8 +549,10 @@ CONFIG_DM9X_ETRANS=n
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer (arm7tdmi only)
@@ -566,7 +568,8 @@ CONFIG_DM9X_ETRANS=n
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_STACK_POINTER=
 CONFIG_IDLETHREAD_STACKSIZE=4096
diff --git a/configs/ntosd-dm320/ostest/defconfig b/configs/ntosd-dm320/ostest/defconfig
index cc064c03fb5e55b125897950e1cc5af4b0279cb0..4f83616a53ead25287353c8bdd883741df17c86b 100644
--- a/configs/ntosd-dm320/ostest/defconfig
+++ b/configs/ntosd-dm320/ostest/defconfig
@@ -479,8 +479,10 @@ CONFIG_DM9X_ETRANS=n
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer (arm7tdmi only)
@@ -496,7 +498,8 @@ CONFIG_DM9X_ETRANS=n
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_STACK_POINTER=
 CONFIG_IDLETHREAD_STACKSIZE=4096
diff --git a/configs/ntosd-dm320/poll/defconfig b/configs/ntosd-dm320/poll/defconfig
index 50ef31ff78993c06b4575c3a71d0328e47d486fa..6760713876c9a81be8597e3d0debc59236d43853 100644
--- a/configs/ntosd-dm320/poll/defconfig
+++ b/configs/ntosd-dm320/poll/defconfig
@@ -494,8 +494,10 @@ CONFIG_DM9X_ETRANS=n
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer (arm7tdmi only)
@@ -511,7 +513,8 @@ CONFIG_DM9X_ETRANS=n
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_STACK_POINTER=
 CONFIG_IDLETHREAD_STACKSIZE=4096
diff --git a/configs/ntosd-dm320/udp/defconfig b/configs/ntosd-dm320/udp/defconfig
index 378277f1ada1875126bfb11087beeab06795e00a..eca9836cdb7cc7fef5c36ebca678b6fb92c15d54 100644
--- a/configs/ntosd-dm320/udp/defconfig
+++ b/configs/ntosd-dm320/udp/defconfig
@@ -495,8 +495,10 @@ CONFIG_DM9X_ETRANS=n
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer (arm7tdmi only)
@@ -512,7 +514,8 @@ CONFIG_DM9X_ETRANS=n
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_STACK_POINTER=
 CONFIG_IDLETHREAD_STACKSIZE=4096
diff --git a/configs/ntosd-dm320/uip/defconfig b/configs/ntosd-dm320/uip/defconfig
index 3eefc9dbed4298844278616d507224627ffee7d7..5033f9c7038531d835a95fb058d7ed02ec666388 100644
--- a/configs/ntosd-dm320/uip/defconfig
+++ b/configs/ntosd-dm320/uip/defconfig
@@ -495,8 +495,10 @@ CONFIG_DM9X_ETRANS=n
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer (arm7tdmi only)
@@ -512,7 +514,8 @@ CONFIG_DM9X_ETRANS=n
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_STACK_POINTER=
 CONFIG_IDLETHREAD_STACKSIZE=4096
diff --git a/configs/olimex-strp711/ostest/defconfig b/configs/olimex-strp711/ostest/defconfig
index c5cc4816f252799a134edc282f6fcbafa0664ace..909c626e8c1aafde6c41b794009d64a2b4fdc644 100644
--- a/configs/olimex-strp711/ostest/defconfig
+++ b/configs/olimex-strp711/ostest/defconfig
@@ -620,8 +620,10 @@ CONFIG_EXAMPLES_NSH_MMCSDMINOR=0
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer (arm7tdmi only)
@@ -637,7 +639,8 @@ CONFIG_EXAMPLES_NSH_MMCSDMINOR=0
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=y
+CONFIG_BOOT_RUNFROMFLASH=y
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_STACK_POINTER=
 CONFIG_IDLETHREAD_STACKSIZE=2048
diff --git a/configs/pjrc-8051/defconfig b/configs/pjrc-8051/defconfig
index e5a14dafe37f90424d2dc5d269752daf8e3417cf..c93ef327da1039e351bd8fc3063f01064f2b3fd5 100644
--- a/configs/pjrc-8051/defconfig
+++ b/configs/pjrc-8051/defconfig
@@ -325,8 +325,10 @@ CONFIG_EXAMPLES_NSH_NETMASK=(255<<24|255<<16|255<<8|0)
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer
@@ -342,7 +344,8 @@ CONFIG_EXAMPLES_NSH_NETMASK=(255<<24|255<<16|255<<8|0)
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=y
 CONFIG_IDLETHREAD_STACKSIZE=
 CONFIG_USERMAIN_STACKSIZE=
diff --git a/configs/sim/mount/defconfig b/configs/sim/mount/defconfig
index 78c75b49391c669b679ca2bde0f0d5ab904fe2f6..2aa8f65bc98e2a7ae1a3d4bc17c55586f0641685 100644
--- a/configs/sim/mount/defconfig
+++ b/configs/sim/mount/defconfig
@@ -329,8 +329,10 @@ CONFIG_EXAMPLES_MOUNT_DEVNAME="/dev/ram0"
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer
@@ -346,7 +348,8 @@ CONFIG_EXAMPLES_MOUNT_DEVNAME="/dev/ram0"
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_IDLETHREAD_STACKSIZE=4096
 CONFIG_USERMAIN_STACKSIZE=4096
diff --git a/configs/sim/nettest/defconfig b/configs/sim/nettest/defconfig
index 62e7236e20f7d8ec7daebd7e8bf136771ddaab06..2ea4667cce43c881129dab12aded4c2d7437a431 100644
--- a/configs/sim/nettest/defconfig
+++ b/configs/sim/nettest/defconfig
@@ -328,8 +328,10 @@ CONFIG_EXAMPLES_MOUNT_DEVNAME="/dev/ram0"
 
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer
@@ -345,7 +347,8 @@ CONFIG_EXAMPLES_MOUNT_DEVNAME="/dev/ram0"
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_IDLETHREAD_STACKSIZE=4096
 CONFIG_USERMAIN_STACKSIZE=4096
diff --git a/configs/sim/nsh/defconfig b/configs/sim/nsh/defconfig
index 2bfd27cc2a94f8dda36e200dc94c092c4630ab59..efde031bf480d5ed67642ff00bd732c77d560356 100644
--- a/configs/sim/nsh/defconfig
+++ b/configs/sim/nsh/defconfig
@@ -372,8 +372,10 @@ CONFIG_EXAMPLES_MOUNT_DEVNAME="/dev/ram0"
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer
@@ -389,7 +391,8 @@ CONFIG_EXAMPLES_MOUNT_DEVNAME="/dev/ram0"
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_IDLETHREAD_STACKSIZE=4096
 CONFIG_USERMAIN_STACKSIZE=4096
diff --git a/configs/sim/nx/defconfig b/configs/sim/nx/defconfig
index e7beb8144ab78d8e144159ab6434409c5bdf48fc..c2ecc2240c2d524f7f5138fe88d54d65c97274b6 100644
--- a/configs/sim/nx/defconfig
+++ b/configs/sim/nx/defconfig
@@ -504,8 +504,10 @@ CONFIG_EXAMPLES_MOUNT_DEVNAME="/dev/ram0"
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer
@@ -521,7 +523,8 @@ CONFIG_EXAMPLES_MOUNT_DEVNAME="/dev/ram0"
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_IDLETHREAD_STACKSIZE=4096
 CONFIG_USERMAIN_STACKSIZE=4096
diff --git a/configs/sim/nx/defconfig-x11 b/configs/sim/nx/defconfig-x11
index e61085c145ca2f14d7049e058cdf5a91a62df93e..fcd242e36e774151ee9f3f4a19a5682ba28fbfdc 100644
--- a/configs/sim/nx/defconfig-x11
+++ b/configs/sim/nx/defconfig-x11
@@ -498,8 +498,10 @@ CONFIG_EXAMPLES_MOUNT_DEVNAME="/dev/ram0"
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer
@@ -515,7 +517,8 @@ CONFIG_EXAMPLES_MOUNT_DEVNAME="/dev/ram0"
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_IDLETHREAD_STACKSIZE=4096
 CONFIG_USERMAIN_STACKSIZE=4096
diff --git a/configs/sim/ostest/defconfig b/configs/sim/ostest/defconfig
index 5ef40cd3004e7c8fcb088e67502d94dde17f529d..c8c5690d94e9691e5f9fc33d395d320ac6521268 100644
--- a/configs/sim/ostest/defconfig
+++ b/configs/sim/ostest/defconfig
@@ -336,8 +336,10 @@ CONFIG_EXAMPLES_NSH_NETMASK=(255<<24|255<<16|255<<8|0)
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer
@@ -353,7 +355,8 @@ CONFIG_EXAMPLES_NSH_NETMASK=(255<<24|255<<16|255<<8|0)
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_IDLETHREAD_STACKSIZE=4096
 CONFIG_USERMAIN_STACKSIZE=4096
diff --git a/configs/sim/pashello/defconfig b/configs/sim/pashello/defconfig
index e1710f00efb66414eaab4a256aaabeaca84f034b..f11a73cd772b20285bbb70840de66e1f6938e88a 100644
--- a/configs/sim/pashello/defconfig
+++ b/configs/sim/pashello/defconfig
@@ -317,8 +317,10 @@ CONFIG_EXAMPLES_NSH_NETMASK=(255<<24|255<<16|255<<8|0)
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer
@@ -334,7 +336,8 @@ CONFIG_EXAMPLES_NSH_NETMASK=(255<<24|255<<16|255<<8|0)
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_IDLETHREAD_STACKSIZE=4096
 CONFIG_USERMAIN_STACKSIZE=4096
diff --git a/configs/skp16c26/ostest/defconfig b/configs/skp16c26/ostest/defconfig
index 40016aeb4f82b3f2a56814b7d47f2d18f405b9f7..24da66e72794039c89aaaaf507f2228ce102be5c 100644
--- a/configs/skp16c26/ostest/defconfig
+++ b/configs/skp16c26/ostest/defconfig
@@ -509,8 +509,10 @@ CONFIG_DM9X_ETRANS=n
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer (arm7tdmi only)
@@ -526,7 +528,8 @@ CONFIG_DM9X_ETRANS=n
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_STACK_POINTER=
 CONFIG_IDLETHREAD_STACKSIZE=256
diff --git a/configs/us7032evb1/nsh/defconfig b/configs/us7032evb1/nsh/defconfig
index d1d8a751c022d107ba9ffb034a484b1d8596f127..99398ad220a67e6dd57b9b699bbe4bd844e3e414 100644
--- a/configs/us7032evb1/nsh/defconfig
+++ b/configs/us7032evb1/nsh/defconfig
@@ -549,8 +549,10 @@ CONFIG_EXAMPLES_NSH_MMCSDMINOR=0
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer (arm7tdmi only)
@@ -566,7 +568,8 @@ CONFIG_EXAMPLES_NSH_MMCSDMINOR=0
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_STACK_POINTER=
 CONFIG_IDLETHREAD_STACKSIZE=1024
diff --git a/configs/us7032evb1/ostest/defconfig b/configs/us7032evb1/ostest/defconfig
index d1a786979562ec071ed8a971cc6ffe2497110bad..760dca9c4315cf2030bfa64b4aa51f55bea59889 100644
--- a/configs/us7032evb1/ostest/defconfig
+++ b/configs/us7032evb1/ostest/defconfig
@@ -549,8 +549,10 @@ CONFIG_EXAMPLES_NSH_MMCSDMINOR=0
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer (arm7tdmi only)
@@ -566,7 +568,8 @@ CONFIG_EXAMPLES_NSH_MMCSDMINOR=0
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_STACK_POINTER=
 CONFIG_IDLETHREAD_STACKSIZE=1024
diff --git a/configs/xtrs/nsh/defconfig b/configs/xtrs/nsh/defconfig
index 05316c7daf38076ec2d671d8d4e3f8441808126f..08cb4fe131399b08d9c7064df8d4c28858703838 100644
--- a/configs/xtrs/nsh/defconfig
+++ b/configs/xtrs/nsh/defconfig
@@ -364,8 +364,10 @@ CONFIG_EXAMPLES_NSH_FATMOUNTPT=/tmp
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer
@@ -381,7 +383,8 @@ CONFIG_EXAMPLES_NSH_FATMOUNTPT=/tmp
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_IDLETHREAD_STACKSIZE=1024
 CONFIG_USERMAIN_STACKSIZE=1024
diff --git a/configs/xtrs/ostest/defconfig b/configs/xtrs/ostest/defconfig
index 5fc44af77ab0cef5ce6813b34046544948d3551d..9f548bb789f78d3327c037d63e24bbea490abd5d 100644
--- a/configs/xtrs/ostest/defconfig
+++ b/configs/xtrs/ostest/defconfig
@@ -321,8 +321,10 @@ CONFIG_EXAMPLES_NSH_NETMASK=(255<<24|255<<16|255<<8|0)
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer
@@ -338,7 +340,8 @@ CONFIG_EXAMPLES_NSH_NETMASK=(255<<24|255<<16|255<<8|0)
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_IDLETHREAD_STACKSIZE=1024
 CONFIG_USERMAIN_STACKSIZE=1024
diff --git a/configs/xtrs/pashello/defconfig b/configs/xtrs/pashello/defconfig
index 97800334f5236b24d7a8def1816de636c3f1a065..48be8ac0d0c453a285f7035c0ad105e01422de5c 100644
--- a/configs/xtrs/pashello/defconfig
+++ b/configs/xtrs/pashello/defconfig
@@ -321,8 +321,10 @@ CONFIG_EXAMPLES_NSH_NETMASK=(255<<24|255<<16|255<<8|0)
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer
@@ -338,7 +340,8 @@ CONFIG_EXAMPLES_NSH_NETMASK=(255<<24|255<<16|255<<8|0)
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_IDLETHREAD_STACKSIZE=1024
 CONFIG_USERMAIN_STACKSIZE=1024
diff --git a/configs/z16f2800100zcog/ostest/defconfig b/configs/z16f2800100zcog/ostest/defconfig
index 81cf31e79f617f4d5a1ae50c836769c96a59cc01..c0868bad6f8731508fa2e81be041be05b8462cd0 100644
--- a/configs/z16f2800100zcog/ostest/defconfig
+++ b/configs/z16f2800100zcog/ostest/defconfig
@@ -349,8 +349,10 @@ CONFIG_EXAMPLES_NSH_NETMASK=(255<<24|255<<16|255<<8|0)
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer
@@ -366,7 +368,8 @@ CONFIG_EXAMPLES_NSH_NETMASK=(255<<24|255<<16|255<<8|0)
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_IDLETHREAD_STACKSIZE=4096
 CONFIG_USERMAIN_STACKSIZE=4096
diff --git a/configs/z16f2800100zcog/pashello/defconfig b/configs/z16f2800100zcog/pashello/defconfig
index ee04bf8fb5d4672c71345669cf8010878c9cb64d..5ac44e40c6be2253b6e33af3e61d92e374a396c1 100644
--- a/configs/z16f2800100zcog/pashello/defconfig
+++ b/configs/z16f2800100zcog/pashello/defconfig
@@ -349,8 +349,10 @@ CONFIG_EXAMPLES_NSH_NETMASK=(255<<24|255<<16|255<<8|0)
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer
@@ -366,7 +368,8 @@ CONFIG_EXAMPLES_NSH_NETMASK=(255<<24|255<<16|255<<8|0)
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_IDLETHREAD_STACKSIZE=4096
 CONFIG_USERMAIN_STACKSIZE=4096
diff --git a/configs/z80sim/nsh/defconfig b/configs/z80sim/nsh/defconfig
index b0fc2e9ef749864ef0ca9668a68c76875aa98eb7..ba16ff1406d93e342861cfb35b3704e7769154a1 100644
--- a/configs/z80sim/nsh/defconfig
+++ b/configs/z80sim/nsh/defconfig
@@ -354,8 +354,10 @@ CONFIG_EXAMPLES_NSH_FATMOUNTPT=/tmp
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer
@@ -371,7 +373,8 @@ CONFIG_EXAMPLES_NSH_FATMOUNTPT=/tmp
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_IDLETHREAD_STACKSIZE=1024
 CONFIG_USERMAIN_STACKSIZE=1024
diff --git a/configs/z80sim/ostest/defconfig b/configs/z80sim/ostest/defconfig
index a976693688db9196ac733d7b04b559d039c16810..2224437731a343f0077d1e1cc6107550fa90e778 100644
--- a/configs/z80sim/ostest/defconfig
+++ b/configs/z80sim/ostest/defconfig
@@ -311,8 +311,10 @@ CONFIG_EXAMPLES_NSH_NETMASK=(255<<24|255<<16|255<<8|0)
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer
@@ -328,7 +330,8 @@ CONFIG_EXAMPLES_NSH_NETMASK=(255<<24|255<<16|255<<8|0)
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_IDLETHREAD_STACKSIZE=1024
 CONFIG_USERMAIN_STACKSIZE=1024
diff --git a/configs/z80sim/pashello/defconfig b/configs/z80sim/pashello/defconfig
index 5827d1457439fd7cd89facfffdc76b7ebd9bb3a2..a2bab3eb720c1316262fca12f348a8e3638958a4 100644
--- a/configs/z80sim/pashello/defconfig
+++ b/configs/z80sim/pashello/defconfig
@@ -311,8 +311,10 @@ CONFIG_EXAMPLES_NSH_NETMASK=(255<<24|255<<16|255<<8|0)
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer
@@ -328,7 +330,8 @@ CONFIG_EXAMPLES_NSH_NETMASK=(255<<24|255<<16|255<<8|0)
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_IDLETHREAD_STACKSIZE=1024
 CONFIG_USERMAIN_STACKSIZE=1024
diff --git a/configs/z8encore000zco/ostest/defconfig b/configs/z8encore000zco/ostest/defconfig
index c127c5ad788b29048a7e4ea39c7e7e90dfa2b477..f95689f87ef93d8a2085b027b93e12d91b1be870 100644
--- a/configs/z8encore000zco/ostest/defconfig
+++ b/configs/z8encore000zco/ostest/defconfig
@@ -350,8 +350,10 @@ CONFIG_EXAMPLES_NSH_NETMASK=(255<<24|255<<16|255<<8|0)
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer
@@ -367,7 +369,8 @@ CONFIG_EXAMPLES_NSH_NETMASK=(255<<24|255<<16|255<<8|0)
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_IDLETHREAD_STACKSIZE=256
 CONFIG_USERMAIN_STACKSIZE=256
diff --git a/configs/z8f64200100kit/ostest/defconfig b/configs/z8f64200100kit/ostest/defconfig
index 400fd1a0b06e646401afbc891eb4ad1c8905b253..59c1a469ce4ca60e7392e00bbc301ce53ace8907 100644
--- a/configs/z8f64200100kit/ostest/defconfig
+++ b/configs/z8f64200100kit/ostest/defconfig
@@ -350,8 +350,10 @@ CONFIG_EXAMPLES_NSH_NETMASK=(255<<24|255<<16|255<<8|0)
 #
 # Stack and heap information
 #
-# CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
-#   operation from FLASH.
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+#   operation from FLASH but must copy initialized .data sections to RAM.
+# CONFIG_BOOT_COPYTORAM -  Some configurations boot in FLASH
+#   but copy themselves entirely into RAM for better performance.
 # CONFIG_CUSTOM_STACK - The up_ implementation will handle
 #   all stack operations outside of the nuttx model.
 # CONFIG_STACK_POINTER - The initial stack pointer
@@ -367,7 +369,8 @@ CONFIG_EXAMPLES_NSH_NETMASK=(255<<24|255<<16|255<<8|0)
 # CONFIG_HEAP_BASE - The beginning of the heap
 # CONFIG_HEAP_SIZE - The size of the heap
 #
-CONFIG_BOOT_FROM_FLASH=n
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
 CONFIG_CUSTOM_STACK=n
 CONFIG_IDLETHREAD_STACKSIZE=256
 CONFIG_USERMAIN_STACKSIZE=256