From e3ff0689bb071759493c670e0110dd1cee3ff877 Mon Sep 17 00:00:00 2001
From: Gregory Nutt
Date: Fri, 29 Aug 2014 14:47:22 -0600
Subject: [PATCH] Rename CONFIG_NUTTX_KERNEL to CONFIG_BUILD_PROTECTED;
Partially integrate new CONFIG_BUILD_KERNEL
---
Documentation/NuttxPortingGuide.html | 23 +++----
Kconfig | 67 ++++++++++++++-----
Makefile.unix | 16 ++---
Makefile.win | 16 ++---
arch/Kconfig | 36 ++++++++--
arch/arm/Kconfig | 25 ++++---
arch/arm/include/armv6-m/irq.h | 6 +-
arch/arm/include/armv7-a/irq.h | 2 +-
arch/arm/include/armv7-m/irq.h | 4 +-
arch/arm/include/armv7-m/irq_lazyfpu.h | 2 +-
arch/arm/src/a1x/a1x_boot.c | 10 ---
arch/arm/src/arm/up_initialstate.c | 2 +-
arch/arm/src/armv6-m/svcall.h | 8 +--
arch/arm/src/armv6-m/up_assert.c | 2 +-
arch/arm/src/armv6-m/up_exception.S | 8 +--
arch/arm/src/armv6-m/up_hardfault.c | 2 +-
arch/arm/src/armv6-m/up_initialstate.c | 4 +-
arch/arm/src/armv6-m/up_schedulesigaction.c | 8 +--
arch/arm/src/armv6-m/up_sigdeliver.c | 2 +-
arch/arm/src/armv6-m/up_signal_handler.S | 4 +-
arch/arm/src/armv6-m/up_svcall.c | 12 ++--
arch/arm/src/armv7-a/arm_initialstate.c | 2 +-
arch/arm/src/armv7-a/arm_syscall.c | 16 ++---
arch/arm/src/armv7-a/svcall.h | 8 +--
arch/arm/src/armv7-m/svcall.h | 8 +--
arch/arm/src/armv7-m/up_exception.S | 4 +-
arch/arm/src/armv7-m/up_hardfault.c | 2 +-
arch/arm/src/armv7-m/up_initialstate.c | 6 +-
arch/arm/src/armv7-m/up_schedulesigaction.c | 8 +--
arch/arm/src/armv7-m/up_sigdeliver.c | 2 +-
arch/arm/src/armv7-m/up_signal_handler.S | 4 +-
arch/arm/src/armv7-m/up_svcall.c | 8 +--
arch/arm/src/common/up_allocateheap.c | 23 ++++---
arch/arm/src/common/up_createstack.c | 20 ++++--
arch/arm/src/common/up_pthread_start.c | 8 ++-
arch/arm/src/common/up_releasestack.c | 23 +++++--
arch/arm/src/common/up_signal_dispatch.c | 8 ++-
arch/arm/src/common/up_task_start.c | 6 +-
arch/arm/src/dm320/dm320_allocateheap.c | 2 +-
arch/arm/src/imx/imx_allocateheap.c | 2 +-
arch/arm/src/kinetis/Make.defs | 4 +-
arch/arm/src/kinetis/kinetis_allocateheap.c | 8 +--
arch/arm/src/kinetis/kinetis_mpuinit.c | 4 +-
arch/arm/src/kinetis/kinetis_mpuinit.h | 4 +-
arch/arm/src/kinetis/kinetis_start.c | 2 +-
arch/arm/src/kinetis/kinetis_userspace.c | 4 +-
arch/arm/src/kinetis/kinetis_userspace.h | 2 +-
arch/arm/src/kinetis/kinetis_vectors.S | 12 ++--
arch/arm/src/kl/Make.defs | 4 +-
arch/arm/src/kl/kl_start.c | 2 +-
arch/arm/src/kl/kl_userspace.c | 4 +-
arch/arm/src/kl/kl_userspace.h | 2 +-
arch/arm/src/lpc17xx/Make.defs | 4 +-
arch/arm/src/lpc17xx/lpc17_allocateheap.c | 10 +--
arch/arm/src/lpc17xx/lpc17_mpuinit.c | 4 +-
arch/arm/src/lpc17xx/lpc17_mpuinit.h | 4 +-
arch/arm/src/lpc17xx/lpc17_start.c | 2 +-
arch/arm/src/lpc17xx/lpc17_userspace.c | 4 +-
arch/arm/src/lpc17xx/lpc17_userspace.h | 2 +-
arch/arm/src/lpc17xx/lpc17_vectors.S | 12 ++--
arch/arm/src/lpc31xx/lpc31_allocateheap.c | 2 +-
arch/arm/src/lpc43xx/Make.defs | 4 +-
arch/arm/src/lpc43xx/lpc43_allocateheap.c | 2 +-
arch/arm/src/lpc43xx/lpc43_mpuinit.c | 4 +-
arch/arm/src/lpc43xx/lpc43_mpuinit.h | 4 +-
arch/arm/src/lpc43xx/lpc43_start.c | 2 +-
arch/arm/src/lpc43xx/lpc43_userspace.c | 4 +-
arch/arm/src/lpc43xx/lpc43_userspace.h | 2 +-
arch/arm/src/nuc1xx/Make.defs | 4 +-
arch/arm/src/nuc1xx/nuc_start.c | 2 +-
arch/arm/src/nuc1xx/nuc_userspace.c | 4 +-
arch/arm/src/nuc1xx/nuc_userspace.h | 2 +-
arch/arm/src/sam34/Make.defs | 4 +-
arch/arm/src/sam34/sam_allocateheap.c | 8 +--
arch/arm/src/sam34/sam_mpuinit.c | 4 +-
arch/arm/src/sam34/sam_mpuinit.h | 4 +-
arch/arm/src/sam34/sam_start.c | 2 +-
arch/arm/src/sam34/sam_userspace.c | 4 +-
arch/arm/src/sam34/sam_userspace.h | 2 +-
arch/arm/src/sam34/sam_vectors.S | 12 ++--
arch/arm/src/sama5/sam_allocateheap.c | 21 +++---
arch/arm/src/sama5/sam_boot.c | 10 ---
arch/arm/src/samd/Make.defs | 4 +-
arch/arm/src/samd/sam_start.c | 2 +-
arch/arm/src/samd/sam_userspace.c | 4 +-
arch/arm/src/samd/sam_userspace.h | 2 +-
arch/arm/src/stm32/Make.defs | 4 +-
arch/arm/src/stm32/stm32_allocateheap.c | 12 ++--
arch/arm/src/stm32/stm32_mpuinit.c | 4 +-
arch/arm/src/stm32/stm32_mpuinit.h | 4 +-
arch/arm/src/stm32/stm32_start.c | 2 +-
arch/arm/src/stm32/stm32_userspace.c | 4 +-
arch/arm/src/stm32/stm32_userspace.h | 2 +-
arch/arm/src/stm32/stm32_vectors.S | 12 ++--
arch/arm/src/tiva/Make.defs | 4 +-
arch/arm/src/tiva/tiva_allocateheap.c | 8 +--
arch/arm/src/tiva/tiva_mpuinit.c | 4 +-
arch/arm/src/tiva/tiva_mpuinit.h | 4 +-
arch/arm/src/tiva/tiva_start.c | 2 +-
arch/arm/src/tiva/tiva_userspace.c | 4 +-
arch/arm/src/tiva/tiva_userspace.h | 2 +-
arch/arm/src/tiva/tiva_vectors.S | 12 ++--
arch/avr/src/avr/up_createstack.c | 26 +------
arch/avr/src/avr32/up_createstack.c | 4 +-
arch/avr/src/avr32/up_initialstate.c | 4 +-
arch/avr/src/common/up_allocateheap.c | 2 +-
arch/avr/src/common/up_releasestack.c | 4 +-
arch/hc/src/common/up_allocateheap.c | 2 +-
arch/hc/src/common/up_createstack.c | 4 +-
arch/hc/src/common/up_releasestack.c | 4 +-
arch/mips/include/mips32/irq.h | 8 +--
arch/mips/include/mips32/syscall.h | 4 +-
arch/mips/src/common/up_allocateheap.c | 2 +-
arch/mips/src/common/up_createstack.c | 4 +-
arch/mips/src/common/up_releasestack.c | 4 +-
arch/mips/src/mips32/up_initialstate.c | 2 +-
arch/mips/src/mips32/up_swint0.c | 6 +-
arch/mips/src/pic32mx/pic32mx-config.h | 2 +-
arch/rgmp/src/nuttx.c | 6 +-
arch/sh/src/common/up_allocateheap.c | 2 +-
arch/sh/src/common/up_createstack.c | 4 +-
arch/sh/src/common/up_releasestack.c | 4 +-
arch/sh/src/sh1/sh1_initialstate.c | 4 +-
arch/sim/src/up_allocateheap.c | 4 --
arch/sim/src/up_createstack.c | 18 +----
arch/sim/src/up_releasestack.c | 21 +-----
arch/x86/src/common/up_allocateheap.c | 2 +-
arch/x86/src/i486/up_createstack.c | 4 +-
arch/x86/src/i486/up_initialstate.c | 4 +-
arch/x86/src/i486/up_releasestack.c | 4 +-
arch/z16/src/common/up_allocateheap.c | 7 --
arch/z16/src/common/up_createstack.c | 26 +------
arch/z16/src/common/up_releasestack.c | 21 +-----
arch/z80/src/common/up_allocateheap.c | 2 +-
arch/z80/src/common/up_createstack.c | 4 +-
arch/z80/src/common/up_releasestack.c | 4 +-
binfmt/Kconfig | 14 ++--
binfmt/pcode.c | 14 ++--
configs/ea3131/pgnsh/defconfig | 2 +-
configs/mikroe-stm32f4/kernel/up_userspace.c | 4 +-
configs/mikroe-stm32f4/kostest/defconfig | 3 +-
configs/open1788/kernel/up_userspace.c | 4 +-
configs/open1788/knsh/defconfig | 3 +-
configs/pcduino-a10/nsh/pcduino-140107.patch | 2 +-
configs/sam3u-ek/kernel/up_userspace.c | 4 +-
configs/sam3u-ek/knsh/defconfig | 3 +-
configs/sam4s-xplained-pro/nsh/defconfig | 1 +
configs/stm3240g-eval/kernel/up_userspace.c | 4 +-
configs/stm3240g-eval/knxwm/defconfig | 3 +-
configs/stm3240g-eval/src/up_boot.c | 8 +--
.../stm32f4discovery/kernel/up_userspace.c | 4 +-
configs/stm32f4discovery/kostest/defconfig | 3 +-
drivers/timer.c | 2 +-
fs/fs_fdopen.c | 3 +-
include/errno.h | 3 +-
include/nuttx/arch.h | 40 ++++++-----
include/nuttx/clock.h | 7 +-
include/nuttx/kmalloc.h | 10 +--
include/nuttx/mm.h | 14 ++--
include/nuttx/pgalloc.h | 2 +-
include/nuttx/sched.h | 6 +-
include/nuttx/userspace.h | 12 ++--
include/nuttx/wqueue.h | 25 ++++---
include/sys/syscall.h | 2 +-
libc/Kconfig | 4 +-
libc/Makefile | 12 +++-
libc/README.txt | 7 +-
libc/lib_internal.h | 3 +-
libc/misc/lib_init.c | 5 +-
libc/pthread/Make.defs | 2 +-
libc/pthread/pthread_attrinit.c | 3 +-
libc/pthread/pthread_startup.c | 5 +-
libc/sched/Make.defs | 2 +-
libc/sched/task_startup.c | 4 +-
libc/stdio/lib_lowsyslog.c | 2 +-
libc/stdio/lib_syslog.c | 2 +-
libc/wqueue/Make.defs | 2 +-
libc/wqueue/work_thread.c | 6 +-
libc/wqueue/work_usrstart.c | 4 +-
libnx/Makefile | 4 +-
libnx/nxcontext.h | 4 +-
libxx/libxx_internal.hxx | 3 +-
mm/Kconfig | 4 +-
mm/Makefile | 12 +++-
mm/mm_calloc.c | 2 +-
mm/mm_free.c | 2 +-
mm/mm_kernel.c | 5 +-
mm/mm_mallinfo.c | 4 +-
mm/mm_malloc.c | 2 +-
mm/mm_memalign.c | 2 +-
mm/mm_pgalloc.c | 2 +-
mm/mm_realloc.c | 2 +-
mm/mm_user.c | 4 +-
mm/mm_zalloc.c | 2 +-
sched/group/group_create.c | 8 +--
sched/group/group_leave.c | 7 +-
sched/group/group_setupstreams.c | 3 +-
sched/init/os_bringup.c | 4 +-
sched/init/os_start.c | 14 ++--
sched/pthread/pthread_create.c | 2 +-
sched/sched/sched.h | 3 +-
sched/sched/sched_free.c | 6 +-
sched/sched/sched_garbage.c | 3 +-
sched/sched/sched_getstreams.c | 3 +-
sched/sched/sched_releasetcb.c | 8 ++-
sched/signal/sig_deliver.c | 2 +-
sched/task/task_exithook.c | 3 +-
sched/task/task_setup.c | 15 +++--
sched/task/task_start.c | 2 +-
syscall/Kconfig | 4 +-
210 files changed, 690 insertions(+), 655 deletions(-)
diff --git a/Documentation/NuttxPortingGuide.html b/Documentation/NuttxPortingGuide.html
index 88155b8cadb..7bbadfaed39 100644
--- a/Documentation/NuttxPortingGuide.html
+++ b/Documentation/NuttxPortingGuide.html
@@ -12,7 +12,7 @@
NuttX RTOS Porting Guide
- Last Updated: August 24, 2014
+ Last Updated: August 29, 2014
@@ -486,7 +486,7 @@
kernel-mode NuttX functions.
This directory must always be provided to prevent compilation errors.
However, it need only contain valid function declarations if the architecture
- supports the CONFIG_NUTTX_KERNEL configuration.
+ supports the CONFIG_BUILD_PROTECTED or CONFIG_BUILD_KERNELconfigurations.
-
uintptr_t sys_call0(unsigned int nbr):
@@ -1329,7 +1329,7 @@ include/
Normally the logic in this file builds to a single library (libc.a).
- However, if NuttX is built as a separately compiled kernel (with CONFIG_NUTTX_KERNEL=y), then the contents of this directory are built as two libraries:
+ However, if NuttX is built as a separately compiled kernel (with CONFIG_BUILD_PROTECTED=y or CONFIG_BUILD_KERNEL=y), then the contents of this directory are built as two libraries:
One for use by user programs (libuc.a) and one for use only within the <kernel> space (libkc.a).
@@ -1393,7 +1393,7 @@ libc/
- If NuttX is built as a separately compiled kernel (with CONFIG_NUTTX_KERNEL=y),
+ If NuttX is built as a separately compiled kernel (with CONFIG_BUILD_PROTECTED=y or CONFIG_BUILD_KERNEL=y),
then the contents of this directory are built.
This directory holds a syscall interface that can be used for communication
between user-mode applications and the kernel-mode RTOS.
@@ -1783,13 +1783,10 @@ The system can be re-made subsequently by just typing make.
This function may also need to set up processor registers so that the new thread executes
with the correct privileges.
- If CONFIG_NUTTX_KERNEL has been selected in the NuttX configuration,
- then special initialization may need to be performed depending on the task type specified
- in the TCB's flags field:
+ If CONFIG_BUILD_PROTECTED or CONFIG_BUILD_KERNEL have been selected in the NuttX configuration, then special initialization may need to be performed depending on the task type specified in the TCB's flags field:
Kernel threads will require kernel-mode privileges;
User tasks and pthreads should have only user-mode privileges.
- If CONFIG_NUTTX_KERNEL has not been selected,
- then all threads should have kernel-mode privileges.
+ If neither CONFIG_BUILD_PROTECTED nor CONFIG_BUILD_KERNEL have been selected, then all threads should have kernel-mode privileges.
@@ -1839,7 +1836,7 @@ The system can be re-made subsequently by just typing make.
This thread type is normally available in the flags field of the TCB, however, there are certain contexts where the TCB may not be fully initialized when up_create_stack is called.
- If CONFIG_NUTTX_KERNEL is defined, then this thread type may affect how the stack is allocated. For example, kernel thread stacks should be allocated from protected kernel memory. Stacks for user tasks and threads must come from memory that is accessible to user code.
+ If CONFIG_BUILD_PROTECTED or CONFIG_BUILD_KERNEL are defined, then this thread type may affect how the stack is allocated. For example, kernel thread stacks should be allocated from protected kernel memory. Stacks for user tasks and threads must come from memory that is accessible to user code.
@@ -1909,7 +1906,7 @@ The system can be re-made subsequently by just typing make.
- This API is NOT required if CONFIG_NUTTX_KERNEL is undefined or if CONFIG_CUSTOM_STACK is defined.
+ This API is NOT required if CONFIG_BUILD_PROTECTED and CONFIG_BUILD_KERNEL are undefined or if CONFIG_CUSTOM_STACK is defined.
Input Parameters:
@@ -1965,7 +1962,7 @@ The system can be re-made subsequently by just typing make.
This thread type is normally available in the flags field of the TCB, however, there are certain error recovery contexts where the TCB may not be fully initialized when up_release_stack is called.
- If CONFIG_NUTTX_KERNEL is defined, then this thread type may affect how the stack is freed.
+ If CONFIG_BUILD_PROTECTED or CONFIG_BUILD_KERNEL are defined, then this thread type may affect how the stack is freed.
For example, kernel thread stacks may have been allocated from protected kernel memory.
Stacks for user tasks and threads must have come from memory that is accessible to user
@@ -2150,7 +2147,7 @@ The system can be re-made subsequently by just typing make.
This function will be called to dynamically set aside the heap region.
- For the kernel build (CONFIG_NUTTX_KERNEL=y) with both kernel- and user-space heaps (CONFIG_MM_KERNEL_HEAP=y), this function provides the size of the unprotected, user-space heap.
+ For the kernel build (CONFIG_BUILD_PROTECTED=y or CONFIG_BUILD_KERNEL=y) with both kernel- and user-space heaps (CONFIG_MM_KERNEL_HEAP=y), this function provides the size of the unprotected, user-space heap.
If a protected kernel-space heap is provided, the kernel heap must be allocated (and protected) by an analogous up_allocate_kheap().
diff --git a/Kconfig b/Kconfig
index eb1a43e9a6d..d8960a95193 100644
--- a/Kconfig
+++ b/Kconfig
@@ -111,37 +111,79 @@ config APPS_DIR
`-application
|
`- Makefile
-
+
Then you would set APPS_DIR=../application.
The application direction must contain Makefile and this make
file must support the following targets:
-
+
1)libapps$(LIBEXT) (usually libapps.a). libapps.a is a static
library ( an archive) that contains all of application object
files.
-
+
2)clean. Do whatever is appropriate to clean the application
directories for a fresh build.
-
+
3)distclean. Clean everything -- auto-generated files, symbolic
links etc. -- so that the directory contents are the same as
the contents in your configuration management system.
This is only done when you change the NuttX configuration.
-
+
4)depend. Make or update the application build dependencies.
-
+
When this application is invoked it will receive the setting TOPDIR like:
-
+
$(MAKE) -C $(CONFIG_APPS_DIR) TOPDIR="$(TOPDIR)"
-
+
TOPDIR is the full path to the NuttX directory. It can be used, for
example, to include makefile fragments (e.g., .config or Make.defs)
or to set up include file paths.
+choice
+ prompt "Memory organization"
+ default BUILD_FLAT
+
+config BUILD_FLAT
+ bool "Flat address space"
+ ---help---
+ Build NuttX as one large, executable "blob". All of the code
+ within the blob can interrupt with all of the other code within
+ the blob. There are no special privileges, protections, or
+ restraints.
+
+config BUILD_PROTECTED
+ bool "NuttX protected build"
+ default n
+ depends on ARCH_USE_MPU
+ select LIB_SYSCALL
+ select BUILD_2PASS
+ ---help---
+ Builds NuttX and selected applications as two "blobs": A protected, privileged kernel blob and a separate unprivileged, user blob. This require sue of the two pass build with each blob being build on each pass.
+
+ NOTE: This build configuration requires that the platform support
+ a memory protection unit (MPU). Support, however, may not be
+ implemented on all platforms.
+
+config BUILD_KERNEL
+ bool "NuttX kernel build"
+ default n
+ depends on ARCH_USE_MMU && ARCH_ADDRENV && EXPERIMENTAL
+ select LIB_SYSCALL
+ ---help---
+ Builds NuttX as a separately compiled kernel. No applications are
+ built. All user applications must reside in a file system where
+ they can be loaded into memory for execution.
+
+ NOTE: This build configuration requires that the platform support
+ a memory management unit (MPU) and address environments. Support,
+ however, may not be implemented on all platforms.
+
+endchoice # Build configuration
+
config BUILD_2PASS
bool "Two pass build"
default n
+ depends on !BUILD_KERNEL
---help---
Enables the two pass build options.
@@ -183,17 +225,10 @@ config PASS1_OBJECT
from the PASS1_TARGET. It may be available at link time
in the arch//src directory.
-config NUTTX_KERNEL
- bool "NuttX kernel build"
- default n
- select LIB_SYSCALL
- ---help---
- Builds NuttX as a separately compiled kernel.
-
config NUTTX_USERSPACE
hex "Beginning of user-space blob"
default 0x0
- depends on NUTTX_KERNEL
+ depends on BUILD_PROTECTED
---help---
In the kernel build, the NuttX kernel and the user-space blob are
built separately linked objects. NUTTX_USERSPACE provides the
diff --git a/Makefile.unix b/Makefile.unix
index 318e7f71501..a5b3aa47e41 100644
--- a/Makefile.unix
+++ b/Makefile.unix
@@ -91,7 +91,7 @@ APPDIR := ${shell if [ -r $(CONFIG_APPS_DIR)/Makefile ]; then echo "$(CONFIG_APP
NUTTX_ADDONS :=
USER_ADDONS :=
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
USER_ADDONS += $(APPDIR)
else
NUTTX_ADDONS += $(APPDIR)
@@ -117,7 +117,7 @@ CONTEXTDIRS = $(APPDIR)
USERDIRS =
OTHERDIRS = lib
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
USERDIRS += libc mm $(USER_ADDONS)
ifeq ($(CONFIG_HAVE_CXX),y)
@@ -160,9 +160,9 @@ endif
# CLEANDIRS are the directories that will clean in. These are
# all directories that we know about.
# KERNDEPDIRS are the directories in which we will build target dependencies.
-# If NuttX and applications are built separately (CONFIG_NUTTX_KERNEL),
+# If NuttX and applications are built separately (CONFIG_BUILD_PROTECTED),
# then this holds only the directories containing kernel files.
-# USERDEPDIRS. If NuttX and applications are built separately (CONFIG_NUTTX_KERNEL),
+# USERDEPDIRS. If NuttX and applications are built separately (CONFIG_BUILD_PROTECTED),
# then this holds only the directories containing user files.
CLEANDIRS = $(NONFSDIRS) $(FSDIRS) $(USERDIRS) $(OTHERDIRS)
@@ -219,7 +219,7 @@ USERLIBS =
# both the kernel- and user-space builds. For now, the memory manager (mm)
# is placed in user space (only).
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
NUTTXLIBS += lib/libstubs$(LIBEXT) lib/libkc$(LIBEXT) lib/libkmm$(LIBEXT)
NUTTXLIBS += lib/libkarch$(LIBEXT)
USERLIBS += lib/libproxies$(LIBEXT) lib/libuc$(LIBEXT) lib/libumm$(LIBEXT)
@@ -236,7 +236,7 @@ endif
# be defined in Make.defs for this to work!
ifeq ($(CONFIG_HAVE_CXX),y)
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
USERLIBS += lib/libcxx$(LIBEXT)
else
NUTTXLIBS += lib/libcxx$(LIBEXT)
@@ -246,7 +246,7 @@ endif
# Add library for application support.
ifneq ($(APPDIR),)
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
USERLIBS += lib/libapps$(LIBEXT)
else
NUTTXLIBS += lib/libapps$(LIBEXT)
@@ -282,7 +282,7 @@ endif
ifeq ($(CONFIG_NX),y)
NUTTXLIBS += lib/libgraphics$(LIBEXT)
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
NUTTXLIBS += lib/libknx$(LIBEXT)
USERLIBS += lib/libunx$(LIBEXT)
else
diff --git a/Makefile.win b/Makefile.win
index d1367230b93..c77ce9c4bb2 100644
--- a/Makefile.win
+++ b/Makefile.win
@@ -84,7 +84,7 @@ APPDIR := ${shell if exist "$(CONFIG_APPS_DIR)\Makefile" echo $(CONFIG_APPS_DIR)
NUTTX_ADDONS :=
USER_ADDONS :=
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
USER_ADDONS += $(APPDIR)
else
NUTTX_ADDONS += $(APPDIR)
@@ -110,7 +110,7 @@ CONTEXTDIRS = $(APPDIR)
USERDIRS =
OTHERDIRS = lib
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
USERDIRS += libc mm $(USER_ADDONS)
ifeq ($(CONFIG_HAVE_CXX),y)
@@ -153,9 +153,9 @@ endif
# CLEANDIRS are the directories that will clean in. These are
# all directories that we know about.
# KERNDEPDIRS are the directories in which we will build target dependencies.
-# If NuttX and applications are built separately (CONFIG_NUTTX_KERNEL),
+# If NuttX and applications are built separately (CONFIG_BUILD_PROTECTED),
# then this holds only the directories containing kernel files.
-# USERDEPDIRS. If NuttX and applications are built separately (CONFIG_NUTTX_KERNEL),
+# USERDEPDIRS. If NuttX and applications are built separately (CONFIG_BUILD_PROTECTED),
# then this holds only the directories containing user files.
CLEANDIRS = $(NONFSDIRS) $(FSDIRS) $(USERDIRS) $(OTHERDIRS)
@@ -212,7 +212,7 @@ USERLIBS =
# both the kernel- and user-space builds. For now, the memory manager (mm)
# is placed in user space (only).
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
NUTTXLIBS += lib\libstubs$(LIBEXT) lib\libkc$(LIBEXT) lib\libkmm$(LIBEXT)
NUTTXLIBS += lib\libkarch$(LIBEXT)
USERLIBS += lib\libproxies$(LIBEXT) lib\libuc$(LIBEXT) lib\libumm$(LIBEXT)
@@ -229,7 +229,7 @@ endif
# be defined in Make.defs for this to work!
ifeq ($(CONFIG_HAVE_CXX),y)
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
USERLIBS += lib\libcxx$(LIBEXT)
else
NUTTXLIBS += lib\libcxx$(LIBEXT)
@@ -239,7 +239,7 @@ endif
# Add library for application support.
ifneq ($(APPDIR),)
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
USERLIBS += lib\libapps$(LIBEXT)
else
NUTTXLIBS += lib\libapps$(LIBEXT)
@@ -275,7 +275,7 @@ endif
ifeq ($(CONFIG_NX),y)
NUTTXLIBS += lib\libgraphics$(LIBEXT)
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
NUTTXLIBS += lib\libknx$(LIBEXT)
USERLIBS += lib\libunx$(LIBEXT)
else
diff --git a/arch/Kconfig b/arch/Kconfig
index 0cb83efcf03..41b28fab597 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -154,6 +154,10 @@ config ARCH_HAVE_MMU
bool
default n
+config ARCH_HAVE_MPU
+ bool
+ default n
+
config ARCH_NAND_HWECC
bool
default n
@@ -162,6 +166,26 @@ config ARCH_HAVE_EXTCLK
bool
default n
+config ARCH_USE_MMU
+ bool "Enable MMU"
+ default n
+ depends on ARCH_HAVE_MMU
+ ---help---
+ The architecture supports supports an MMU. Enable this option in
+ order to enable use of the MMU. For most architectures, this is
+ not really an option: It is required to use the MMU. In those
+ cases, this selection will always be forced.
+
+config ARCH_USE_MPU
+ bool "Enable MPU"
+ default n
+ depends on ARCH_HAVE_MPU
+ ---help---
+ The architecture supports supports an MPU. Enable this option in
+ order to enable use of the MPU. For most architectures, this option
+ is enabled by other, platform-specific logic. In those cases, this
+ selection will always be forced.
+
menuconfig ARCH_ADDRENV
bool "Address environments"
default n
@@ -224,12 +248,12 @@ config ARCH_STACK_NPAGES
This, along with knowledge of the page size, determines the size of
the stack virtual address space. Default is 1.
-endif # ARCH_ADDRENV && ARCH_HAVE_MMU
+endif # ARCH_ADDRENV && ARCH_NEED_ADDRENV_MAPPING
menuconfig PAGING
bool "On-demand paging"
default n
- depends on ARCH_HAVE_MMU && !ARCH_ROMPGTABLE
+ depends on ARCH_USE_MMU && !ARCH_ROMPGTABLE
---help---
If set =y in your configation file, this setting will enable the on-demand
paging feature as described in http://www.nuttx.org/NuttXDemandPaging.html.
@@ -537,7 +561,7 @@ config ARCH_HIPRI_INTERRUPT
int up_prioritize_irq(int irq, int priority)
- NOTE: ARCH_INTERRUPTSTACK must be set in kernel mode (NUTTX_KERNEL).
+ NOTE: ARCH_INTERRUPTSTACK must be set in kernel mode (BUILD_KERNEL).
In kernel mode without an interrupt stack, the interrupt handler
will set the MSP to the stack pointer of the interrupted thread. If
the interrupted thread was a privileged thread, that will be the MSP
@@ -641,7 +665,7 @@ config RAM_START
config RAM_VSTART
hex "Primary RAM start address (virtual)"
default 0x0
- depends on ARCH_HAVE_MMU
+ depends on ARCH_USE_MMU
help
The virtual start address of installed primary RAM. "Primary" RAM
refers to the RAM that you link program code into. If program code
@@ -657,7 +681,7 @@ config RAM_SIZE
does not execute out of RAM but from FLASH, then you may designate
any block of RAM as "primary."
-if BOOT_RUNFROMFLASH && ARCH_HAVE_MMU
+if BOOT_RUNFROMFLASH && ARCH_USE_MMU
config FLASH_START
hex "Boot FLASH start address (physical)"
@@ -680,7 +704,7 @@ config FLASH_SIZE
The size in bytes of the installed boot FLASH. "Boot" FLASH
refers to the FLASH that you link program code into.
-endif # BOOT_RUNFROMFLASH && ARCH_HAVE_MMU
+endif # BOOT_RUNFROMFLASH && ARCH_USE_MMU
config ARCH_HAVE_SDRAM
bool
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 31007c7d34e..fd815b85a42 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -15,11 +15,12 @@ config ARCH_CHIP_A1X
select ARCH_CORTEXA8
select ARCH_HAVE_FPU
select ARCH_HAVE_MMU
+ select ARCH_USE_MMU
select ARCH_HAVE_LOWVECTORS
select ARCH_HAVE_SDRAM
select BOOT_RUNFROMSDRAM
- select ARCH_HAVE_ADDRENV if EXPERIMENTAL
- select ARCH_NEED_ADDRENV_MAPPING if EXPERIMENTAL
+ select ARCH_HAVE_ADDRENV
+ select ARCH_NEED_ADDRENV_MAPPING
---help---
Allwinner A1X family: A10, A10S (A12), A13 (ARM Cortex-A8)
@@ -137,8 +138,8 @@ config ARCH_CHIP_SAMA5
select ARCH_HAVE_LOWVECTORS
select ARCH_HAVE_I2CRESET
select ARCH_HAVE_TICKLESS
- select ARCH_HAVE_ADDRENV if EXPERIMENTAL
- select ARCH_NEED_ADDRENV_MAPPING if EXPERIMENTAL
+ select ARCH_HAVE_ADDRENV
+ select ARCH_NEED_ADDRENV_MAPPING
---help---
Atmel SAMA5 (ARM Cortex-A5)
@@ -182,11 +183,13 @@ config ARCH_ARM926EJS
bool
default n
select ARCH_HAVE_MMU
+ select ARCH_USE_MMU
config ARCH_ARM920T
bool
default n
select ARCH_HAVE_MMU
+ select ARCH_USE_MMU
config ARCH_CORTEXM0
bool
@@ -212,6 +215,7 @@ config ARCH_CORTEXA5
default n
select ARCH_HAVE_IRQPRIO
select ARCH_HAVE_MMU
+ select ARCH_USE_MMU
select ARCH_HAVE_COHERENT_DCACHE if ELF
config ARCH_CORTEXA8
@@ -219,6 +223,7 @@ config ARCH_CORTEXA8
default n
select ARCH_HAVE_IRQPRIO
select ARCH_HAVE_MMU
+ select ARCH_USE_MMU
select ARCH_HAVE_COHERENT_DCACHE if ELF
config ARCH_FAMILY
@@ -288,14 +293,12 @@ config ARCH_FPU
Build in support for the ARM Cortex-M4 Floating Point Unit (FPU).
Check your chip specifications first; not all Cortex-M4 chips support the FPU.
-config ARCH_HAVE_MPU
- bool
- default n
-
config ARMV7M_MPU
bool "MPU support"
- default n
+ default n if !ARCH_USE_MPU
+ default y if ARCH_USE_MPU
depends on ARCH_HAVE_MPU
+ select ARCH_USE_MPU
---help---
Build in support for the ARM Cortex-M3/4 Memory Protection Unit (MPU).
Check your chip specifications first; not all Cortex-M3/4 chips support the MPU.
@@ -305,7 +308,7 @@ config ARMV7M_MPU_NREGIONS
default 8
depends on ARMV7M_MPU
---help---
- This is the number of protection regions supported by the MPU.
+ This is the number of protection regions supported by the MPU.
config ARCH_HAVE_LOWVECTORS
bool
@@ -320,7 +323,7 @@ config ARCH_LOWVECTORS
config ARCH_ROMPGTABLE
bool "ROM page table"
default n
- depends on ARCH_HAVE_MMU
+ depends on ARCH_USE_MMU
---help---
Support a fixed memory mapping use a (read-only) page table in ROM/FLASH.
diff --git a/arch/arm/include/armv6-m/irq.h b/arch/arm/include/armv6-m/irq.h
index be851aa9382..05bff9df661 100644
--- a/arch/arm/include/armv6-m/irq.h
+++ b/arch/arm/include/armv6-m/irq.h
@@ -85,7 +85,7 @@
* modes.
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
# define REG_EXC_RETURN (10) /* EXC_RETURN */
# define SW_XCPT_REGS (11)
#else
@@ -178,11 +178,11 @@ struct xcptcontext
uint32_t saved_pc;
uint32_t saved_primask;
uint32_t saved_xpsr;
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
uint32_t saved_lr;
#endif
-# ifdef CONFIG_NUTTX_KERNEL
+# ifdef CONFIG_BUILD_PROTECTED
/* This is the saved address to use when returning from a user-space
* signal handler.
*/
diff --git a/arch/arm/include/armv7-a/irq.h b/arch/arm/include/armv7-a/irq.h
index f21aba7345b..3373819dfb1 100755
--- a/arch/arm/include/armv7-a/irq.h
+++ b/arch/arm/include/armv7-a/irq.h
@@ -200,7 +200,7 @@
#ifdef CONFIG_LIB_SYSCALL
struct xcpt_syscall_s
{
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_KERNEL
uint32_t cpsr; /* The CPSR value */
#endif
uint32_t sysreturn; /* The return PC */
diff --git a/arch/arm/include/armv7-m/irq.h b/arch/arm/include/armv7-m/irq.h
index 818af65609a..c170ff99d3a 100644
--- a/arch/arm/include/armv7-m/irq.h
+++ b/arch/arm/include/armv7-m/irq.h
@@ -140,11 +140,11 @@ struct xcptcontext
uint32_t saved_primask;
#endif
uint32_t saved_xpsr;
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
uint32_t saved_lr;
#endif
-# ifdef CONFIG_NUTTX_KERNEL
+# ifdef CONFIG_BUILD_PROTECTED
/* This is the saved address to use when returning from a user-space
* signal handler.
*/
diff --git a/arch/arm/include/armv7-m/irq_lazyfpu.h b/arch/arm/include/armv7-m/irq_lazyfpu.h
index f2380cbb6de..e211cfbe506 100644
--- a/arch/arm/include/armv7-m/irq_lazyfpu.h
+++ b/arch/arm/include/armv7-m/irq_lazyfpu.h
@@ -65,7 +65,7 @@
#define REG_R10 (8) /* R10 */
#define REG_R11 (9) /* R11 */
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
# define REG_EXC_RETURN (10) /* EXC_RETURN */
# define SW_INT_REGS (11)
#else
diff --git a/arch/arm/src/a1x/a1x_boot.c b/arch/arm/src/a1x/a1x_boot.c
index 392b4744db9..9750bf90d9e 100644
--- a/arch/arm/src/a1x/a1x_boot.c
+++ b/arch/arm/src/a1x/a1x_boot.c
@@ -356,16 +356,6 @@ void up_boot(void)
up_earlyserialinit();
#endif
-#ifdef CONFIG_NUTTX_KERNEL
- /* For the case of the separate user-/kernel-space build, perform whatever
- * platform specific initialization of the user memory is required.
- * Normally this just means initializing the user space .data and .bss
- * segments.
- */
-
- a1x_userspace();
-#endif
-
/* Perform board-specific initialization, This must include:
*
* - Initialization of board-specific memory resources (e.g., SDRAM)
diff --git a/arch/arm/src/arm/up_initialstate.c b/arch/arm/src/arm/up_initialstate.c
index 7d8ef65b18e..2ff8cedbf37 100644
--- a/arch/arm/src/arm/up_initialstate.c
+++ b/arch/arm/src/arm/up_initialstate.c
@@ -114,7 +114,7 @@ void up_initial_state(struct tcb_s *tcb)
* what kind of thread is being started. Disable FIQs in any event
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_KERNEL
if ((tcb->flags & TCB_FLAG_TTYPE_MASK) == TCB_FLAG_TTYPE_KERNEL)
{
/* It is a kernel thread.. set supervisor mode */
diff --git a/arch/arm/src/armv6-m/svcall.h b/arch/arm/src/armv6-m/svcall.h
index 0aaf9b70103..c3e849394e0 100644
--- a/arch/arm/src/armv6-m/svcall.h
+++ b/arch/arm/src/armv6-m/svcall.h
@@ -53,11 +53,11 @@
/* Configuration ********************************************************************/
/* This logic uses three system calls {0,1,2} for context switching and one for the
* syscall return. So a minimum of four syscall values must be reserved. If
- * CONFIG_NUTTX_KERNEL is defined, then four more syscall values must be reserved.
+ * CONFIG_BUILD_PROTECTED is defined, then four more syscall values must be reserved.
*/
#ifdef CONFIG_LIB_SYSCALL
-# ifdef CONFIG_NUTTX_KERNEL
+# ifdef CONFIG_BUILD_PROTECTED
# ifndef CONFIG_SYS_RESERVED
# error "CONFIG_SYS_RESERVED must be defined to have the value 8"
# elif CONFIG_SYS_RESERVED != 8
@@ -103,7 +103,7 @@
#define SYS_syscall_return (3)
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
/* SYS call 4:
*
* void up_task_start(main_t taskentry, int argc, FAR char *argv[])
@@ -135,7 +135,7 @@
#define SYS_signal_handler_return (7)
-#endif /* CONFIG_NUTTX_KERNEL */
+#endif /* CONFIG_BUILD_PROTECTED */
#endif /* CONFIG_LIB_SYSCALL */
/************************************************************************************
diff --git a/arch/arm/src/armv6-m/up_assert.c b/arch/arm/src/armv6-m/up_assert.c
index 5bd9790d03f..492ee730ee3 100644
--- a/arch/arm/src/armv6-m/up_assert.c
+++ b/arch/arm/src/armv6-m/up_assert.c
@@ -160,7 +160,7 @@ static inline void up_registerdump(void)
current_regs[REG_R10], current_regs[REG_R11],
current_regs[REG_R12], current_regs[REG_R13],
current_regs[REG_R14], current_regs[REG_R15]);
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
lldbg("xPSR: %08x PRIMASK: %08x EXEC_RETURN: %08x\n",
current_regs[REG_XPSR], current_regs[REG_PRIMASK],
current_regs[REG_EXC_RETURN]);
diff --git a/arch/arm/src/armv6-m/up_exception.S b/arch/arm/src/armv6-m/up_exception.S
index 1a04cfe278e..62cb7a2d681 100644
--- a/arch/arm/src/armv6-m/up_exception.S
+++ b/arch/arm/src/armv6-m/up_exception.S
@@ -92,7 +92,7 @@ exception_common:
* the context is on the MSP or PSP.
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
mov r0, r14 /* Copy high register to low register */
lsl r0, #(31 - EXC_RETURN_PROCESS_BITNO) /* Move to bit 31 */
bmi 1f /* Test bit 31 */
@@ -129,7 +129,7 @@ exception_common:
mov r3, r9
mov r4, r10
mov r5, r11
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
mov r6, r14
stmia r0!, {r2-r6} /* Save the high registers r8-r11 and r14 */
#else
@@ -200,7 +200,7 @@ exception_common:
mov r2, #(4*REG_R8) /* R2=Offset to R8 storage */
add r0, r1, r2 /* R0=Address of R8 storage */
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
ldmia r0!, {r2-r6} /* Recover R8-R11 and R14 (5 registers)*/
mov r8, r2 /* Move to position in high registers */
mov r9, r3
@@ -227,7 +227,7 @@ exception_common:
* context is on the MSP or PSP.
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
mov r0, r14 /* Copy high register to low register */
lsl r0, #(31 - EXC_RETURN_PROCESS_BITNO) /* Move to bit 31 */
bmi 5f /* Test bit 31 */
diff --git a/arch/arm/src/armv6-m/up_hardfault.c b/arch/arm/src/armv6-m/up_hardfault.c
index 988a4f13bdd..b7bbe881444 100644
--- a/arch/arm/src/armv6-m/up_hardfault.c
+++ b/arch/arm/src/armv6-m/up_hardfault.c
@@ -99,7 +99,7 @@ int up_hardfault(int irq, FAR void *context)
* REVISIT: What if the PC lies in "unknown" external memory?
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
/* In the kernel build, SVCalls are expected in either the base, kernel
* FLASH region or in the user FLASH region.
*/
diff --git a/arch/arm/src/armv6-m/up_initialstate.c b/arch/arm/src/armv6-m/up_initialstate.c
index 6dc000d125e..1ee31309514 100644
--- a/arch/arm/src/armv6-m/up_initialstate.c
+++ b/arch/arm/src/armv6-m/up_initialstate.c
@@ -126,9 +126,9 @@ void up_initial_state(struct tcb_s *tcb)
#endif
#endif /* CONFIG_PIC */
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
/* All tasks start via a stub function in kernel space. So all
- * tasks must start in privileged thread mode. If CONFIG_NUTTX_KERNEL
+ * tasks must start in privileged thread mode. If CONFIG_BUILD_PROTECTED
* is defined, then that stub function will switch to unprivileged
* mode before transferring control to the user task.
*/
diff --git a/arch/arm/src/armv6-m/up_schedulesigaction.c b/arch/arm/src/armv6-m/up_schedulesigaction.c
index e6e4314fd68..e538674b47e 100644
--- a/arch/arm/src/armv6-m/up_schedulesigaction.c
+++ b/arch/arm/src/armv6-m/up_schedulesigaction.c
@@ -152,7 +152,7 @@ void up_schedule_sigaction(struct tcb_s *tcb, sig_deliver_t sigdeliver)
tcb->xcp.saved_pc = current_regs[REG_PC];
tcb->xcp.saved_primask = current_regs[REG_PRIMASK];
tcb->xcp.saved_xpsr = current_regs[REG_XPSR];
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
tcb->xcp.saved_lr = current_regs[REG_LR];
#endif
/* Then set up to vector to the trampoline with interrupts
@@ -163,7 +163,7 @@ void up_schedule_sigaction(struct tcb_s *tcb, sig_deliver_t sigdeliver)
current_regs[REG_PC] = (uint32_t)up_sigdeliver;
current_regs[REG_PRIMASK] = 1;
current_regs[REG_XPSR] = ARMV6M_XPSR_T;
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
current_regs[REG_LR] = EXC_RETURN_PRIVTHR;
#endif
/* And make sure that the saved context in the TCB is the same
@@ -190,7 +190,7 @@ void up_schedule_sigaction(struct tcb_s *tcb, sig_deliver_t sigdeliver)
tcb->xcp.saved_pc = tcb->xcp.regs[REG_PC];
tcb->xcp.saved_primask = tcb->xcp.regs[REG_PRIMASK];
tcb->xcp.saved_xpsr = tcb->xcp.regs[REG_XPSR];
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
tcb->xcp.saved_lr = tcb->xcp.regs[REG_LR];
#endif
@@ -202,7 +202,7 @@ void up_schedule_sigaction(struct tcb_s *tcb, sig_deliver_t sigdeliver)
tcb->xcp.regs[REG_PC] = (uint32_t)up_sigdeliver;
tcb->xcp.regs[REG_PRIMASK] = 1;
tcb->xcp.regs[REG_XPSR] = ARMV6M_XPSR_T;
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
tcb->xcp.regs[REG_LR] = EXC_RETURN_PRIVTHR;
#endif
}
diff --git a/arch/arm/src/armv6-m/up_sigdeliver.c b/arch/arm/src/armv6-m/up_sigdeliver.c
index e1e8589eaa9..def3de0ac8b 100644
--- a/arch/arm/src/armv6-m/up_sigdeliver.c
+++ b/arch/arm/src/armv6-m/up_sigdeliver.c
@@ -109,7 +109,7 @@ void up_sigdeliver(void)
regs[REG_PC] = rtcb->xcp.saved_pc;
regs[REG_PRIMASK] = rtcb->xcp.saved_primask;
regs[REG_XPSR] = rtcb->xcp.saved_xpsr;
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
regs[REG_LR] = rtcb->xcp.saved_lr;
#endif
diff --git a/arch/arm/src/armv6-m/up_signal_handler.S b/arch/arm/src/armv6-m/up_signal_handler.S
index 559b8c6d705..f294db9fc80 100644
--- a/arch/arm/src/armv6-m/up_signal_handler.S
+++ b/arch/arm/src/armv6-m/up_signal_handler.S
@@ -41,7 +41,7 @@
#include
-#if defined(CONFIG_NUTTX_KERNEL) && !defined(__KERNEL__)
+#if defined(CONFIG_BUILD_PROTECTED) && !defined(__KERNEL__)
/****************************************************************************
* File info
@@ -112,4 +112,4 @@ up_signal_handler:
.size up_signal_handler, .-up_signal_handler
.end
-#endif /* CONFIG_NUTTX_KERNEL && !__KERNEL__ */
+#endif /* CONFIG_BUILD_PROTECTED && !__KERNEL__ */
diff --git a/arch/arm/src/armv6-m/up_svcall.c b/arch/arm/src/armv6-m/up_svcall.c
index b88260281bf..ac5e89d7bb7 100644
--- a/arch/arm/src/armv6-m/up_svcall.c
+++ b/arch/arm/src/armv6-m/up_svcall.c
@@ -181,7 +181,7 @@ int up_svcall(int irq, FAR void *context)
svcdbg(" R8: %08x %08x %08x %08x %08x %08x %08x %08x\n",
regs[REG_R8], regs[REG_R9], regs[REG_R10], regs[REG_R11],
regs[REG_R12], regs[REG_R13], regs[REG_R14], regs[REG_R15]);
-# ifdef CONFIG_NUTTX_KERNEL
+# ifdef CONFIG_BUILD_PROTECTED
svcdbg(" PSR: %08x PRIMASK: %08x EXC_RETURN: %08x\n",
regs[REG_XPSR], regs[REG_PRIMASK], regs[REG_EXC_RETURN]);
# else
@@ -312,7 +312,7 @@ int up_svcall(int irq, FAR void *context)
* R3 = argv
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
case SYS_task_start:
{
/* Set up to return to the user-space task start-up function in
@@ -344,7 +344,7 @@ int up_svcall(int irq, FAR void *context)
* R2 = arg
*/
-#if defined(CONFIG_NUTTX_KERNEL) && !defined(CONFIG_DISABLE_PTHREAD)
+#if defined(CONFIG_BUILD_PROTECTED) && !defined(CONFIG_DISABLE_PTHREAD)
case SYS_pthread_start:
{
/* Set up to return to the user-space pthread start-up function in
@@ -378,7 +378,7 @@ int up_svcall(int irq, FAR void *context)
* ucontext (on the stack)
*/
-#if defined(CONFIG_NUTTX_KERNEL) && !defined(CONFIG_DISABLE_SIGNALS)
+#if defined(CONFIG_BUILD_PROTECTED) && !defined(CONFIG_DISABLE_SIGNALS)
case SYS_signal_handler:
{
struct tcb_s *rtcb = sched_self();
@@ -421,7 +421,7 @@ int up_svcall(int irq, FAR void *context)
* R0 = SYS_signal_handler_return
*/
-#if defined(CONFIG_NUTTX_KERNEL) && !defined(CONFIG_DISABLE_SIGNALS)
+#if defined(CONFIG_BUILD_PROTECTED) && !defined(CONFIG_DISABLE_SIGNALS)
case SYS_signal_handler_return:
{
struct tcb_s *rtcb = sched_self();
@@ -497,7 +497,7 @@ int up_svcall(int irq, FAR void *context)
current_regs[REG_R10], current_regs[REG_R11],
current_regs[REG_R12], current_regs[REG_R13],
current_regs[REG_R14], current_regs[REG_R15]);
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
svcdbg(" PSR: %08x PRIMASK: %08x EXC_RETURN: %08x\n",
current_regs[REG_XPSR], current_regs[REG_PRIMASK],
current_regs[REG_EXC_RETURN]);
diff --git a/arch/arm/src/armv7-a/arm_initialstate.c b/arch/arm/src/armv7-a/arm_initialstate.c
index d42062941b9..74205394c03 100644
--- a/arch/arm/src/armv7-a/arm_initialstate.c
+++ b/arch/arm/src/armv7-a/arm_initialstate.c
@@ -114,7 +114,7 @@ void up_initial_state(struct tcb_s *tcb)
* what kind of thread is being started. Disable FIQs in any event
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_KERNEL
if ((tcb->flags & TCB_FLAG_TTYPE_MASK) == TCB_FLAG_TTYPE_KERNEL)
{
/* It is a kernel thread.. set supervisor mode */
diff --git a/arch/arm/src/armv7-a/arm_syscall.c b/arch/arm/src/armv7-a/arm_syscall.c
index 542f9c7d0e9..32b122e42e0 100644
--- a/arch/arm/src/armv7-a/arm_syscall.c
+++ b/arch/arm/src/armv7-a/arm_syscall.c
@@ -157,7 +157,7 @@ static void dispatch_syscall(void)
uint32_t *arm_syscall(uint32_t *regs)
{
uint32_t cmd;
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_KERNEL
uint32_t cpsr;
#endif
@@ -214,7 +214,7 @@ uint32_t *arm_syscall(uint32_t *regs)
*/
regs[REG_PC] = rtcb->xcp.syscall[index].sysreturn;
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_KERNEL
regs[REG_CPSR] = rtcb->xcp.syscall[index].cpsr;
#endif
rtcb->xcp.nsyscalls = index;
@@ -239,7 +239,7 @@ uint32_t *arm_syscall(uint32_t *regs)
* R3 = argv
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_KERNEL
case SYS_task_start:
{
/* Set up to return to the user-space task start-up function in
@@ -272,7 +272,7 @@ uint32_t *arm_syscall(uint32_t *regs)
* R2 = arg
*/
-#if defined(CONFIG_NUTTX_KERNEL) && !defined(CONFIG_DISABLE_PTHREAD)
+#if defined(CONFIG_BUILD_KERNEL) && !defined(CONFIG_DISABLE_PTHREAD)
case SYS_pthread_start:
{
/* Set up to return to the user-space pthread start-up function in
@@ -307,7 +307,7 @@ uint32_t *arm_syscall(uint32_t *regs)
* ucontext (on the stack)
*/
-#if defined(CONFIG_NUTTX_KERNEL) && !defined(CONFIG_DISABLE_SIGNALS)
+#if defined(CONFIG_BUILD_KERNEL) && !defined(CONFIG_DISABLE_SIGNALS)
case SYS_signal_handler:
{
struct tcb_s *rtcb = sched_self();
@@ -351,7 +351,7 @@ uint32_t *arm_syscall(uint32_t *regs)
* R0 = SYS_signal_handler_return
*/
-#if defined(CONFIG_NUTTX_KERNEL) && !defined(CONFIG_DISABLE_SIGNALS)
+#if defined(CONFIG_BUILD_KERNEL) && !defined(CONFIG_DISABLE_SIGNALS)
case SYS_signal_handler_return:
{
struct tcb_s *rtcb = sched_self();
@@ -392,13 +392,13 @@ uint32_t *arm_syscall(uint32_t *regs)
/* Setup to return to dispatch_syscall in privileged mode. */
rtcb->xcp.syscall[index].sysreturn = regs[REG_PC];
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_KERNEL
rtcb->xcp.syscall[index].cpsr = regs[REG_CPSR];
#endif
rtcb->xcp.nsyscalls = index + 1;
regs[REG_PC] = (uint32_t)dispatch_syscall;
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_KERNEL
regval = regs[REG_CPSR] & ~PSR_MODE_MASK;
regs[REG_CPSR] = regval | PSR_MODE_SVC;
#endif
diff --git a/arch/arm/src/armv7-a/svcall.h b/arch/arm/src/armv7-a/svcall.h
index 90a25fb2cf5..5253e27b922 100644
--- a/arch/arm/src/armv7-a/svcall.h
+++ b/arch/arm/src/armv7-a/svcall.h
@@ -54,11 +54,11 @@
/* Configuration ********************************************************************/
/* This logic uses one system call for the syscall return. So a minimum of one
- * syscall values must be reserved. If CONFIG_NUTTX_KERNEL is defined, then four
+ * syscall values must be reserved. If CONFIG_BUILD_KERNEL is defined, then four
* more syscall values must be reserved.
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_KERNEL
# ifndef CONFIG_SYS_RESERVED
# error "CONFIG_SYS_RESERVED must be defined to have the value 5"
# elif CONFIG_SYS_RESERVED != 5
@@ -81,7 +81,7 @@
#define SYS_syscall_return (0)
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_KERNEL
/* SYS call 1:
*
* void up_task_start(main_t taskentry, int argc, FAR char *argv[])
@@ -113,7 +113,7 @@
#define SYS_signal_handler_return (4)
-#endif /* CONFIG_NUTTX_KERNEL */
+#endif /* CONFIG_BUILD_KERNEL */
/************************************************************************************
* Inline Functions
diff --git a/arch/arm/src/armv7-m/svcall.h b/arch/arm/src/armv7-m/svcall.h
index dd4ef8d6c26..f9057994619 100644
--- a/arch/arm/src/armv7-m/svcall.h
+++ b/arch/arm/src/armv7-m/svcall.h
@@ -53,11 +53,11 @@
/* Configuration ********************************************************************/
/* This logic uses three system calls {0,1,2} for context switching and one for the
* syscall return. So a minimum of four syscall values must be reserved. If
- * CONFIG_NUTTX_KERNEL is defined, then four more syscall values must be reserved.
+ * CONFIG_BUILD_PROTECTED is defined, then four more syscall values must be reserved.
*/
#ifdef CONFIG_LIB_SYSCALL
-# ifdef CONFIG_NUTTX_KERNEL
+# ifdef CONFIG_BUILD_PROTECTED
# ifndef CONFIG_SYS_RESERVED
# error "CONFIG_SYS_RESERVED must be defined to have the value 8"
# elif CONFIG_SYS_RESERVED != 8
@@ -103,7 +103,7 @@
#define SYS_syscall_return (3)
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
/* SYS call 4:
*
* void up_task_start(main_t taskentry, int argc, FAR char *argv[])
@@ -135,7 +135,7 @@
#define SYS_signal_handler_return (7)
-#endif /* CONFIG_NUTTX_KERNEL */
+#endif /* CONFIG_BUILD_PROTECTED */
#endif /* CONFIG_LIB_SYSCALL */
/************************************************************************************
diff --git a/arch/arm/src/armv7-m/up_exception.S b/arch/arm/src/armv7-m/up_exception.S
index 517525415be..88f5fe2d60e 100644
--- a/arch/arm/src/armv7-m/up_exception.S
+++ b/arch/arm/src/armv7-m/up_exception.S
@@ -66,7 +66,7 @@
* no privileged task has run.
*/
-# if defined(CONFIG_NUTTX_KERNEL) && CONFIG_ARCH_INTERRUPTSTACK < 4
+# if defined(CONFIG_BUILD_PROTECTED) && CONFIG_ARCH_INTERRUPTSTACK < 4
# error Interrupt stack must be used with high priority interrupts in kernel mode
# endif
@@ -259,7 +259,7 @@ exception_common:
/* The EXC_RETURN value tells us whether we are returning on the MSP or PSP
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
/* The EXC_RETURN value will be 0xfffffff9 (privileged thread) or 0xfffffff1
* (handler mode) if the stack is on the MSP. It can only be on the PSP if
* EXC_RETURN is 0xfffffffd (unprivileged thread)
diff --git a/arch/arm/src/armv7-m/up_hardfault.c b/arch/arm/src/armv7-m/up_hardfault.c
index 732c2ca0ea0..7af0fe551ea 100644
--- a/arch/arm/src/armv7-m/up_hardfault.c
+++ b/arch/arm/src/armv7-m/up_hardfault.c
@@ -108,7 +108,7 @@ int up_hardfault(int irq, FAR void *context)
* use the BASEPRI register if you have external memory.
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
/* In the kernel build, SVCalls are expected in either the base, kernel
* FLASH region or in the user FLASH region.
*/
diff --git a/arch/arm/src/armv7-m/up_initialstate.c b/arch/arm/src/armv7-m/up_initialstate.c
index e7f7ef7fdb8..d4c625b86f5 100644
--- a/arch/arm/src/armv7-m/up_initialstate.c
+++ b/arch/arm/src/armv7-m/up_initialstate.c
@@ -126,16 +126,16 @@ void up_initial_state(struct tcb_s *tcb)
#endif
#endif /* CONFIG_PIC */
-#if defined(CONFIG_ARMV7M_CMNVECTOR) || defined(CONFIG_NUTTX_KERNEL)
+#if defined(CONFIG_ARMV7M_CMNVECTOR) || defined(CONFIG_BUILD_PROTECTED)
/* All tasks start via a stub function in kernel space. So all
- * tasks must start in privileged thread mode. If CONFIG_NUTTX_KERNEL
+ * tasks must start in privileged thread mode. If CONFIG_BUILD_PROTECTED
* is defined, then that stub function will switch to unprivileged
* mode before transferring control to the user task.
*/
xcp->regs[REG_EXC_RETURN] = EXC_RETURN_PRIVTHR;
-#endif /* CONFIG_ARMV7M_CMNVECTOR || CONFIG_NUTTX_KERNEL */
+#endif /* CONFIG_ARMV7M_CMNVECTOR || CONFIG_BUILD_PROTECTED */
#if defined(CONFIG_ARMV7M_CMNVECTOR) && defined(CONFIG_ARCH_FPU)
diff --git a/arch/arm/src/armv7-m/up_schedulesigaction.c b/arch/arm/src/armv7-m/up_schedulesigaction.c
index 8110ef2dac1..d61420a73dc 100644
--- a/arch/arm/src/armv7-m/up_schedulesigaction.c
+++ b/arch/arm/src/armv7-m/up_schedulesigaction.c
@@ -157,7 +157,7 @@ void up_schedule_sigaction(struct tcb_s *tcb, sig_deliver_t sigdeliver)
tcb->xcp.saved_primask = current_regs[REG_PRIMASK];
#endif
tcb->xcp.saved_xpsr = current_regs[REG_XPSR];
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
tcb->xcp.saved_lr = current_regs[REG_LR];
#endif
/* Then set up to vector to the trampoline with interrupts
@@ -172,7 +172,7 @@ void up_schedule_sigaction(struct tcb_s *tcb, sig_deliver_t sigdeliver)
current_regs[REG_PRIMASK] = 1;
#endif
current_regs[REG_XPSR] = ARMV7M_XPSR_T;
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
current_regs[REG_LR] = EXC_RETURN_PRIVTHR;
#endif
/* And make sure that the saved context in the TCB is the same
@@ -203,7 +203,7 @@ void up_schedule_sigaction(struct tcb_s *tcb, sig_deliver_t sigdeliver)
tcb->xcp.saved_primask = tcb->xcp.regs[REG_PRIMASK];
#endif
tcb->xcp.saved_xpsr = tcb->xcp.regs[REG_XPSR];
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
tcb->xcp.saved_lr = tcb->xcp.regs[REG_LR];
#endif
/* Then set up to vector to the trampoline with interrupts
@@ -218,7 +218,7 @@ void up_schedule_sigaction(struct tcb_s *tcb, sig_deliver_t sigdeliver)
tcb->xcp.regs[REG_PRIMASK] = 1;
#endif
tcb->xcp.regs[REG_XPSR] = ARMV7M_XPSR_T;
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
tcb->xcp.regs[REG_LR] = EXC_RETURN_PRIVTHR;
#endif
}
diff --git a/arch/arm/src/armv7-m/up_sigdeliver.c b/arch/arm/src/armv7-m/up_sigdeliver.c
index 4fbfc02c5d3..c65f3cf0a63 100644
--- a/arch/arm/src/armv7-m/up_sigdeliver.c
+++ b/arch/arm/src/armv7-m/up_sigdeliver.c
@@ -108,7 +108,7 @@ void up_sigdeliver(void)
regs[REG_PRIMASK] = rtcb->xcp.saved_primask;
#endif
regs[REG_XPSR] = rtcb->xcp.saved_xpsr;
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
regs[REG_LR] = rtcb->xcp.saved_lr;
#endif
diff --git a/arch/arm/src/armv7-m/up_signal_handler.S b/arch/arm/src/armv7-m/up_signal_handler.S
index f19dcdaa76a..38a0bd35d38 100644
--- a/arch/arm/src/armv7-m/up_signal_handler.S
+++ b/arch/arm/src/armv7-m/up_signal_handler.S
@@ -41,7 +41,7 @@
#include
-#if defined(CONFIG_NUTTX_KERNEL) && !defined(__KERNEL__)
+#if defined(CONFIG_BUILD_PROTECTED) && !defined(__KERNEL__)
/****************************************************************************
* File info
@@ -115,4 +115,4 @@ up_signal_handler:
.size up_signal_handler, .-up_signal_handler
.end
-#endif /* CONFIG_NUTTX_KERNEL && !__KERNEL__ */
+#endif /* CONFIG_BUILD_PROTECTED && !__KERNEL__ */
diff --git a/arch/arm/src/armv7-m/up_svcall.c b/arch/arm/src/armv7-m/up_svcall.c
index 4a87401c152..80d07b4e505 100644
--- a/arch/arm/src/armv7-m/up_svcall.c
+++ b/arch/arm/src/armv7-m/up_svcall.c
@@ -311,7 +311,7 @@ int up_svcall(int irq, FAR void *context)
* R3 = argv
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
case SYS_task_start:
{
/* Set up to return to the user-space task start-up function in
@@ -343,7 +343,7 @@ int up_svcall(int irq, FAR void *context)
* R2 = arg
*/
-#if defined(CONFIG_NUTTX_KERNEL) && !defined(CONFIG_DISABLE_PTHREAD)
+#if defined(CONFIG_BUILD_PROTECTED) && !defined(CONFIG_DISABLE_PTHREAD)
case SYS_pthread_start:
{
/* Set up to return to the user-space pthread start-up function in
@@ -377,7 +377,7 @@ int up_svcall(int irq, FAR void *context)
* ucontext (on the stack)
*/
-#if defined(CONFIG_NUTTX_KERNEL) && !defined(CONFIG_DISABLE_SIGNALS)
+#if defined(CONFIG_BUILD_PROTECTED) && !defined(CONFIG_DISABLE_SIGNALS)
case SYS_signal_handler:
{
struct tcb_s *rtcb = sched_self();
@@ -420,7 +420,7 @@ int up_svcall(int irq, FAR void *context)
* R0 = SYS_signal_handler_return
*/
-#if defined(CONFIG_NUTTX_KERNEL) && !defined(CONFIG_DISABLE_SIGNALS)
+#if defined(CONFIG_BUILD_PROTECTED) && !defined(CONFIG_DISABLE_SIGNALS)
case SYS_signal_handler_return:
{
struct tcb_s *rtcb = sched_self();
diff --git a/arch/arm/src/common/up_allocateheap.c b/arch/arm/src/common/up_allocateheap.c
index a5c1a068c6d..f312ae0675c 100644
--- a/arch/arm/src/common/up_allocateheap.c
+++ b/arch/arm/src/common/up_allocateheap.c
@@ -1,7 +1,7 @@
/****************************************************************************
* arch/arm/src/common/up_allocateheap.c
*
- * Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2007, 2008, 2014 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt
*
* Redistribution and use in source and binary forms, with or without
@@ -55,6 +55,13 @@
/****************************************************************************
* Private Definitions
****************************************************************************/
+/* Configuration */
+
+#undef HAVE_KERNEL_HEAP
+#if (defined(CONFIG_BUILD_PROTECTED) || defined(CONFIG_BUILD_KERNEL)) && \
+ defined(CONFIG_MM_KERNEL_HEAP)
+# define HAVE_KERNEL_HEAP 1
+#endif
/****************************************************************************
* Private Data
@@ -74,9 +81,9 @@
* Description:
* This function will be called to dynamically set aside the heap region.
*
- * For the kernel build (CONFIG_NUTTX_KERNEL=y) with both kernel- and
- * user-space heaps (CONFIG_MM_KERNEL_HEAP=y), this function provides the
- * size of the unprotected, user-space heap.
+ * For the kernel build (CONFIG_BUILD_KERNEL/PROTECTED=y) with both kernel-
+ * and user-space heaps (CONFIG_MM_KERNEL_HEAP=y), this function provides
+ * the size of the unprotected, user-space heap.
*
* If a protected kernel-space heap is provided, the kernel heap must be
* allocated by an analogous up_allocate_kheap(). A custom version of this
@@ -104,7 +111,7 @@
void up_allocate_heap(FAR void **heap_start, size_t *heap_size)
{
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#ifdef HAVE_KERNEL_HEAP
/* Get the unaligned size and position of the user-space heap.
* This heap begins after the user-space .bss section at an offset
* of CONFIG_MM_KERNEL_HEAPSIZE (subject to alignment).
@@ -134,14 +141,14 @@ void up_allocate_heap(FAR void **heap_start, size_t *heap_size)
* Name: up_allocate_kheap
*
* Description:
- * For the kernel build (CONFIG_NUTTX_KERNEL=y) with both kernel- and
- * user-space heaps (CONFIG_MM_KERNEL_HEAP=y), this function allocates
+ * For the kernel build (CONFIG_BUILD_PROTECTED/KERNEL=y) with both kernel-
+ * and user-space heaps (CONFIG_MM_KERNEL_HEAP=y), this function allocates
* the kernel-space heap. A custom version of this function is need if
* memory protection of the kernel heap is required.
*
****************************************************************************/
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#ifdef HAVE_KERNEL_HEAP
void up_allocate_kheap(FAR void **heap_start, size_t *heap_size)
{
/* Get the unaligned size and position of the user-space heap.
diff --git a/arch/arm/src/common/up_createstack.c b/arch/arm/src/common/up_createstack.c
index 44d6ce8628a..38170e2289d 100644
--- a/arch/arm/src/common/up_createstack.c
+++ b/arch/arm/src/common/up_createstack.c
@@ -1,7 +1,7 @@
/****************************************************************************
* arch/arm/src/common/up_createstack.c
*
- * Copyright (C) 2007-2013 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2007-2014 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt
*
* Redistribution and use in source and binary forms, with or without
@@ -54,6 +54,13 @@
/****************************************************************************
* Pre-processor Macros
****************************************************************************/
+/* Configuration */
+
+#undef HAVE_KERNEL_HEAP
+#if (defined(CONFIG_BUILD_PROTECTED) || defined(CONFIG_BUILD_KERNEL)) && \
+ defined(CONFIG_MM_KERNEL_HEAP)
+# define HAVE_KERNEL_HEAP 1
+#endif
/* ARM requires at least a 4-byte stack alignment. For use with EABI and
* floating point, the stack must be aligned to 8-byte addresses.
@@ -120,10 +127,11 @@
* however, there are certain contexts where the TCB may not be fully
* initialized when up_create_stack is called.
*
- * If CONFIG_NUTTX_KERNEL is defined, then this thread type may affect
- * how the stack is allocated. For example, kernel thread stacks should
- * be allocated from protected kernel memory. Stacks for user tasks and
- * threads must come from memory that is accessible to user code.
+ * If either CONFIG_BUILD_PROTECTED or CONFIG_BUILD_KERNEL are defined,
+ * then this thread type may affect how the stack is allocated. For
+ * example, kernel thread stacks should be allocated from protected
+ * kernel memory. Stacks for user tasks and threads must come from
+ * memory that is accessible to user code.
*
****************************************************************************/
@@ -149,7 +157,7 @@ int up_create_stack(FAR struct tcb_s *tcb, size_t stack_size, uint8_t ttype)
* then create a zeroed stack to make stack dumps easier to trace.
*/
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#ifdef HAVE_KERNEL_HEAP
/* Use the kernel allocator if this is a kernel thread */
if (ttype == TCB_FLAG_TTYPE_KERNEL)
diff --git a/arch/arm/src/common/up_pthread_start.c b/arch/arm/src/common/up_pthread_start.c
index 2f9de8995a2..31ccb80c1fe 100644
--- a/arch/arm/src/common/up_pthread_start.c
+++ b/arch/arm/src/common/up_pthread_start.c
@@ -1,7 +1,7 @@
/****************************************************************************
* arch/arm/src/common/up_pthread_start.c
*
- * Copyright (C) 2013 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2013-2014 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt
*
* Redistribution and use in source and binary forms, with or without
@@ -44,7 +44,9 @@
#include "svcall.h"
#include "up_internal.h"
-#if defined(CONFIG_NUTTX_KERNEL) && defined(__KERNEL__) && !defined(CONFIG_DISABLE_PTHREAD)
+#if ((defined(CONFIG_BUILD_PROTECTED) && defined(__KERNEL__) || \
+ defined(defined(CONFIG_BUILD_KERNEL)) && \
+ !defined(CONFIG_DISABLE_PTHREAD)
/****************************************************************************
* Pre-processor Definitions
@@ -93,4 +95,4 @@ void up_pthread_start(pthread_startroutine_t entrypt, pthread_addr_t arg)
sys_call2(SYS_pthread_start, (uintptr_t)entrypt, (uintptr_t)arg);
}
-#endif /* CONFIG_NUTTX_KERNEL &&& __KERNEL__ && !CONFIG_DISABLE_PTHREAD */
+#endif /* (CONFIG_BUILD_PROTECTED || CONFIG_BUILD_KERNEL) && !CONFIG_DISABLE_PTHREAD */
diff --git a/arch/arm/src/common/up_releasestack.c b/arch/arm/src/common/up_releasestack.c
index 9668ec245d7..d7abec71ac7 100644
--- a/arch/arm/src/common/up_releasestack.c
+++ b/arch/arm/src/common/up_releasestack.c
@@ -47,6 +47,17 @@
#include "up_internal.h"
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+/* Configuration */
+
+#undef HAVE_KERNEL_HEAP
+#if (defined(CONFIG_BUILD_PROTECTED) || defined(CONFIG_BUILD_KERNEL)) && \
+ defined(CONFIG_MM_KERNEL_HEAP)
+# define HAVE_KERNEL_HEAP 1
+#endif
+
/****************************************************************************
* Private Types
****************************************************************************/
@@ -79,11 +90,11 @@
* however, there are certain error recovery contexts where the TCB may
* not be fully initialized when up_release_stack is called.
*
- * If CONFIG_NUTTX_KERNEL is defined, then this thread type may affect
- * how the stack is freed. For example, kernel thread stacks may have
- * been allocated from protected kernel memory. Stacks for user tasks
- * and threads must have come from memory that is accessible to user
- * code.
+ * If either CONFIG_BUILD_PROTECTED or CONFIG_BUILD_KERNEL are defined,
+ * then this thread type may affect how the stack is freed. For example,
+ * kernel thread stacks may have been allocated from protected kernel
+ * memory. Stacks for user tasks and threads must have come from memory
+ * that is accessible to user code.
*
* Returned Value:
* None
@@ -96,7 +107,7 @@ void up_release_stack(FAR struct tcb_s *dtcb, uint8_t ttype)
if (dtcb->stack_alloc_ptr)
{
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#ifdef HAVE_KERNEL_HEAP
/* Use the kernel allocator if this is a kernel thread */
if (ttype == TCB_FLAG_TTYPE_KERNEL)
diff --git a/arch/arm/src/common/up_signal_dispatch.c b/arch/arm/src/common/up_signal_dispatch.c
index d46b7792838..75725237f6b 100644
--- a/arch/arm/src/common/up_signal_dispatch.c
+++ b/arch/arm/src/common/up_signal_dispatch.c
@@ -1,7 +1,7 @@
/****************************************************************************
* arch/arm/src/common/up_signal_dispatch.c
*
- * Copyright (C) 2013 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2013-2014 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt
*
* Redistribution and use in source and binary forms, with or without
@@ -43,7 +43,9 @@
#include "svcall.h"
#include "up_internal.h"
-#if defined(CONFIG_NUTTX_KERNEL) && defined(__KERNEL__) && !defined(CONFIG_DISABLE_SIGNALS)
+#if ((defined(CONFIG_BUILD_PROTECTED) && defined(__KERNEL__) || \
+ defined(defined(CONFIG_BUILD_KERNEL)) && \
+ !defined(CONFIG_DISABLE_SIGNALS)
/****************************************************************************
* Pre-processor Definitions
@@ -99,4 +101,4 @@ void up_signal_dispatch(_sa_sigaction_t sighand, int signo,
(uintptr_t)info, (uintptr_t)ucontext);
}
-#endif /* CONFIG_NUTTX_KERNEL && __KERNEL__ && !CONFIG_DISABLE_SIGNALS */
+#endif /* (CONFIG_BUILD_PROTECTED || CONFIG_BUILD_KERNEL) && !CONFIG_DISABLE_PTHREAD */
diff --git a/arch/arm/src/common/up_task_start.c b/arch/arm/src/common/up_task_start.c
index 0a3f3c4a486..c840a19dc77 100644
--- a/arch/arm/src/common/up_task_start.c
+++ b/arch/arm/src/common/up_task_start.c
@@ -1,7 +1,7 @@
/****************************************************************************
* arch/arm/src/common/up_task_start.c
*
- * Copyright (C) 2013 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2013-2014 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt
*
* Redistribution and use in source and binary forms, with or without
@@ -43,7 +43,7 @@
#include "svcall.h"
#include "up_internal.h"
-#ifdef CONFIG_NUTTX_KERNEL
+#if defined(CONFIG_BUILD_PROTECTED) || defined(CONFIG_BUILD_KERNEL)
/****************************************************************************
* Pre-processor Definitions
@@ -94,4 +94,4 @@ void up_task_start(main_t taskentry, int argc, FAR char *argv[])
(uintptr_t)argv);
}
-#endif /* CONFIG_NUTTX_KERNEL */
+#endif /* CONFIG_BUILD_PROTECTED || CONFIG_BUILD_KERNEL */
diff --git a/arch/arm/src/dm320/dm320_allocateheap.c b/arch/arm/src/dm320/dm320_allocateheap.c
index 1ccffe3bbaa..509d08fedee 100644
--- a/arch/arm/src/dm320/dm320_allocateheap.c
+++ b/arch/arm/src/dm320/dm320_allocateheap.c
@@ -71,7 +71,7 @@
* This function will be called to dynamically set aside
* the heap region.
*
- * For the kernel build (CONFIG_NUTTX_KERNEL=y) with both
+ * For the kernel build (CONFIG_BUILD_KERNEL=y) with both
* kernel- and user-space heaps (CONFIG_MM_KERNEL_HEAP=y),
* this function provides the size of the unprotected,
* user-space heap.
diff --git a/arch/arm/src/imx/imx_allocateheap.c b/arch/arm/src/imx/imx_allocateheap.c
index 266e743f87d..93c0f48c0e3 100644
--- a/arch/arm/src/imx/imx_allocateheap.c
+++ b/arch/arm/src/imx/imx_allocateheap.c
@@ -74,7 +74,7 @@
* Description:
* This function will be called to dynamically set aside the heap region.
*
- * For the kernel build (CONFIG_NUTTX_KERNEL=y) with both kernel- and
+ * For the kernel build (CONFIG_BUILD_KERNEL=y) with both kernel- and
* user-space heaps (CONFIG_MM_KERNEL_HEAP=y), this function provides the
* size of the unprotected, user-space heap.
*
diff --git a/arch/arm/src/kinetis/Make.defs b/arch/arm/src/kinetis/Make.defs
index 6f0de059486..4e5689d2715 100644
--- a/arch/arm/src/kinetis/Make.defs
+++ b/arch/arm/src/kinetis/Make.defs
@@ -58,7 +58,7 @@ ifeq ($(CONFIG_ARCH_MEMCPY),y)
CMN_ASRCS += up_memcpy.S
endif
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
CMN_CSRCS += up_mpu.c up_task_start.c up_pthread_start.c up_stackframe.c
ifneq ($(CONFIG_DISABLE_SIGNALS),y)
CMN_CSRCS += up_signal_dispatch.c
@@ -91,7 +91,7 @@ ifneq ($(CONFIG_SCHED_TICKLESS),y)
CHIP_CSRCS += kinetis_timerisr.c
endif
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
CHIP_CSRCS += kinetis_userspace.c kinetis_mpuinit.c
endif
diff --git a/arch/arm/src/kinetis/kinetis_allocateheap.c b/arch/arm/src/kinetis/kinetis_allocateheap.c
index fab0b3cb51e..a03b1322234 100644
--- a/arch/arm/src/kinetis/kinetis_allocateheap.c
+++ b/arch/arm/src/kinetis/kinetis_allocateheap.c
@@ -76,7 +76,7 @@
* Description:
* This function will be called to dynamically set aside the heap region.
*
- * For the kernel build (CONFIG_NUTTX_KERNEL=y) with both kernel- and
+ * For the kernel build (CONFIG_BUILD_PROTECTED=y) with both kernel- and
* user-space heaps (CONFIG_MM_KERNEL_HEAP=y), this function provides the
* size of the unprotected, user-space heap.
*
@@ -105,7 +105,7 @@
void up_allocate_heap(FAR void **heap_start, size_t *heap_size)
{
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_PROTECTED) && defined(CONFIG_MM_KERNEL_HEAP)
/* Get the unaligned size and position of the user-space heap.
* This heap begins after the user-space .bss section at an offset
* of CONFIG_MM_KERNEL_HEAPSIZE (subject to alignment).
@@ -151,13 +151,13 @@ void up_allocate_heap(FAR void **heap_start, size_t *heap_size)
* Name: up_allocate_kheap
*
* Description:
- * For the kernel build (CONFIG_NUTTX_KERNEL=y) with both kernel- and
+ * For the kernel build (CONFIG_BUILD_PROTECTED=y) with both kernel- and
* user-space heaps (CONFIG_MM_KERNEL_HEAP=y), this function allocates
* (and protects) the kernel-space heap.
*
****************************************************************************/
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_PROTECTED) && defined(CONFIG_MM_KERNEL_HEAP)
void up_allocate_kheap(FAR void **heap_start, size_t *heap_size)
{
/* Get the unaligned size and position of the user-space heap.
diff --git a/arch/arm/src/kinetis/kinetis_mpuinit.c b/arch/arm/src/kinetis/kinetis_mpuinit.c
index bd81374ff88..07ea72229e0 100644
--- a/arch/arm/src/kinetis/kinetis_mpuinit.c
+++ b/arch/arm/src/kinetis/kinetis_mpuinit.c
@@ -46,7 +46,7 @@
#include "mpu.h"
#include "kinetis_mpuinit.h"
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_ARMV7M_MPU)
+#if defined(CONFIG_BUILD_PROTECTED) && defined(CONFIG_ARMV7M_MPU)
/****************************************************************************
* Private Definitions
@@ -120,5 +120,5 @@ void kinetis_mpu_uheap(uintptr_t start, size_t size)
mpu_userintsram(start, size);
}
-#endif /* CONFIG_NUTTX_KERNEL && CONFIG_ARMV7M_MPU */
+#endif /* CONFIG_BUILD_PROTECTED && CONFIG_ARMV7M_MPU */
diff --git a/arch/arm/src/kinetis/kinetis_mpuinit.h b/arch/arm/src/kinetis/kinetis_mpuinit.h
index 1e88b67a238..f3cf95370ef 100644
--- a/arch/arm/src/kinetis/kinetis_mpuinit.h
+++ b/arch/arm/src/kinetis/kinetis_mpuinit.h
@@ -67,7 +67,7 @@
*
****************************************************************************/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
void kinetis_mpuinitialize(void);
#else
# define kinetis_mpuinitialize()
@@ -81,7 +81,7 @@ void kinetis_mpuinitialize(void);
*
****************************************************************************/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
void kinetis_mpu_uheap(uintptr_t start, size_t size);
#else
# define kinetis_mpu_uheap(start,size)
diff --git a/arch/arm/src/kinetis/kinetis_start.c b/arch/arm/src/kinetis/kinetis_start.c
index b611709a64b..1d463ec2ebb 100644
--- a/arch/arm/src/kinetis/kinetis_start.c
+++ b/arch/arm/src/kinetis/kinetis_start.c
@@ -146,7 +146,7 @@ void __start(void)
* segments.
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
kinetis_userspace();
#endif
diff --git a/arch/arm/src/kinetis/kinetis_userspace.c b/arch/arm/src/kinetis/kinetis_userspace.c
index d0d57145db7..4fc37a09044 100644
--- a/arch/arm/src/kinetis/kinetis_userspace.c
+++ b/arch/arm/src/kinetis/kinetis_userspace.c
@@ -47,7 +47,7 @@
#include "kinetis_mpuinit.h"
#include "kinetis_userspace.h"
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
/****************************************************************************
* Pre-processor Definitions
@@ -115,5 +115,5 @@ void kinetis_userspace(void)
kinetis_mpuinitialize();
}
-#endif /* CONFIG_NUTTX_KERNEL */
+#endif /* CONFIG_BUILD_PROTECTED */
diff --git a/arch/arm/src/kinetis/kinetis_userspace.h b/arch/arm/src/kinetis/kinetis_userspace.h
index ecad3b60912..39b4b6ef541 100644
--- a/arch/arm/src/kinetis/kinetis_userspace.h
+++ b/arch/arm/src/kinetis/kinetis_userspace.h
@@ -69,7 +69,7 @@
*
****************************************************************************/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
void kinetis_userspace(void);
#endif
diff --git a/arch/arm/src/kinetis/kinetis_vectors.S b/arch/arm/src/kinetis/kinetis_vectors.S
index 8ba6db658df..ed0ba52a132 100644
--- a/arch/arm/src/kinetis/kinetis_vectors.S
+++ b/arch/arm/src/kinetis/kinetis_vectors.S
@@ -63,7 +63,7 @@
* nested interrupt, the interrupt stack if no privileged task has run.
*/
-# if defined(CONFIG_NUTTX_KERNEL) && CONFIG_ARCH_INTERRUPTSTACK < 4
+# if defined(CONFIG_BUILD_PROTECTED) && CONFIG_ARCH_INTERRUPTSTACK < 4
# error Interrupt stack must be used with high priority interrupts in kernel mode
# endif
@@ -621,7 +621,7 @@ exception_common:
/* Complete the context save */
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
/* The EXC_RETURN value will be 0xfffffff9 (privileged thread) or 0xfffffff1
* (handler mode) if the stack is on the MSP. It can only be on the PSP if
* EXC_RETURN is 0xfffffffd (unprivileged thread)
@@ -663,7 +663,7 @@ exception_common:
* r14=register values.
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
stmdb sp!, {r2-r11,r14} /* Save the remaining registers plus the SP value */
#else
stmdb sp!, {r2-r11} /* Save the remaining registers plus the SP value */
@@ -751,7 +751,7 @@ exception_common:
ldmia r1, {r4-r11} /* Fetch eight registers in HW save area */
ldr r1, [r0, #(4*REG_SP)] /* R1=Value of SP before interrupt */
stmdb r1!, {r4-r11} /* Store eight registers in HW save area */
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
ldmia r0, {r2-r11,r14} /* Recover R4-R11, r14 + 2 temp values */
#else
ldmia r0, {r2-r11} /* Recover R4-R11 + 2 temp values */
@@ -766,7 +766,7 @@ exception_common:
*/
2:
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
ldmia r1!, {r2-r11,r14} /* Recover R4-R11, r14 + 2 temp values */
#else
ldmia r1!, {r2-r11} /* Recover R4-R11 + 2 temp values */
@@ -791,7 +791,7 @@ exception_common:
3:
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
/* The EXC_RETURN value will be 0xfffffff9 (privileged thread) or 0xfffffff1
* (handler mode) if the stack is on the MSP. It can only be on the PSP if
* EXC_RETURN is 0xfffffffd (unprivileged thread)
diff --git a/arch/arm/src/kl/Make.defs b/arch/arm/src/kl/Make.defs
index 9fc5bcd08dd..12162fde0bb 100644
--- a/arch/arm/src/kl/Make.defs
+++ b/arch/arm/src/kl/Make.defs
@@ -47,7 +47,7 @@ CMN_CSRCS += up_schedulesigaction.c up_sigdeliver.c up_systemreset.c
CMN_CSRCS += up_unblocktask.c up_usestack.c up_doirq.c up_hardfault.c
CMN_CSRCS += up_svcall.c up_vectors.c up_vfork.c
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
CMN_CSRCS += up_task_start.c up_pthread_start.c up_stackframe.c
ifneq ($(CONFIG_DISABLE_SIGNALS),y)
CMN_CSRCS += up_signal_dispatch.c
@@ -75,7 +75,7 @@ ifneq ($(CONFIG_SCHED_TICKLESS),y)
CHIP_CSRCS += kl_timerisr.c
endif
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
CHIP_CSRCS += kl_userspace.c
endif
diff --git a/arch/arm/src/kl/kl_start.c b/arch/arm/src/kl/kl_start.c
index 79d1ec1600f..c87f65b7c36 100644
--- a/arch/arm/src/kl/kl_start.c
+++ b/arch/arm/src/kl/kl_start.c
@@ -162,7 +162,7 @@ void __start(void)
* segments.
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
kl_userspace();
showprogress('E');
#endif
diff --git a/arch/arm/src/kl/kl_userspace.c b/arch/arm/src/kl/kl_userspace.c
index 8949a90d2b3..d66bfe2e45d 100644
--- a/arch/arm/src/kl/kl_userspace.c
+++ b/arch/arm/src/kl/kl_userspace.c
@@ -46,7 +46,7 @@
#include "kl_userspace.h"
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
/****************************************************************************
* Pre-processor Definitions
@@ -110,5 +110,5 @@ void kl_userspace(void)
}
}
-#endif /* CONFIG_NUTTX_KERNEL */
+#endif /* CONFIG_BUILD_PROTECTED */
diff --git a/arch/arm/src/kl/kl_userspace.h b/arch/arm/src/kl/kl_userspace.h
index c92dfe2b02e..a87af46f7e0 100644
--- a/arch/arm/src/kl/kl_userspace.h
+++ b/arch/arm/src/kl/kl_userspace.h
@@ -69,7 +69,7 @@
*
****************************************************************************/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
void kl_userspace(void);
#endif
diff --git a/arch/arm/src/lpc17xx/Make.defs b/arch/arm/src/lpc17xx/Make.defs
index 19114864bc4..539e5de71e4 100644
--- a/arch/arm/src/lpc17xx/Make.defs
+++ b/arch/arm/src/lpc17xx/Make.defs
@@ -70,7 +70,7 @@ ifeq ($(CONFIG_ARCH_MEMCPY),y)
CMN_ASRCS += up_memcpy.S
endif
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
CMN_CSRCS += up_mpu.c up_task_start.c up_pthread_start.c up_stackframe.c
ifneq ($(CONFIG_DISABLE_SIGNALS),y)
CMN_CSRCS += up_signal_dispatch.c
@@ -113,7 +113,7 @@ ifeq ($(CONFIG_ARMV7M_CMNVECTOR),y)
CHIP_ASRCS += lpc17_vectors.S
endif
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
CHIP_CSRCS += lpc17_userspace.c lpc17_mpuinit.c
endif
diff --git a/arch/arm/src/lpc17xx/lpc17_allocateheap.c b/arch/arm/src/lpc17xx/lpc17_allocateheap.c
index cc84be35269..e5116a96a1a 100644
--- a/arch/arm/src/lpc17xx/lpc17_allocateheap.c
+++ b/arch/arm/src/lpc17xx/lpc17_allocateheap.c
@@ -186,7 +186,7 @@
* Description:
* This function will be called to dynamically set aside the heap region.
*
- * For the kernel build (CONFIG_NUTTX_KERNEL=y) with both kernel- and
+ * For the kernel build (CONFIG_BUILD_PROTECTED=y) with both kernel- and
* user-space heaps (CONFIG_MM_KERNEL_HEAP=y), this function provides the
* size of the unprotected, user-space heap.
*
@@ -215,7 +215,7 @@
void up_allocate_heap(FAR void **heap_start, size_t *heap_size)
{
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_PROTECTED) && defined(CONFIG_MM_KERNEL_HEAP)
/* Get the unaligned size and position of the user-space heap.
* This heap begins after the user-space .bss section at an offset
* of CONFIG_MM_KERNEL_HEAPSIZE (subject to alignment).
@@ -261,13 +261,13 @@ void up_allocate_heap(FAR void **heap_start, size_t *heap_size)
* Name: up_allocate_kheap
*
* Description:
- * For the kernel build (CONFIG_NUTTX_KERNEL=y) with both kernel- and
+ * For the kernel build (CONFIG_BUILD_PROTECTED=y) with both kernel- and
* user-space heaps (CONFIG_MM_KERNEL_HEAP=y), this function allocates
* (and protects) the kernel-space heap.
*
****************************************************************************/
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_PROTECTED) && defined(CONFIG_MM_KERNEL_HEAP)
void up_allocate_kheap(FAR void **heap_start, size_t *heap_size)
{
/* Get the unaligned size and position of the user-space heap.
@@ -326,7 +326,7 @@ void up_addregion(void)
*/
#ifdef LPC17_AHB_HEAPBASE
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_PROTECTED) && defined(CONFIG_MM_KERNEL_HEAP)
/* Yes.. allow user-mode access to the AHB SRAM user heap memory */
diff --git a/arch/arm/src/lpc17xx/lpc17_mpuinit.c b/arch/arm/src/lpc17xx/lpc17_mpuinit.c
index 046f6e70334..c8ccee51fcb 100644
--- a/arch/arm/src/lpc17xx/lpc17_mpuinit.c
+++ b/arch/arm/src/lpc17xx/lpc17_mpuinit.c
@@ -46,7 +46,7 @@
#include "mpu.h"
#include "lpc17_mpuinit.h"
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_ARMV7M_MPU)
+#if defined(CONFIG_BUILD_PROTECTED) && defined(CONFIG_ARMV7M_MPU)
/****************************************************************************
* Private Definitions
@@ -120,5 +120,5 @@ void lpc17_mpu_uheap(uintptr_t start, size_t size)
mpu_userintsram(start, size);
}
-#endif /* CONFIG_NUTTX_KERNEL && CONFIG_ARMV7M_MPU */
+#endif /* CONFIG_BUILD_PROTECTED && CONFIG_ARMV7M_MPU */
diff --git a/arch/arm/src/lpc17xx/lpc17_mpuinit.h b/arch/arm/src/lpc17xx/lpc17_mpuinit.h
index 4d0e6944ff2..145789532da 100644
--- a/arch/arm/src/lpc17xx/lpc17_mpuinit.h
+++ b/arch/arm/src/lpc17xx/lpc17_mpuinit.h
@@ -67,7 +67,7 @@
*
****************************************************************************/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
void lpc17_mpuinitialize(void);
#else
# define lpc17_mpuinitialize()
@@ -81,7 +81,7 @@ void lpc17_mpuinitialize(void);
*
****************************************************************************/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
void lpc17_mpu_uheap(uintptr_t start, size_t size);
#else
# define lpc17_mpu_uheap(start,size)
diff --git a/arch/arm/src/lpc17xx/lpc17_start.c b/arch/arm/src/lpc17xx/lpc17_start.c
index 80f136f11b3..2cfb16f3971 100644
--- a/arch/arm/src/lpc17xx/lpc17_start.c
+++ b/arch/arm/src/lpc17xx/lpc17_start.c
@@ -239,7 +239,7 @@ void __start(void)
* segments.
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
lpc17_userspace();
showprogress('E');
#endif
diff --git a/arch/arm/src/lpc17xx/lpc17_userspace.c b/arch/arm/src/lpc17xx/lpc17_userspace.c
index 8a2d23dde07..3e8f4e7744b 100644
--- a/arch/arm/src/lpc17xx/lpc17_userspace.c
+++ b/arch/arm/src/lpc17xx/lpc17_userspace.c
@@ -47,7 +47,7 @@
#include "lpc17_mpuinit.h"
#include "lpc17_userspace.h"
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
/****************************************************************************
* Pre-processor Definitions
@@ -115,5 +115,5 @@ void lpc17_userspace(void)
lpc17_mpuinitialize();
}
-#endif /* CONFIG_NUTTX_KERNEL */
+#endif /* CONFIG_BUILD_PROTECTED */
diff --git a/arch/arm/src/lpc17xx/lpc17_userspace.h b/arch/arm/src/lpc17xx/lpc17_userspace.h
index 880e52eda73..5adb8771cb6 100644
--- a/arch/arm/src/lpc17xx/lpc17_userspace.h
+++ b/arch/arm/src/lpc17xx/lpc17_userspace.h
@@ -69,7 +69,7 @@
*
****************************************************************************/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
void lpc17_userspace(void);
#endif
diff --git a/arch/arm/src/lpc17xx/lpc17_vectors.S b/arch/arm/src/lpc17xx/lpc17_vectors.S
index 9e54b304866..555bf0ddca7 100644
--- a/arch/arm/src/lpc17xx/lpc17_vectors.S
+++ b/arch/arm/src/lpc17xx/lpc17_vectors.S
@@ -64,7 +64,7 @@
* nested interrupt, the interrupt stack if no privileged task has run.
*/
-# if defined(CONFIG_NUTTX_KERNEL) && CONFIG_ARCH_INTERRUPTSTACK < 4
+# if defined(CONFIG_BUILD_PROTECTED) && CONFIG_ARCH_INTERRUPTSTACK < 4
# error Interrupt stack must be used with high priority interrupts in kernel mode
# endif
@@ -233,7 +233,7 @@ exception_common:
/* Complete the context save */
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
/* The EXC_RETURN value will be 0xfffffff9 (privileged thread) or 0xfffffff1
* (handler mode) if the stack is on the MSP. It can only be on the PSP if
* EXC_RETURN is 0xfffffffd (unprivileged thread)
@@ -275,7 +275,7 @@ exception_common:
* r14=register values.
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
stmdb sp!, {r2-r11,r14} /* Save the remaining registers plus the SP value */
#else
stmdb sp!, {r2-r11} /* Save the remaining registers plus the SP value */
@@ -363,7 +363,7 @@ exception_common:
ldmia r1, {r4-r11} /* Fetch eight registers in HW save area */
ldr r1, [r0, #(4*REG_SP)] /* R1=Value of SP before interrupt */
stmdb r1!, {r4-r11} /* Store eight registers in HW save area */
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
ldmia r0, {r2-r11,r14} /* Recover R4-R11, r14 + 2 temp values */
#else
ldmia r0, {r2-r11} /* Recover R4-R11 + 2 temp values */
@@ -378,7 +378,7 @@ exception_common:
*/
2:
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
ldmia r1!, {r2-r11,r14} /* Recover R4-R11, r14 + 2 temp values */
#else
ldmia r1!, {r2-r11} /* Recover R4-R11 + 2 temp values */
@@ -403,7 +403,7 @@ exception_common:
3:
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
/* The EXC_RETURN value will be 0xfffffff9 (privileged thread) or 0xfffffff1
* (handler mode) if the stack is on the MSP. It can only be on the PSP if
* EXC_RETURN is 0xfffffffd (unprivileged thread)
diff --git a/arch/arm/src/lpc31xx/lpc31_allocateheap.c b/arch/arm/src/lpc31xx/lpc31_allocateheap.c
index 6606f5a8057..4c2c262b162 100644
--- a/arch/arm/src/lpc31xx/lpc31_allocateheap.c
+++ b/arch/arm/src/lpc31xx/lpc31_allocateheap.c
@@ -159,7 +159,7 @@
* Description:
* This function will be called to dynamically set aside the heap region.
*
- * For the kernel build (CONFIG_NUTTX_KERNEL=y) with both kernel- and
+ * For the kernel build (CONFIG_BUILD_KERNEL=y) with both kernel- and
* user-space heaps (CONFIG_MM_KERNEL_HEAP=y), this function provides the
* size of the unprotected, user-space heap.
*
diff --git a/arch/arm/src/lpc43xx/Make.defs b/arch/arm/src/lpc43xx/Make.defs
index 9b4053b3b95..04793d7b1ff 100644
--- a/arch/arm/src/lpc43xx/Make.defs
+++ b/arch/arm/src/lpc43xx/Make.defs
@@ -59,7 +59,7 @@ ifeq ($(CONFIG_ARCH_MEMCPY),y)
CMN_ASRCS += up_memcpy.S
endif
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
CMN_CSRCS += up_mpu.c up_task_start.c up_pthread_start.c up_stackframe.c
ifneq ($(CONFIG_DISABLE_SIGNALS),y)
CMN_CSRCS += up_signal_dispatch.c
@@ -91,7 +91,7 @@ ifneq ($(CONFIG_SCHED_TICKLESS),y)
CHIP_CSRCS += lpc43_timerisr.c
endif
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
CHIP_CSRCS += lpc43_userspace.c lpc43_mpuinit.c
endif
diff --git a/arch/arm/src/lpc43xx/lpc43_allocateheap.c b/arch/arm/src/lpc43xx/lpc43_allocateheap.c
index 0dd84e1aebb..93cbe2acc3d 100644
--- a/arch/arm/src/lpc43xx/lpc43_allocateheap.c
+++ b/arch/arm/src/lpc43xx/lpc43_allocateheap.c
@@ -234,7 +234,7 @@ const uint32_t g_idle_topstack = (uint32_t)&_ebss + CONFIG_IDLETHREAD_STACKSIZE;
* Description:
* This function will be called to dynamically set aside the heap region.
*
- * For the kernel build (CONFIG_NUTTX_KERNEL=y) with both kernel- and
+ * For the kernel build (CONFIG_BUILD_PROTECTED=y) with both kernel- and
* user-space heaps (CONFIG_MM_KERNEL_HEAP=y), this function provides the
* size of the unprotected, user-space heap.
*
diff --git a/arch/arm/src/lpc43xx/lpc43_mpuinit.c b/arch/arm/src/lpc43xx/lpc43_mpuinit.c
index 02e8fb04ed1..c9a20b55ace 100644
--- a/arch/arm/src/lpc43xx/lpc43_mpuinit.c
+++ b/arch/arm/src/lpc43xx/lpc43_mpuinit.c
@@ -46,7 +46,7 @@
#include "mpu.h"
#include "lpc43_mpuinit.h"
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_ARMV7M_MPU)
+#if defined(CONFIG_BUILD_PROTECTED) && defined(CONFIG_ARMV7M_MPU)
/****************************************************************************
* Private Definitions
@@ -120,5 +120,5 @@ void lpc43_mpu_uheap(uintptr_t start, size_t size)
mpu_userintsram(start, size);
}
-#endif /* CONFIG_NUTTX_KERNEL && CONFIG_ARMV7M_MPU */
+#endif /* CONFIG_BUILD_PROTECTED && CONFIG_ARMV7M_MPU */
diff --git a/arch/arm/src/lpc43xx/lpc43_mpuinit.h b/arch/arm/src/lpc43xx/lpc43_mpuinit.h
index 1759e0dcd39..f4c6c59ca34 100644
--- a/arch/arm/src/lpc43xx/lpc43_mpuinit.h
+++ b/arch/arm/src/lpc43xx/lpc43_mpuinit.h
@@ -67,7 +67,7 @@
*
****************************************************************************/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
void lpc43_mpuinitialize(void);
#else
# define lpc43_mpuinitialize()
@@ -81,7 +81,7 @@ void lpc43_mpuinitialize(void);
*
****************************************************************************/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
void lpc43_mpu_uheap(uintptr_t start, size_t size);
#else
# define lpc43_mpu_uheap(start,size)
diff --git a/arch/arm/src/lpc43xx/lpc43_start.c b/arch/arm/src/lpc43xx/lpc43_start.c
index 19756c75498..f07811eb590 100644
--- a/arch/arm/src/lpc43xx/lpc43_start.c
+++ b/arch/arm/src/lpc43xx/lpc43_start.c
@@ -339,7 +339,7 @@ void __start(void)
* segments.
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
lpc43_userspace();
showprogress('F');
#endif
diff --git a/arch/arm/src/lpc43xx/lpc43_userspace.c b/arch/arm/src/lpc43xx/lpc43_userspace.c
index 7bc7f1c252d..822381b2491 100644
--- a/arch/arm/src/lpc43xx/lpc43_userspace.c
+++ b/arch/arm/src/lpc43xx/lpc43_userspace.c
@@ -47,7 +47,7 @@
#include "lpc43_mpuinit.h"
#include "lpc43_userspace.h"
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
/****************************************************************************
* Pre-processor Definitions
@@ -115,5 +115,5 @@ void lpc43_userspace(void)
lpc43_mpuinitialize();
}
-#endif /* CONFIG_NUTTX_KERNEL */
+#endif /* CONFIG_BUILD_PROTECTED */
diff --git a/arch/arm/src/lpc43xx/lpc43_userspace.h b/arch/arm/src/lpc43xx/lpc43_userspace.h
index f7632388f25..77b6d1e6092 100644
--- a/arch/arm/src/lpc43xx/lpc43_userspace.h
+++ b/arch/arm/src/lpc43xx/lpc43_userspace.h
@@ -69,7 +69,7 @@
*
****************************************************************************/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
void lpc43_userspace(void);
#endif
diff --git a/arch/arm/src/nuc1xx/Make.defs b/arch/arm/src/nuc1xx/Make.defs
index c8cfdf0a39f..6161b492889 100644
--- a/arch/arm/src/nuc1xx/Make.defs
+++ b/arch/arm/src/nuc1xx/Make.defs
@@ -47,7 +47,7 @@ CMN_CSRCS += up_schedulesigaction.c up_sigdeliver.c up_systemreset.c
CMN_CSRCS += up_unblocktask.c up_usestack.c up_doirq.c up_hardfault.c
CMN_CSRCS += up_svcall.c up_vectors.c up_vfork.c
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
CMN_CSRCS += up_task_start.c up_pthread_start.c up_stackframe.c
ifneq ($(CONFIG_DISABLE_SIGNALS),y)
CMN_CSRCS += up_signal_dispatch.c
@@ -75,7 +75,7 @@ ifneq ($(CONFIG_SCHED_TICKLESS),y)
CHIP_CSRCS += nuc_timerisr.c
endif
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
CHIP_CSRCS += nuc_userspace.c
endif
diff --git a/arch/arm/src/nuc1xx/nuc_start.c b/arch/arm/src/nuc1xx/nuc_start.c
index aeb0f4e6e0b..e7cf1b4b1f4 100644
--- a/arch/arm/src/nuc1xx/nuc_start.c
+++ b/arch/arm/src/nuc1xx/nuc_start.c
@@ -156,7 +156,7 @@ void __start(void)
* segments.
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
nuc_userspace();
showprogress('E');
#endif
diff --git a/arch/arm/src/nuc1xx/nuc_userspace.c b/arch/arm/src/nuc1xx/nuc_userspace.c
index 88a50695cd8..2ace6184b76 100644
--- a/arch/arm/src/nuc1xx/nuc_userspace.c
+++ b/arch/arm/src/nuc1xx/nuc_userspace.c
@@ -46,7 +46,7 @@
#include "nuc_userspace.h"
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
/****************************************************************************
* Pre-processor Definitions
@@ -110,5 +110,5 @@ void nuc_userspace(void)
}
}
-#endif /* CONFIG_NUTTX_KERNEL */
+#endif /* CONFIG_BUILD_PROTECTED */
diff --git a/arch/arm/src/nuc1xx/nuc_userspace.h b/arch/arm/src/nuc1xx/nuc_userspace.h
index 9123ce8e1fd..e648c04e7ae 100644
--- a/arch/arm/src/nuc1xx/nuc_userspace.h
+++ b/arch/arm/src/nuc1xx/nuc_userspace.h
@@ -69,7 +69,7 @@
*
****************************************************************************/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
void nuc_userspace(void);
#endif
diff --git a/arch/arm/src/sam34/Make.defs b/arch/arm/src/sam34/Make.defs
index 607b08fd648..ec7d10b3aee 100644
--- a/arch/arm/src/sam34/Make.defs
+++ b/arch/arm/src/sam34/Make.defs
@@ -62,7 +62,7 @@ ifeq ($(CONFIG_ARCH_MEMCPY),y)
CMN_ASRCS += up_memcpy.S
endif
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
CMN_CSRCS += up_mpu.c up_task_start.c up_pthread_start.c up_stackframe.c
ifneq ($(CONFIG_DISABLE_SIGNALS),y)
CMN_CSRCS += up_signal_dispatch.c
@@ -104,7 +104,7 @@ else
CHIP_CSRCS += sam_clockconfig.c sam_gpio.c
endif
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
CHIP_CSRCS += sam_userspace.c sam_mpuinit.c
endif
diff --git a/arch/arm/src/sam34/sam_allocateheap.c b/arch/arm/src/sam34/sam_allocateheap.c
index a868b419d95..dc468ed0d10 100644
--- a/arch/arm/src/sam34/sam_allocateheap.c
+++ b/arch/arm/src/sam34/sam_allocateheap.c
@@ -175,7 +175,7 @@
* Description:
* This function will be called to dynamically set aside the heap region.
*
- * For the kernel build (CONFIG_NUTTX_KERNEL=y) with both kernel- and
+ * For the kernel build (CONFIG_BUILD_PROTECTED=y) with both kernel- and
* user-space heaps (CONFIG_MM_KERNEL_HEAP=y), this function provides the
* size of the unprotected, user-space heap.
*
@@ -204,7 +204,7 @@
void up_allocate_heap(FAR void **heap_start, size_t *heap_size)
{
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_PROTECTED) && defined(CONFIG_MM_KERNEL_HEAP)
/* Get the unaligned size and position of the user-space heap.
* This heap begins after the user-space .bss section at an offset
* of CONFIG_MM_KERNEL_HEAPSIZE (subject to alignment).
@@ -250,13 +250,13 @@ void up_allocate_heap(FAR void **heap_start, size_t *heap_size)
* Name: up_allocate_kheap
*
* Description:
- * For the kernel build (CONFIG_NUTTX_KERNEL=y) with both kernel- and
+ * For the kernel build (CONFIG_BUILD_PROTECTED=y) with both kernel- and
* user-space heaps (CONFIG_MM_KERNEL_HEAP=y), this function allocates
* (and protects) the kernel-space heap.
*
****************************************************************************/
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_PROTECTED) && defined(CONFIG_MM_KERNEL_HEAP)
void up_allocate_kheap(FAR void **heap_start, size_t *heap_size)
{
/* Get the unaligned size and position of the user-space heap.
diff --git a/arch/arm/src/sam34/sam_mpuinit.c b/arch/arm/src/sam34/sam_mpuinit.c
index 3b49f9d9716..ec2366a8e79 100644
--- a/arch/arm/src/sam34/sam_mpuinit.c
+++ b/arch/arm/src/sam34/sam_mpuinit.c
@@ -46,7 +46,7 @@
#include "mpu.h"
#include "sam_mpuinit.h"
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_ARMV7M_MPU)
+#if defined(CONFIG_BUILD_PROTECTED) && defined(CONFIG_ARMV7M_MPU)
/****************************************************************************
* Private Definitions
@@ -120,5 +120,5 @@ void sam_mpu_uheap(uintptr_t start, size_t size)
mpu_userintsram(start, size);
}
-#endif /* CONFIG_NUTTX_KERNEL && CONFIG_ARMV7M_MPU */
+#endif /* CONFIG_BUILD_PROTECTED && CONFIG_ARMV7M_MPU */
diff --git a/arch/arm/src/sam34/sam_mpuinit.h b/arch/arm/src/sam34/sam_mpuinit.h
index d047447acbd..cedc3c8ef2e 100644
--- a/arch/arm/src/sam34/sam_mpuinit.h
+++ b/arch/arm/src/sam34/sam_mpuinit.h
@@ -85,7 +85,7 @@ extern "C"
*
****************************************************************************/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
void sam_mpuinitialize(void);
#else
# define sam_mpuinitialize()
@@ -99,7 +99,7 @@ void sam_mpuinitialize(void);
*
****************************************************************************/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
void sam_mpu_uheap(uintptr_t start, size_t size);
#else
# define sam_mpu_uheap(start,size)
diff --git a/arch/arm/src/sam34/sam_start.c b/arch/arm/src/sam34/sam_start.c
index 24857d9ce80..0a51927a543 100644
--- a/arch/arm/src/sam34/sam_start.c
+++ b/arch/arm/src/sam34/sam_start.c
@@ -154,7 +154,7 @@ void __start(void)
* segements.
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
sam_userspace();
showprogress('C');
#endif
diff --git a/arch/arm/src/sam34/sam_userspace.c b/arch/arm/src/sam34/sam_userspace.c
index fc266fe8f94..d61e07d0f3f 100644
--- a/arch/arm/src/sam34/sam_userspace.c
+++ b/arch/arm/src/sam34/sam_userspace.c
@@ -47,7 +47,7 @@
#include "sam_mpuinit.h"
#include "sam_userspace.h"
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
/****************************************************************************
* Private Definitions
@@ -115,5 +115,5 @@ void sam_userspace(void)
sam_mpuinitialize();
}
-#endif /* CONFIG_NUTTX_KERNEL */
+#endif /* CONFIG_BUILD_PROTECTED */
diff --git a/arch/arm/src/sam34/sam_userspace.h b/arch/arm/src/sam34/sam_userspace.h
index b2457758938..57ce401d350 100644
--- a/arch/arm/src/sam34/sam_userspace.h
+++ b/arch/arm/src/sam34/sam_userspace.h
@@ -92,7 +92,7 @@ extern "C"
*
****************************************************************************/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
void sam_userspace(void);
#endif
diff --git a/arch/arm/src/sam34/sam_vectors.S b/arch/arm/src/sam34/sam_vectors.S
index 10cbd82f385..51524be8604 100644
--- a/arch/arm/src/sam34/sam_vectors.S
+++ b/arch/arm/src/sam34/sam_vectors.S
@@ -62,7 +62,7 @@
* nested interrupt, the interrupt stack if no privileged task has run.
*/
-# if defined(CONFIG_NUTTX_KERNEL) && CONFIG_ARCH_INTERRUPTSTACK < 4
+# if defined(CONFIG_BUILD_PROTECTED) && CONFIG_ARCH_INTERRUPTSTACK < 4
# error Interrupt stack must be used with high priority interrupts in kernel mode
# endif
@@ -246,7 +246,7 @@ exception_common:
/* Complete the context save */
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
/* The EXC_RETURN value will be 0xfffffff9 (privileged thread) or 0xfffffff1
* (handler mode) if the stack is on the MSP. It can only be on the PSP if
* EXC_RETURN is 0xfffffffd (unprivileged thread)
@@ -288,7 +288,7 @@ exception_common:
* r14=register values.
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
stmdb sp!, {r2-r11,r14} /* Save the remaining registers plus the SP value */
#else
stmdb sp!, {r2-r11} /* Save the remaining registers plus the SP value */
@@ -376,7 +376,7 @@ exception_common:
ldmia r1, {r4-r11} /* Fetch eight registers in HW save area */
ldr r1, [r0, #(4*REG_SP)] /* R1=Value of SP before interrupt */
stmdb r1!, {r4-r11} /* Store eight registers in HW save area */
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
ldmia r0, {r2-r11,r14} /* Recover R4-R11, r14 + 2 temp values */
#else
ldmia r0, {r2-r11} /* Recover R4-R11 + 2 temp values */
@@ -391,7 +391,7 @@ exception_common:
*/
2:
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
ldmia r1!, {r2-r11,r14} /* Recover R4-R11, r14 + 2 temp values */
#else
ldmia r1!, {r2-r11} /* Recover R4-R11 + 2 temp values */
@@ -416,7 +416,7 @@ exception_common:
3:
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
/* The EXC_RETURN value will be 0xfffffff9 (privileged thread) or 0xfffffff1
* (handler mode) if the stack is on the MSP. It can only be on the PSP if
* EXC_RETURN is 0xfffffffd (unprivileged thread)
diff --git a/arch/arm/src/sama5/sam_allocateheap.c b/arch/arm/src/sama5/sam_allocateheap.c
index 3a4113fded0..44c32fcd4e2 100644
--- a/arch/arm/src/sama5/sam_allocateheap.c
+++ b/arch/arm/src/sama5/sam_allocateheap.c
@@ -46,7 +46,6 @@
#include
#include
-#include
#include
@@ -219,7 +218,7 @@
* Description:
* This function will be called to dynamically set aside the heap region.
*
- * For the kernel build (CONFIG_NUTTX_KERNEL=y) with both kernel- and
+ * For the kernel build (CONFIG_BUILD_KERNEL=y) with both kernel- and
* user-space heaps (CONFIG_MM_KERNEL_HEAP=y), this function provides the
* size of the unprotected, user-space heap.
*
@@ -249,7 +248,7 @@
void up_allocate_heap(FAR void **heap_start, size_t *heap_size)
{
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
/* Get the unaligned size and position of the user-space heap.
* This heap begins after the user-space .bss section at an offset
* of CONFIG_MM_KERNEL_HEAPSIZE (subject to alignment).
@@ -291,14 +290,14 @@ void up_allocate_heap(FAR void **heap_start, size_t *heap_size)
* Name: up_allocate_kheap
*
* Description:
- * For the kernel build (CONFIG_NUTTX_KERNEL=y) with both kernel- and
+ * For the kernel build (CONFIG_BUILD_KERNEL=y) with both kernel- and
* user-space heaps (CONFIG_MM_KERNEL_HEAP=y), this function allocates
* the kernel-space heap. A custom version of this function is need if
* memory protection of the kernel heap is required.
*
****************************************************************************/
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
void up_allocate_kheap(FAR void **heap_start, size_t *heap_size)
{
/* Get the unaligned size and position of the user-space heap.
@@ -341,7 +340,7 @@ void up_addregion(void)
vaddr = (uintptr_t)SAM_ISRAM0_VADDR
size = SAM_ISRAM0_SIZE + SAM_ISRAM1_SIZE;
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
/* Allow user-mode access to the ISRAM heap */
sam_uheap(vaddr, size);
@@ -360,7 +359,7 @@ void up_addregion(void)
vaddr = (uintptr_t)SAM_DDRCS_VSECTION + SAMA5_DDRCS_HEAP_OFFSET;
size = SAMA5_DDRCS_HEAP_SIZE;
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
/* Allow user-mode access to the DDR-SDRAM heap */
sam_uheap(vaddr, size);
@@ -385,7 +384,7 @@ void up_addregion(void)
vaddr = (uintptr_t)SAM_EBICS0_VSECTION + SAMA5_EBICS0_HEAP_OFFSET;
size = SAMA5_EBICS0_HEAP_SIZE;
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
/* Allow user-mode access to the EBICS0 heap */
sam_uheap(vaddr, size);
@@ -410,7 +409,7 @@ void up_addregion(void)
vaddr = (uintptr_t)SAM_EBICS1_VSECTION + SAMA5_EBICS1_HEAP_OFFSET;
size = SAMA5_EBICS1_HEAP_SIZE;
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
/* Allow user-mode access to the EBICS1 heap */
sam_uheap(vaddr, size);
@@ -435,7 +434,7 @@ void up_addregion(void)
vaddr = (uintptr_t)SAM_EBICS2_VSECTION + SAMA5_EBICS2_HEAP_OFFSET;
size = SAMA5_EBICS2_HEAP_SIZE;
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
/* Allow user-mode access to the EBICS2 heap */
sam_uheap(vaddr, size);
@@ -460,7 +459,7 @@ void up_addregion(void)
vaddr = (uintptr_t)SAM_EBICS3_VSECTION + SAMA5_EBICS3_HEAP_OFFSET;
size = SAMA5_EBICS3_HEAP_SIZE;
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
/* Allow user-mode access to the EBICS3 heap */
sam_uheap(vaddr, size);
diff --git a/arch/arm/src/sama5/sam_boot.c b/arch/arm/src/sama5/sam_boot.c
index 37f3c4ba5c7..32d51a9e881 100644
--- a/arch/arm/src/sama5/sam_boot.c
+++ b/arch/arm/src/sama5/sam_boot.c
@@ -782,14 +782,4 @@ void up_boot(void)
sam_earlyserialinit();
#endif
-
-#ifdef CONFIG_NUTTX_KERNEL
- /* For the case of the separate user-/kernel-space build, perform whatever
- * platform specific initialization of the user memory is required.
- * Normally this just means initializing the user space .data and .bss
- * segments.
- */
-
- sam_userspace();
-#endif
}
diff --git a/arch/arm/src/samd/Make.defs b/arch/arm/src/samd/Make.defs
index 30875788147..1cc4b2f4df5 100644
--- a/arch/arm/src/samd/Make.defs
+++ b/arch/arm/src/samd/Make.defs
@@ -47,7 +47,7 @@ CMN_CSRCS += up_schedulesigaction.c up_sigdeliver.c up_systemreset.c
CMN_CSRCS += up_unblocktask.c up_usestack.c up_doirq.c up_hardfault.c
CMN_CSRCS += up_svcall.c up_vectors.c up_vfork.c
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
CMN_CSRCS += up_task_start.c up_pthread_start.c up_stackframe.c
ifneq ($(CONFIG_DISABLE_SIGNALS),y)
CMN_CSRCS += up_signal_dispatch.c
@@ -76,7 +76,7 @@ ifneq ($(CONFIG_SCHED_TICKLESS),y)
CHIP_CSRCS += sam_timerisr.c
endif
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
CHIP_CSRCS += sam_userspace.c
endif
diff --git a/arch/arm/src/samd/sam_start.c b/arch/arm/src/samd/sam_start.c
index 81aacbe47ad..58062bfc121 100644
--- a/arch/arm/src/samd/sam_start.c
+++ b/arch/arm/src/samd/sam_start.c
@@ -157,7 +157,7 @@ void __start(void)
* segments.
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
sam_userspace();
showprogress('E');
#endif
diff --git a/arch/arm/src/samd/sam_userspace.c b/arch/arm/src/samd/sam_userspace.c
index 0f40d617e26..60275e56db3 100644
--- a/arch/arm/src/samd/sam_userspace.c
+++ b/arch/arm/src/samd/sam_userspace.c
@@ -46,7 +46,7 @@
#include "sam_userspace.h"
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
/****************************************************************************
* Pre-processor Definitions
@@ -110,4 +110,4 @@ void sam_userspace(void)
}
}
-#endif /* CONFIG_NUTTX_KERNEL */
+#endif /* CONFIG_BUILD_PROTECTED */
diff --git a/arch/arm/src/samd/sam_userspace.h b/arch/arm/src/samd/sam_userspace.h
index 922aed1dbba..e460afad361 100644
--- a/arch/arm/src/samd/sam_userspace.h
+++ b/arch/arm/src/samd/sam_userspace.h
@@ -69,7 +69,7 @@
*
****************************************************************************/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
void sam_userspace(void);
#endif
diff --git a/arch/arm/src/stm32/Make.defs b/arch/arm/src/stm32/Make.defs
index c8b7df07d59..2a3675da195 100644
--- a/arch/arm/src/stm32/Make.defs
+++ b/arch/arm/src/stm32/Make.defs
@@ -67,7 +67,7 @@ ifeq ($(CONFIG_ARCH_MEMCPY),y)
CMN_ASRCS += up_memcpy.S
endif
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
CMN_CSRCS += up_mpu.c up_task_start.c up_pthread_start.c up_stackframe.c
ifneq ($(CONFIG_DISABLE_SIGNALS),y)
CMN_CSRCS += up_signal_dispatch.c
@@ -105,7 +105,7 @@ ifeq ($(CONFIG_ARMV7M_CMNVECTOR),y)
CHIP_ASRCS += stm32_vectors.S
endif
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
CHIP_CSRCS += stm32_userspace.c stm32_mpuinit.c
endif
diff --git a/arch/arm/src/stm32/stm32_allocateheap.c b/arch/arm/src/stm32/stm32_allocateheap.c
index a89f38c90f3..7d662938de9 100644
--- a/arch/arm/src/stm32/stm32_allocateheap.c
+++ b/arch/arm/src/stm32/stm32_allocateheap.c
@@ -426,7 +426,7 @@ static inline void up_heap_color(FAR void *start, size_t size)
* Description:
* This function will be called to dynamically set aside the heap region.
*
- * For the kernel build (CONFIG_NUTTX_KERNEL=y) with both kernel- and
+ * For the kernel build (CONFIG_BUILD_PROTECTED=y) with both kernel- and
* user-space heaps (CONFIG_MM_KERNEL_HEAP=y), this function provides the
* size of the unprotected, user-space heap.
*
@@ -455,7 +455,7 @@ static inline void up_heap_color(FAR void *start, size_t size)
void up_allocate_heap(FAR void **heap_start, size_t *heap_size)
{
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_PROTECTED) && defined(CONFIG_MM_KERNEL_HEAP)
/* Get the unaligned size and position of the user-space heap.
* This heap begins after the user-space .bss section at an offset
* of CONFIG_MM_KERNEL_HEAPSIZE (subject to alignment).
@@ -509,13 +509,13 @@ void up_allocate_heap(FAR void **heap_start, size_t *heap_size)
* Name: up_allocate_kheap
*
* Description:
- * For the kernel build (CONFIG_NUTTX_KERNEL=y) with both kernel- and
+ * For the kernel build (CONFIG_BUILD_PROTECTED=y) with both kernel- and
* user-space heaps (CONFIG_MM_KERNEL_HEAP=y), this function allocates
* (and protects) the kernel-space heap.
*
****************************************************************************/
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_PROTECTED) && defined(CONFIG_MM_KERNEL_HEAP)
void up_allocate_kheap(FAR void **heap_start, size_t *heap_size)
{
/* Get the unaligned size and position of the user-space heap.
@@ -562,7 +562,7 @@ void up_allocate_kheap(FAR void **heap_start, size_t *heap_size)
void up_addregion(void)
{
#ifndef CONFIG_STM32_CCMEXCLUDE
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_PROTECTED) && defined(CONFIG_MM_KERNEL_HEAP)
/* Allow user-mode access to the STM32F20xxx/STM32F40xxx CCM SRAM heap */
@@ -580,7 +580,7 @@ void up_addregion(void)
#endif
#ifdef CONFIG_STM32_FSMC_SRAM
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_PROTECTED) && defined(CONFIG_MM_KERNEL_HEAP)
/* Allow user-mode access to the FSMC SRAM user heap memory */
diff --git a/arch/arm/src/stm32/stm32_mpuinit.c b/arch/arm/src/stm32/stm32_mpuinit.c
index 0b44a32cc34..e2eeaaa99b0 100644
--- a/arch/arm/src/stm32/stm32_mpuinit.c
+++ b/arch/arm/src/stm32/stm32_mpuinit.c
@@ -46,7 +46,7 @@
#include "mpu.h"
#include "stm32_mpuinit.h"
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_ARMV7M_MPU)
+#if defined(CONFIG_BUILD_PROTECTED) && defined(CONFIG_ARMV7M_MPU)
/****************************************************************************
* Private Definitions
@@ -120,5 +120,5 @@ void stm32_mpu_uheap(uintptr_t start, size_t size)
mpu_userintsram(start, size);
}
-#endif /* CONFIG_NUTTX_KERNEL && CONFIG_ARMV7M_MPU */
+#endif /* CONFIG_BUILD_PROTECTED && CONFIG_ARMV7M_MPU */
diff --git a/arch/arm/src/stm32/stm32_mpuinit.h b/arch/arm/src/stm32/stm32_mpuinit.h
index 009306947b2..6d76db47ee5 100644
--- a/arch/arm/src/stm32/stm32_mpuinit.h
+++ b/arch/arm/src/stm32/stm32_mpuinit.h
@@ -67,7 +67,7 @@
*
****************************************************************************/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
void stm32_mpuinitialize(void);
#else
# define stm32_mpuinitialize()
@@ -81,7 +81,7 @@ void stm32_mpuinitialize(void);
*
****************************************************************************/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
void stm32_mpu_uheap(uintptr_t start, size_t size);
#else
# define stm32_mpu_uheap(start,size)
diff --git a/arch/arm/src/stm32/stm32_start.c b/arch/arm/src/stm32/stm32_start.c
index 20fb2054c65..e115a63ccf8 100644
--- a/arch/arm/src/stm32/stm32_start.c
+++ b/arch/arm/src/stm32/stm32_start.c
@@ -280,7 +280,7 @@ void __start(void)
* segments.
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
stm32_userspace();
showprogress('E');
#endif
diff --git a/arch/arm/src/stm32/stm32_userspace.c b/arch/arm/src/stm32/stm32_userspace.c
index b68705dcee5..55dcc112246 100644
--- a/arch/arm/src/stm32/stm32_userspace.c
+++ b/arch/arm/src/stm32/stm32_userspace.c
@@ -47,7 +47,7 @@
#include "stm32_mpuinit.h"
#include "stm32_userspace.h"
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
/****************************************************************************
* Pre-processor Definitions
@@ -115,5 +115,5 @@ void stm32_userspace(void)
stm32_mpuinitialize();
}
-#endif /* CONFIG_NUTTX_KERNEL */
+#endif /* CONFIG_BUILD_PROTECTED */
diff --git a/arch/arm/src/stm32/stm32_userspace.h b/arch/arm/src/stm32/stm32_userspace.h
index 297ceeaa06b..70614552d2d 100644
--- a/arch/arm/src/stm32/stm32_userspace.h
+++ b/arch/arm/src/stm32/stm32_userspace.h
@@ -69,7 +69,7 @@
*
****************************************************************************/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
void stm32_userspace(void);
#endif
diff --git a/arch/arm/src/stm32/stm32_vectors.S b/arch/arm/src/stm32/stm32_vectors.S
index 645f0f1c81b..8f015b7e25b 100644
--- a/arch/arm/src/stm32/stm32_vectors.S
+++ b/arch/arm/src/stm32/stm32_vectors.S
@@ -70,7 +70,7 @@
* no privileged task has run.
*/
-# if defined(CONFIG_NUTTX_KERNEL) && CONFIG_ARCH_INTERRUPTSTACK < 4
+# if defined(CONFIG_BUILD_PROTECTED) && CONFIG_ARCH_INTERRUPTSTACK < 4
# error Interrupt stack must be used with high priority interrupts in kernel mode
# endif
@@ -248,7 +248,7 @@ exception_common:
/* Complete the context save */
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
/* The EXC_RETURN value will be 0xfffffff9 (privileged thread) or 0xfffffff1
* (handler mode) if the stack is on the MSP. It can only be on the PSP if
* EXC_RETURN is 0xfffffffd (unprivileged thread)
@@ -290,7 +290,7 @@ exception_common:
* r14=register values.
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
stmdb sp!, {r2-r11,r14} /* Save the remaining registers plus the SP value */
#else
stmdb sp!, {r2-r11} /* Save the remaining registers plus the SP value */
@@ -378,7 +378,7 @@ exception_common:
ldmia r1, {r4-r11} /* Fetch eight registers in HW save area */
ldr r1, [r0, #(4*REG_SP)] /* R1=Value of SP before interrupt */
stmdb r1!, {r4-r11} /* Store eight registers in HW save area */
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
ldmia r0, {r2-r11,r14} /* Recover R4-R11, r14 + 2 temp values */
#else
ldmia r0, {r2-r11} /* Recover R4-R11 + 2 temp values */
@@ -393,7 +393,7 @@ exception_common:
*/
2:
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
ldmia r1!, {r2-r11,r14} /* Recover R4-R11, r14 + 2 temp values */
#else
ldmia r1!, {r2-r11} /* Recover R4-R11 + 2 temp values */
@@ -418,7 +418,7 @@ exception_common:
3:
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
/* The EXC_RETURN value will be 0xfffffff9 (privileged thread) or 0xfffffff1
* (handler mode) if the stack is on the MSP. It can only be on the PSP if
* EXC_RETURN is 0xfffffffd (unprivileged thread)
diff --git a/arch/arm/src/tiva/Make.defs b/arch/arm/src/tiva/Make.defs
index e97d5f50f81..e13771bfa23 100644
--- a/arch/arm/src/tiva/Make.defs
+++ b/arch/arm/src/tiva/Make.defs
@@ -58,7 +58,7 @@ ifeq ($(CONFIG_DEBUG_STACK),y)
CMN_CSRCS += up_checkstack.c
endif
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
CMN_CSRCS += up_mpu.c up_task_start.c up_pthread_start.c up_stackframe.c
ifneq ($(CONFIG_DISABLE_SIGNALS),y)
CMN_CSRCS += up_signal_dispatch.c
@@ -81,7 +81,7 @@ ifneq ($(CONFIG_SCHED_TICKLESS),y)
CHIP_CSRCS += tiva_timerisr.c
endif
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
CHIP_CSRCS += tiva_userspace.c tiva_mpuinit.c
endif
diff --git a/arch/arm/src/tiva/tiva_allocateheap.c b/arch/arm/src/tiva/tiva_allocateheap.c
index b38457e98cb..a76fb5bc83f 100644
--- a/arch/arm/src/tiva/tiva_allocateheap.c
+++ b/arch/arm/src/tiva/tiva_allocateheap.c
@@ -76,7 +76,7 @@
* Description:
* This function will be called to dynamically set aside the heap region.
*
- * For the kernel build (CONFIG_NUTTX_KERNEL=y) with both kernel- and
+ * For the kernel build (CONFIG_BUILD_PROTECTED=y) with both kernel- and
* user-space heaps (CONFIG_MM_KERNEL_HEAP=y), this function provides the
* size of the unprotected, user-space heap.
*
@@ -105,7 +105,7 @@
void up_allocate_heap(FAR void **heap_start, size_t *heap_size)
{
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_PROTECTED) && defined(CONFIG_MM_KERNEL_HEAP)
/* Get the unaligned size and position of the user-space heap.
* This heap begins after the user-space .bss section at an offset
* of CONFIG_MM_KERNEL_HEAPSIZE (subject to alignment).
@@ -151,13 +151,13 @@ void up_allocate_heap(FAR void **heap_start, size_t *heap_size)
* Name: up_allocate_kheap
*
* Description:
- * For the kernel build (CONFIG_NUTTX_KERNEL=y) with both kernel- and
+ * For the kernel build (CONFIG_BUILD_PROTECTED=y) with both kernel- and
* user-space heaps (CONFIG_MM_KERNEL_HEAP=y), this function allocates
* (and protects) the kernel-space heap.
*
****************************************************************************/
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_PROTECTED) && defined(CONFIG_MM_KERNEL_HEAP)
void up_allocate_kheap(FAR void **heap_start, size_t *heap_size)
{
/* Get the unaligned size and position of the user-space heap.
diff --git a/arch/arm/src/tiva/tiva_mpuinit.c b/arch/arm/src/tiva/tiva_mpuinit.c
index 8ec8da5dfc2..803cfe9bf45 100644
--- a/arch/arm/src/tiva/tiva_mpuinit.c
+++ b/arch/arm/src/tiva/tiva_mpuinit.c
@@ -46,7 +46,7 @@
#include "mpu.h"
#include "tiva_mpuinit.h"
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_ARMV7M_MPU)
+#if defined(CONFIG_BUILD_PROTECTED) && defined(CONFIG_ARMV7M_MPU)
/****************************************************************************
* Private Definitions
@@ -120,5 +120,5 @@ void tiva_mpu_uheap(uintptr_t start, size_t size)
mpu_userintsram(start, size);
}
-#endif /* CONFIG_NUTTX_KERNEL && CONFIG_ARMV7M_MPU */
+#endif /* CONFIG_BUILD_PROTECTED && CONFIG_ARMV7M_MPU */
diff --git a/arch/arm/src/tiva/tiva_mpuinit.h b/arch/arm/src/tiva/tiva_mpuinit.h
index faba8542581..82dde88d74a 100644
--- a/arch/arm/src/tiva/tiva_mpuinit.h
+++ b/arch/arm/src/tiva/tiva_mpuinit.h
@@ -67,7 +67,7 @@
*
****************************************************************************/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
void tiva_mpuinitialize(void);
#else
# define tiva_mpuinitialize()
@@ -81,7 +81,7 @@ void tiva_mpuinitialize(void);
*
****************************************************************************/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
void tiva_mpu_uheap(uintptr_t start, size_t size);
#else
# define tiva_mpu_uheap(start,size)
diff --git a/arch/arm/src/tiva/tiva_start.c b/arch/arm/src/tiva/tiva_start.c
index f0c66f6d2e4..1e13266787b 100644
--- a/arch/arm/src/tiva/tiva_start.c
+++ b/arch/arm/src/tiva/tiva_start.c
@@ -150,7 +150,7 @@ void __start(void)
* segments.
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
tiva_userspace();
showprogress('E');
#endif
diff --git a/arch/arm/src/tiva/tiva_userspace.c b/arch/arm/src/tiva/tiva_userspace.c
index e2b2780240e..9f2c6b59aab 100644
--- a/arch/arm/src/tiva/tiva_userspace.c
+++ b/arch/arm/src/tiva/tiva_userspace.c
@@ -47,7 +47,7 @@
#include "tiva_mpuinit.h"
#include "tiva_userspace.h"
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
/****************************************************************************
* Pre-processor Definitions
@@ -115,4 +115,4 @@ void tiva_userspace(void)
tiva_mpuinitialize();
}
-#endif /* CONFIG_NUTTX_KERNEL */
+#endif /* CONFIG_BUILD_PROTECTED */
diff --git a/arch/arm/src/tiva/tiva_userspace.h b/arch/arm/src/tiva/tiva_userspace.h
index b6cb3541c88..cdfced14267 100644
--- a/arch/arm/src/tiva/tiva_userspace.h
+++ b/arch/arm/src/tiva/tiva_userspace.h
@@ -69,7 +69,7 @@
*
****************************************************************************/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
void tiva_userspace(void);
#endif
diff --git a/arch/arm/src/tiva/tiva_vectors.S b/arch/arm/src/tiva/tiva_vectors.S
index 8dc52e88103..0680f0baa20 100644
--- a/arch/arm/src/tiva/tiva_vectors.S
+++ b/arch/arm/src/tiva/tiva_vectors.S
@@ -69,7 +69,7 @@
* no privileged task has run.
*/
-# if defined(CONFIG_NUTTX_KERNEL) && CONFIG_ARCH_INTERRUPTSTACK < 4
+# if defined(CONFIG_BUILD_PROTECTED) && CONFIG_ARCH_INTERRUPTSTACK < 4
# error Interrupt stack must be used with high priority interrupts in kernel mode
# endif
@@ -223,7 +223,7 @@ exception_common:
/* Complete the context save */
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
/* The EXC_RETURN value will be 0xfffffff9 (privileged thread) or 0xfffffff1
* (handler mode) if the stack is on the MSP. It can only be on the PSP if
* EXC_RETURN is 0xfffffffd (unprivileged thread)
@@ -265,7 +265,7 @@ exception_common:
* r14=register values.
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
stmdb sp!, {r2-r11,r14} /* Save the remaining registers plus the SP value */
#else
stmdb sp!, {r2-r11} /* Save the remaining registers plus the SP value */
@@ -353,7 +353,7 @@ exception_common:
ldmia r1, {r4-r11} /* Fetch eight registers in HW save area */
ldr r1, [r0, #(4*REG_SP)] /* R1=Value of SP before interrupt */
stmdb r1!, {r4-r11} /* Store eight registers in HW save area */
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
ldmia r0, {r2-r11,r14} /* Recover R4-R11, r14 + 2 temp values */
#else
ldmia r0, {r2-r11} /* Recover R4-R11 + 2 temp values */
@@ -368,7 +368,7 @@ exception_common:
*/
2:
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
ldmia r1!, {r2-r11,r14} /* Recover R4-R11, r14 + 2 temp values */
#else
ldmia r1!, {r2-r11} /* Recover R4-R11 + 2 temp values */
@@ -393,7 +393,7 @@ exception_common:
3:
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
/* The EXC_RETURN value will be 0xfffffff9 (privileged thread) or 0xfffffff1
* (handler mode) if the stack is on the MSP. It can only be on the PSP if
* EXC_RETURN is 0xfffffffd (unprivileged thread)
diff --git a/arch/avr/src/avr/up_createstack.c b/arch/avr/src/avr/up_createstack.c
index 1dd7e500623..d14ec63fd2a 100644
--- a/arch/avr/src/avr/up_createstack.c
+++ b/arch/avr/src/avr/up_createstack.c
@@ -96,11 +96,6 @@
* however, there are certain contexts where the TCB may not be fully
* initialized when up_create_stack is called.
*
- * If CONFIG_NUTTX_KERNEL is defined, then this thread type may affect
- * how the stack is allocated. For example, kernel thread stacks should
- * be allocated from protected kernel memory. Stacks for user tasks and
- * threads must come from memory that is accessible to user code.
- *
****************************************************************************/
int up_create_stack(FAR struct tcb_s *tcb, size_t stack_size, uint8_t ttype)
@@ -125,28 +120,11 @@ int up_create_stack(FAR struct tcb_s *tcb, size_t stack_size, uint8_t ttype)
* then create a zeroed stack to make stack dumps easier to trace.
*/
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
- /* Use the kernel allocator if this is a kernel thread */
-
- if (ttype == TCB_FLAG_TTYPE_KERNEL)
- {
#if defined(CONFIG_DEBUG) && !defined(CONFIG_DEBUG_STACK)
- tcb->stack_alloc_ptr = (uint32_t *)kzalloc(stack_size);
+ tcb->stack_alloc_ptr = (uint32_t *)kuzalloc(stack_size);
#else
- tcb->stack_alloc_ptr = (uint32_t *)kmalloc(stack_size);
+ tcb->stack_alloc_ptr = (uint32_t *)kumalloc(stack_size);
#endif
- }
- else
-#endif
- {
- /* Use the user-space allocator if this is a task or pthread */
-
-#if defined(CONFIG_DEBUG) && !defined(CONFIG_DEBUG_STACK)
- tcb->stack_alloc_ptr = (uint32_t *)kuzalloc(stack_size);
-#else
- tcb->stack_alloc_ptr = (uint32_t *)kumalloc(stack_size);
-#endif
- }
#ifdef CONFIG_DEBUG
/* Was the allocation successful? */
diff --git a/arch/avr/src/avr32/up_createstack.c b/arch/avr/src/avr32/up_createstack.c
index fd1af6782d7..9082d796f51 100644
--- a/arch/avr/src/avr32/up_createstack.c
+++ b/arch/avr/src/avr32/up_createstack.c
@@ -95,7 +95,7 @@
* however, there are certain contexts where the TCB may not be fully
* initialized when up_create_stack is called.
*
- * If CONFIG_NUTTX_KERNEL is defined, then this thread type may affect
+ * If CONFIG_BUILD_KERNEL is defined, then this thread type may affect
* how the stack is allocated. For example, kernel thread stacks should
* be allocated from protected kernel memory. Stacks for user tasks and
* threads must come from memory that is accessible to user code.
@@ -124,7 +124,7 @@ int up_create_stack(FAR struct tcb_s *tcb, size_t stack_size, uint8_t ttype)
* then create a zeroed stack to make stack dumps easier to trace.
*/
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
/* Use the kernel allocator if this is a kernel thread */
if (ttype == TCB_FLAG_TTYPE_KERNEL)
diff --git a/arch/avr/src/avr32/up_initialstate.c b/arch/avr/src/avr32/up_initialstate.c
index 86138b616e0..821637423ae 100644
--- a/arch/avr/src/avr32/up_initialstate.c
+++ b/arch/avr/src/avr32/up_initialstate.c
@@ -115,8 +115,8 @@ void up_initial_state(struct tcb_s *tcb)
* supervisor-mode.
*/
-#ifdef CONFIG_NUTTX_KERNEL
-# error "Missing logic for the CONFIG_NUTTX_KERNEL build"
+#ifdef CONFIG_BUILD_KERNEL
+# error "Missing logic for the CONFIG_BUILD_KERNEL build"
#endif
/* Enable or disable interrupts, based on user configuration */
diff --git a/arch/avr/src/common/up_allocateheap.c b/arch/avr/src/common/up_allocateheap.c
index b5a080d43f8..4076d97d1af 100644
--- a/arch/avr/src/common/up_allocateheap.c
+++ b/arch/avr/src/common/up_allocateheap.c
@@ -70,7 +70,7 @@
* Description:
* This function will be called to dynamically set aside the heap region.
*
- * For the kernel build (CONFIG_NUTTX_KERNEL=y) with both kernel- and
+ * For the kernel build (CONFIG_BUILD_KERNEL=y) with both kernel- and
* user-space heaps (CONFIG_MM_KERNEL_HEAP=y), this function provides the
* size of the unprotected, user-space heap.
*
diff --git a/arch/avr/src/common/up_releasestack.c b/arch/avr/src/common/up_releasestack.c
index 11b5181c453..7595f1e0af5 100644
--- a/arch/avr/src/common/up_releasestack.c
+++ b/arch/avr/src/common/up_releasestack.c
@@ -79,7 +79,7 @@
* however, there are certain error recovery contexts where the TCB may
* not be fully initialized when up_release_stack is called.
*
- * If CONFIG_NUTTX_KERNEL is defined, then this thread type may affect
+ * If CONFIG_BUILD_KERNEL is defined, then this thread type may affect
* how the stack is freed. For example, kernel thread stacks may have
* been allocated from protected kernel memory. Stacks for user tasks
* and threads must have come from memory that is accessible to user
@@ -96,7 +96,7 @@ void up_release_stack(FAR struct tcb_s *dtcb, uint8_t ttype)
if (dtcb->stack_alloc_ptr)
{
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
/* Use the kernel allocator if this is a kernel thread */
if (ttype == TCB_FLAG_TTYPE_KERNEL)
diff --git a/arch/hc/src/common/up_allocateheap.c b/arch/hc/src/common/up_allocateheap.c
index 505edd1128d..b16016acd33 100644
--- a/arch/hc/src/common/up_allocateheap.c
+++ b/arch/hc/src/common/up_allocateheap.c
@@ -69,7 +69,7 @@
* Description:
* This function will be called to dynamically set aside the heap region.
*
- * For the kernel build (CONFIG_NUTTX_KERNEL=y) with both kernel- and
+ * For the kernel build (CONFIG_BUILD_KERNEL=y) with both kernel- and
* user-space heaps (CONFIG_MM_KERNEL_HEAP=y), this function provides the
* size of the unprotected, user-space heap.
*
diff --git a/arch/hc/src/common/up_createstack.c b/arch/hc/src/common/up_createstack.c
index aad1557fcc1..ea542d9852c 100644
--- a/arch/hc/src/common/up_createstack.c
+++ b/arch/hc/src/common/up_createstack.c
@@ -92,7 +92,7 @@
* however, there are certain contexts where the TCB may not be fully
* initialized when up_create_stack is called.
*
- * If CONFIG_NUTTX_KERNEL is defined, then this thread type may affect
+ * If CONFIG_BUILD_KERNEL is defined, then this thread type may affect
* how the stack is allocated. For example, kernel thread stacks should
* be allocated from protected kernel memory. Stacks for user tasks and
* threads must come from memory that is accessible to user code.
@@ -121,7 +121,7 @@ int up_create_stack(FAR struct tcb_s *tcb, size_t stack_size, uint8_t ttype)
* then create a zeroed stack to make stack dumps easier to trace.
*/
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
/* Use the kernel allocator if this is a kernel thread */
if (ttype == TCB_FLAG_TTYPE_KERNEL)
diff --git a/arch/hc/src/common/up_releasestack.c b/arch/hc/src/common/up_releasestack.c
index 096108f86cb..86819d3894c 100644
--- a/arch/hc/src/common/up_releasestack.c
+++ b/arch/hc/src/common/up_releasestack.c
@@ -79,7 +79,7 @@
* however, there are certain error recovery contexts where the TCB may
* not be fully initialized when up_release_stack is called.
*
- * If CONFIG_NUTTX_KERNEL is defined, then this thread type may affect
+ * If CONFIG_BUILD_KERNEL is defined, then this thread type may affect
* how the stack is freed. For example, kernel thread stacks may have
* been allocated from protected kernel memory. Stacks for user tasks
* and threads must have come from memory that is accessible to user
@@ -96,7 +96,7 @@ void up_release_stack(FAR struct tcb_s *dtcb, uint8_t ttype)
if (dtcb->stack_alloc_ptr)
{
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
/* Use the kernel allocator if this is a kernel thread */
if (ttype == TCB_FLAG_TTYPE_KERNEL)
diff --git a/arch/mips/include/mips32/irq.h b/arch/mips/include/mips32/irq.h
index d42dbcfd282..27c200edf78 100644
--- a/arch/mips/include/mips32/irq.h
+++ b/arch/mips/include/mips32/irq.h
@@ -57,7 +57,7 @@
*/
#undef MIPS32_SAVE_GP
-#if defined(CONFIG_NUTTX_KERNEL) || defined(CONFIG_NXFLAT)
+#if defined(CONFIG_BUILD_KERNEL) || defined(CONFIG_NXFLAT)
# define MIPS32_SAVE_GP 1
#endif
@@ -316,7 +316,7 @@
/* This structure represents the return state from a system call */
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_KERNEL
struct xcpt_syscall_s
{
uint32_t sysreturn; /* The return PC */
@@ -343,7 +343,7 @@ struct xcptcontext
uint32_t saved_epc; /* Trampoline PC */
uint32_t saved_status; /* Status with interrupts disabled. */
-# ifdef CONFIG_NUTTX_KERNEL
+# ifdef CONFIG_BUILD_KERNEL
/* This is the saved address to use when returning from a user-space
* signal handler.
*/
@@ -353,7 +353,7 @@ struct xcptcontext
# endif
#endif
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_KERNEL
/* The following array holds information needed to return from each nested
* system call.
*/
diff --git a/arch/mips/include/mips32/syscall.h b/arch/mips/include/mips32/syscall.h
index bf2a7847f71..a9ec7f9e098 100644
--- a/arch/mips/include/mips32/syscall.h
+++ b/arch/mips/include/mips32/syscall.h
@@ -63,7 +63,7 @@
* reserved (0 is not used).
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_KERNEL
# ifndef CONFIG_SYS_RESERVED
# error "CONFIG_SYS_RESERVED must be defined to the value 4"
# elif CONFIG_SYS_RESERVED != 4
@@ -170,7 +170,7 @@
#define up_switchcontext(saveregs, restoreregs) \
(void)sys_call2(SYS_switch_context, (uintptr_t)saveregs, (uintptr_t)restoreregs)
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_KERNEL
/* SYS call 3:
*
* void up_syscall_return(void);
diff --git a/arch/mips/src/common/up_allocateheap.c b/arch/mips/src/common/up_allocateheap.c
index c334290ddb2..507114420c6 100644
--- a/arch/mips/src/common/up_allocateheap.c
+++ b/arch/mips/src/common/up_allocateheap.c
@@ -70,7 +70,7 @@
* Description:
* This function will be called to dynamically set aside the heap region.
*
- * For the kernel build (CONFIG_NUTTX_KERNEL=y) with both kernel- and
+ * For the kernel build (CONFIG_BUILD_KERNEL=y) with both kernel- and
* user-space heaps (CONFIG_MM_KERNEL_HEAP=y), this function provides the
* size of the unprotected, user-space heap.
*
diff --git a/arch/mips/src/common/up_createstack.c b/arch/mips/src/common/up_createstack.c
index 506ece44d23..92b99842afe 100644
--- a/arch/mips/src/common/up_createstack.c
+++ b/arch/mips/src/common/up_createstack.c
@@ -113,7 +113,7 @@
* however, there are certain contexts where the TCB may not be fully
* initialized when up_create_stack is called.
*
- * If CONFIG_NUTTX_KERNEL is defined, then this thread type may affect
+ * If CONFIG_BUILD_KERNEL is defined, then this thread type may affect
* how the stack is allocated. For example, kernel thread stacks should
* be allocated from protected kernel memory. Stacks for user tasks and
* threads must come from memory that is accessible to user code.
@@ -142,7 +142,7 @@ int up_create_stack(FAR struct tcb_s *tcb, size_t stack_size, uint8_t ttype)
* then create a zeroed stack to make stack dumps easier to trace.
*/
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
/* Use the kernel allocator if this is a kernel thread */
if (ttype == TCB_FLAG_TTYPE_KERNEL)
diff --git a/arch/mips/src/common/up_releasestack.c b/arch/mips/src/common/up_releasestack.c
index 6e510ed3d27..a023342fa40 100644
--- a/arch/mips/src/common/up_releasestack.c
+++ b/arch/mips/src/common/up_releasestack.c
@@ -79,7 +79,7 @@
* however, there are certain error recovery contexts where the TCB may
* not be fully initialized when up_release_stack is called.
*
- * If CONFIG_NUTTX_KERNEL is defined, then this thread type may affect
+ * If CONFIG_BUILD_KERNEL is defined, then this thread type may affect
* how the stack is freed. For example, kernel thread stacks may have
* been allocated from protected kernel memory. Stacks for user tasks
* and threads must have come from memory that is accessible to user
@@ -96,7 +96,7 @@ void up_release_stack(FAR struct tcb_s *dtcb, uint8_t ttype)
if (dtcb->stack_alloc_ptr)
{
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
/* Use the kernel allocator if this is a kernel thread */
if (ttype == TCB_FLAG_TTYPE_KERNEL)
diff --git a/arch/mips/src/mips32/up_initialstate.c b/arch/mips/src/mips32/up_initialstate.c
index ca981ffaf1d..7a9b629fbda 100644
--- a/arch/mips/src/mips32/up_initialstate.c
+++ b/arch/mips/src/mips32/up_initialstate.c
@@ -116,7 +116,7 @@ void up_initial_state(struct tcb_s *tcb)
* privileged thread mode.
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_KERNEL
# warning "Missing logic"
#endif
diff --git a/arch/mips/src/mips32/up_swint0.c b/arch/mips/src/mips32/up_swint0.c
index 5b1c2067c93..4cfc74b5b2e 100644
--- a/arch/mips/src/mips32/up_swint0.c
+++ b/arch/mips/src/mips32/up_swint0.c
@@ -122,7 +122,7 @@ static void up_registerdump(const uint32_t *regs)
*
****************************************************************************/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_KERNEL
static void dispatch_syscall(void) naked_function;
static void dispatch_syscall(void)
{
@@ -234,7 +234,7 @@ int up_swint0(int irq, FAR void *context)
* unprivileged thread mode.
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_KERNEL
case SYS_syscall_return:
{
struct tcb_s *rtcb = sched_self();
@@ -262,7 +262,7 @@ int up_swint0(int irq, FAR void *context)
default:
{
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_KERNEL
FAR struct tcb_s *rtcb = sched_self();
int index = rtcb->xcp.nsyscalls;
diff --git a/arch/mips/src/pic32mx/pic32mx-config.h b/arch/mips/src/pic32mx/pic32mx-config.h
index 058b02f68d7..a80e2bba545 100644
--- a/arch/mips/src/pic32mx/pic32mx-config.h
+++ b/arch/mips/src/pic32mx/pic32mx-config.h
@@ -491,7 +491,7 @@
* reserved (0 is not used).
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_KERNEL
# if !defined(CONFIG_SYS_RESERVED) || CONFIG_SYS_RESERVED < 4
# error "CONFIG_SYS_RESERVED must be defined to be 4 for a kernel build"
# elif CONFIG_SYS_RESERVED > 4
diff --git a/arch/rgmp/src/nuttx.c b/arch/rgmp/src/nuttx.c
index 4cc2a1a05c5..338940be347 100644
--- a/arch/rgmp/src/nuttx.c
+++ b/arch/rgmp/src/nuttx.c
@@ -126,7 +126,7 @@ int up_create_stack(struct tcb_s *tcb, size_t stack_size, uint8_t ttype)
/* Allocate the memory for the stack */
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
/* Use the kernel allocator if this is a kernel thread */
if (ttype == TCB_FLAG_TTYPE_KERNEL) {
@@ -170,7 +170,7 @@ int up_use_stack(struct tcb_s *tcb, void *stack, size_t stack_size)
return OK;
}
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_KERNEL
FAR void *up_stack_frame(FAR struct tcb_s *tcb, size_t frame_size)
{
uintptr_t topaddr;
@@ -206,7 +206,7 @@ void up_release_stack(struct tcb_s *dtcb, uint8_t ttype)
/* Is there a stack allocated? */
if (dtcb->stack_alloc_ptr) {
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
/* Use the kernel allocator if this is a kernel thread */
if (ttype == TCB_FLAG_TTYPE_KERNEL) {
diff --git a/arch/sh/src/common/up_allocateheap.c b/arch/sh/src/common/up_allocateheap.c
index ee7e90e053b..cbfea5684e1 100644
--- a/arch/sh/src/common/up_allocateheap.c
+++ b/arch/sh/src/common/up_allocateheap.c
@@ -69,7 +69,7 @@
* Description:
* This function will be called to dynamically set aside the heap region.
*
- * For the kernel build (CONFIG_NUTTX_KERNEL=y) with both kernel- and
+ * For the kernel build (CONFIG_BUILD_KERNEL=y) with both kernel- and
* user-space heaps (CONFIG_MM_KERNEL_HEAP=y), this function provides the
* size of the unprotected, user-space heap.
*
diff --git a/arch/sh/src/common/up_createstack.c b/arch/sh/src/common/up_createstack.c
index 4c2d36ae92a..03808f7655e 100644
--- a/arch/sh/src/common/up_createstack.c
+++ b/arch/sh/src/common/up_createstack.c
@@ -92,7 +92,7 @@
* however, there are certain contexts where the TCB may not be fully
* initialized when up_create_stack is called.
*
- * If CONFIG_NUTTX_KERNEL is defined, then this thread type may affect
+ * If CONFIG_BUILD_KERNEL is defined, then this thread type may affect
* how the stack is allocated. For example, kernel thread stacks should
* be allocated from protected kernel memory. Stacks for user tasks and
* threads must come from memory that is accessible to user code.
@@ -121,7 +121,7 @@ int up_create_stack(FAR struct tcb_s *tcb, size_t stack_size, uint8_t ttype)
* then create a zeroed stack to make stack dumps easier to trace.
*/
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
/* Use the kernel allocator if this is a kernel thread */
if (ttype == TCB_FLAG_TTYPE_KERNEL)
diff --git a/arch/sh/src/common/up_releasestack.c b/arch/sh/src/common/up_releasestack.c
index 422f12f4935..c6f04be760c 100644
--- a/arch/sh/src/common/up_releasestack.c
+++ b/arch/sh/src/common/up_releasestack.c
@@ -79,7 +79,7 @@
* however, there are certain error recovery contexts where the TCB may
* not be fully initialized when up_release_stack is called.
*
- * If CONFIG_NUTTX_KERNEL is defined, then this thread type may affect
+ * If CONFIG_BUILD_KERNEL is defined, then this thread type may affect
* how the stack is freed. For example, kernel thread stacks may have
* been allocated from protected kernel memory. Stacks for user tasks
* and threads must have come from memory that is accessible to user
@@ -96,7 +96,7 @@ void up_release_stack(FAR struct tcb_s *dtcb, uint8_t ttype)
if (dtcb->stack_alloc_ptr)
{
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
/* Use the kernel allocator if this is a kernel thread */
if (ttype == TCB_FLAG_TTYPE_KERNEL)
diff --git a/arch/sh/src/sh1/sh1_initialstate.c b/arch/sh/src/sh1/sh1_initialstate.c
index fe703f5a93f..0f63c0afb4a 100644
--- a/arch/sh/src/sh1/sh1_initialstate.c
+++ b/arch/sh/src/sh1/sh1_initialstate.c
@@ -115,8 +115,8 @@ void up_initial_state(struct tcb_s *tcb)
* supervisor-mode.
*/
-#ifdef CONFIG_NUTTX_KERNEL
-# error "Missing logic for the CONFIG_NUTTX_KERNEL build"
+#ifdef CONFIG_BUILD_KERNEL
+# error "Missing logic for the CONFIG_BUILD_KERNEL build"
#endif
/* Enable or disable interrupts, based on user configuration */
diff --git a/arch/sim/src/up_allocateheap.c b/arch/sim/src/up_allocateheap.c
index 9f5dfd2052d..da6511c65e0 100644
--- a/arch/sim/src/up_allocateheap.c
+++ b/arch/sim/src/up_allocateheap.c
@@ -72,10 +72,6 @@ static uint8_t sim_heap[SIM_HEAP_SIZE];
* Description:
* This function will be called to dynamically set aside the heap region.
*
- * For the kernel build (CONFIG_NUTTX_KERNEL=y) with both kernel- and
- * user-space heaps (CONFIG_MM_KERNEL_HEAP=y), this function provides the
- * size of the unprotected, user-space heap.
- *
* If a protected kernel-space heap is provided, the kernel heap must be
* allocated (and protected) by an analogous up_allocate_kheap().
*
diff --git a/arch/sim/src/up_createstack.c b/arch/sim/src/up_createstack.c
index 4115dd4ede1..07a8efc15fb 100644
--- a/arch/sim/src/up_createstack.c
+++ b/arch/sim/src/up_createstack.c
@@ -93,11 +93,6 @@
* however, there are certain contexts where the TCB may not be fully
* initialized when up_create_stack is called.
*
- * If CONFIG_NUTTX_KERNEL is defined, then this thread type may affect
- * how the stack is allocated. For example, kernel thread stacks should
- * be allocated from protected kernel memory. Stacks for user tasks and
- * threads must come from memory that is accessible to user code.
- *
****************************************************************************/
int up_create_stack(FAR struct tcb_s *tcb, size_t stack_size, uint8_t ttype)
@@ -112,18 +107,7 @@ int up_create_stack(FAR struct tcb_s *tcb, size_t stack_size, uint8_t ttype)
/* Allocate the memory for the stack */
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
- /* Use the kernel allocator if this is a kernel thread */
-
- if (ttype == TCB_FLAG_TTYPE_KERNEL)
- {
- stack_alloc_ptr = (uint32_t *)kmalloc(stack_size);
- }
- else
-#endif
- {
- stack_alloc_ptr = (uint32_t*)kumalloc(adj_stack_size);
- }
+ stack_alloc_ptr = (uint32_t*)kumalloc(adj_stack_size);
/* Was the allocation successful? */
diff --git a/arch/sim/src/up_releasestack.c b/arch/sim/src/up_releasestack.c
index 49a68eb8d79..f8f47c44d3e 100644
--- a/arch/sim/src/up_releasestack.c
+++ b/arch/sim/src/up_releasestack.c
@@ -82,12 +82,6 @@
* however, there are certain error recovery contexts where the TCB may
* not be fully initialized when up_release_stack is called.
*
- * If CONFIG_NUTTX_KERNEL is defined, then this thread type may affect
- * how the stack is freed. For example, kernel thread stacks may have
- * been allocated from protected kernel memory. Stacks for user tasks
- * and threads must have come from memory that is accessible to user
- * code.
- *
* Returned Value:
* None
*
@@ -99,20 +93,7 @@ void up_release_stack(FAR struct tcb_s *dtcb, uint8_t ttype)
if (dtcb->stack_alloc_ptr)
{
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
- /* Use the kernel allocator if this is a kernel thread */
-
- if (ttype == TCB_FLAG_TTYPE_KERNEL)
- {
- sched_kfree(dtcb->stack_alloc_ptr);
- }
- else
-#endif
- {
- /* Use the user-space allocator if this is a task or pthread */
-
- sched_ufree(dtcb->stack_alloc_ptr);
- }
+ sched_ufree(dtcb->stack_alloc_ptr);
}
/* Mark the stack freed */
diff --git a/arch/x86/src/common/up_allocateheap.c b/arch/x86/src/common/up_allocateheap.c
index c51e3d855f6..79779ffbac5 100644
--- a/arch/x86/src/common/up_allocateheap.c
+++ b/arch/x86/src/common/up_allocateheap.c
@@ -70,7 +70,7 @@
* Description:
* This function will be called to dynamically set aside the heap region.
*
- * For the kernel build (CONFIG_NUTTX_KERNEL=y) with both kernel- and
+ * For the kernel build (CONFIG_BUILD_KERNEL=y) with both kernel- and
* user-space heaps (CONFIG_MM_KERNEL_HEAP=y), this function provides the
* size of the unprotected, user-space heap.
*
diff --git a/arch/x86/src/i486/up_createstack.c b/arch/x86/src/i486/up_createstack.c
index cdd7fec7c56..6b02e44642d 100644
--- a/arch/x86/src/i486/up_createstack.c
+++ b/arch/x86/src/i486/up_createstack.c
@@ -94,7 +94,7 @@
* however, there are certain contexts where the TCB may not be fully
* initialized when up_create_stack is called.
*
- * If CONFIG_NUTTX_KERNEL is defined, then this thread type may affect
+ * If CONFIG_BUILD_KERNEL is defined, then this thread type may affect
* how the stack is allocated. For example, kernel thread stacks should
* be allocated from protected kernel memory. Stacks for user tasks and
* threads must come from memory that is accessible to user code.
@@ -123,7 +123,7 @@ int up_create_stack(FAR struct tcb_s *tcb, size_t stack_size, uint8_t ttype)
* then create a zeroed stack to make stack dumps easier to trace.
*/
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
/* Use the kernel allocator if this is a kernel thread */
if (ttype == TCB_FLAG_TTYPE_KERNEL)
diff --git a/arch/x86/src/i486/up_initialstate.c b/arch/x86/src/i486/up_initialstate.c
index 8efd0e92a55..242545330aa 100644
--- a/arch/x86/src/i486/up_initialstate.c
+++ b/arch/x86/src/i486/up_initialstate.c
@@ -111,8 +111,8 @@ void up_initial_state(struct tcb_s *tcb)
* supervisor-mode.
*/
-#ifdef CONFIG_NUTTX_KERNEL
-# error "Missing logic for the CONFIG_NUTTX_KERNEL build"
+#ifdef CONFIG_BUILD_KERNEL
+# error "Missing logic for the CONFIG_BUILD_KERNEL build"
#endif
/* Enable or disable interrupts, based on user configuration. If the IF
diff --git a/arch/x86/src/i486/up_releasestack.c b/arch/x86/src/i486/up_releasestack.c
index 89bf974c751..797934f9f6c 100644
--- a/arch/x86/src/i486/up_releasestack.c
+++ b/arch/x86/src/i486/up_releasestack.c
@@ -79,7 +79,7 @@
* however, there are certain error recovery contexts where the TCB may
* not be fully initialized when up_release_stack is called.
*
- * If CONFIG_NUTTX_KERNEL is defined, then this thread type may affect
+ * If CONFIG_BUILD_KERNEL is defined, then this thread type may affect
* how the stack is freed. For example, kernel thread stacks may have
* been allocated from protected kernel memory. Stacks for user tasks
* and threads must have come from memory that is accessible to user
@@ -96,7 +96,7 @@ void up_release_stack(FAR struct tcb_s *dtcb, uint8_t ttype)
if (dtcb->stack_alloc_ptr)
{
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
/* Use the kernel allocator if this is a kernel thread */
if (ttype == TCB_FLAG_TTYPE_KERNEL)
diff --git a/arch/z16/src/common/up_allocateheap.c b/arch/z16/src/common/up_allocateheap.c
index af3b06713df..8f6f3ac41e0 100644
--- a/arch/z16/src/common/up_allocateheap.c
+++ b/arch/z16/src/common/up_allocateheap.c
@@ -85,13 +85,6 @@
* Description:
* This function will be called to dynamically set aside the heap region.
*
- * For the kernel build (CONFIG_NUTTX_KERNEL=y) with both kernel- and
- * user-space heaps (CONFIG_MM_KERNEL_HEAP=y), this function provides the
- * size of the unprotected, user-space heap.
- *
- * If a protected kernel-space heap is provided, the kernel heap must be
- * allocated (and protected) by an analogous up_allocate_kheap().
- *
****************************************************************************/
void up_allocate_heap(FAR void **heap_start, size_t *heap_size)
diff --git a/arch/z16/src/common/up_createstack.c b/arch/z16/src/common/up_createstack.c
index 0a7fecd3b94..5daf8cc7614 100644
--- a/arch/z16/src/common/up_createstack.c
+++ b/arch/z16/src/common/up_createstack.c
@@ -93,11 +93,6 @@
* however, there are certain contexts where the TCB may not be fully
* initialized when up_create_stack is called.
*
- * If CONFIG_NUTTX_KERNEL is defined, then this thread type may affect
- * how the stack is allocated. For example, kernel thread stacks should
- * be allocated from protected kernel memory. Stacks for user tasks and
- * threads must come from memory that is accessible to user code.
- *
****************************************************************************/
int up_create_stack(FAR struct tcb_s *tcb, size_t stack_size, uint8_t ttype)
@@ -122,28 +117,11 @@ int up_create_stack(FAR struct tcb_s *tcb, size_t stack_size, uint8_t ttype)
* then create a zeroed stack to make stack dumps easier to trace.
*/
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
- /* Use the kernel allocator if this is a kernel thread */
-
- if (ttype == TCB_FLAG_TTYPE_KERNEL)
- {
#if defined(CONFIG_DEBUG) && !defined(CONFIG_DEBUG_STACK)
- tcb->stack_alloc_ptr = (uint32_t *)kzalloc(stack_size);
+ tcb->stack_alloc_ptr = (uint32_t *)kuzalloc(stack_size);
#else
- tcb->stack_alloc_ptr = (uint32_t *)kmalloc(stack_size);
+ tcb->stack_alloc_ptr = (uint32_t *)kumalloc(stack_size);
#endif
- }
- else
-#endif
- {
- /* Use the user-space allocator if this is a task or pthread */
-
-#if defined(CONFIG_DEBUG) && !defined(CONFIG_DEBUG_STACK)
- tcb->stack_alloc_ptr = (uint32_t *)kuzalloc(stack_size);
-#else
- tcb->stack_alloc_ptr = (uint32_t *)kumalloc(stack_size);
-#endif
- }
#ifdef CONFIG_DEBUG
/* Was the allocation successful? */
diff --git a/arch/z16/src/common/up_releasestack.c b/arch/z16/src/common/up_releasestack.c
index d57f2c11a75..c64a5f40872 100644
--- a/arch/z16/src/common/up_releasestack.c
+++ b/arch/z16/src/common/up_releasestack.c
@@ -79,12 +79,6 @@
* however, there are certain error recovery contexts where the TCB may
* not be fully initialized when up_release_stack is called.
*
- * If CONFIG_NUTTX_KERNEL is defined, then this thread type may affect
- * how the stack is freed. For example, kernel thread stacks may have
- * been allocated from protected kernel memory. Stacks for user tasks
- * and threads must have come from memory that is accessible to user
- * code.
- *
* Returned Value:
* None
*
@@ -96,20 +90,7 @@ void up_release_stack(FAR struct tcb_s *dtcb, uint8_t ttype)
if (dtcb->stack_alloc_ptr)
{
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
- /* Use the kernel allocator if this is a kernel thread */
-
- if (ttype == TCB_FLAG_TTYPE_KERNEL)
- {
- sched_kfree(dtcb->stack_alloc_ptr);
- }
- else
-#endif
- {
- /* Use the user-space allocator if this is a task or pthread */
-
- sched_ufree(dtcb->stack_alloc_ptr);
- }
+ sched_ufree(dtcb->stack_alloc_ptr);
/* Mark the stack freed */
diff --git a/arch/z80/src/common/up_allocateheap.c b/arch/z80/src/common/up_allocateheap.c
index 8a6095d51cf..c3c5a034956 100644
--- a/arch/z80/src/common/up_allocateheap.c
+++ b/arch/z80/src/common/up_allocateheap.c
@@ -87,7 +87,7 @@
* Description:
* This function will be called to dynamically set aside the heap region.
*
- * For the kernel build (CONFIG_NUTTX_KERNEL=y) with both kernel- and
+ * For the kernel build (CONFIG_BUILD_KERNEL=y) with both kernel- and
* user-space heaps (CONFIG_MM_KERNEL_HEAP=y), this function provides the
* size of the unprotected, user-space heap.
*
diff --git a/arch/z80/src/common/up_createstack.c b/arch/z80/src/common/up_createstack.c
index 1a058ec5097..1b750667338 100644
--- a/arch/z80/src/common/up_createstack.c
+++ b/arch/z80/src/common/up_createstack.c
@@ -92,7 +92,7 @@
* however, there are certain contexts where the TCB may not be fully
* initialized when up_create_stack is called.
*
- * If CONFIG_NUTTX_KERNEL is defined, then this thread type may affect
+ * If CONFIG_BUILD_KERNEL is defined, then this thread type may affect
* how the stack is allocated. For example, kernel thread stacks should
* be allocated from protected kernel memory. Stacks for user tasks and
* threads must come from memory that is accessible to user code.
@@ -121,7 +121,7 @@ int up_create_stack(FAR struct tcb_s *tcb, size_t stack_size, uint8_t ttype)
* then create a zeroed stack to make stack dumps easier to trace.
*/
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
/* Use the kernel allocator if this is a kernel thread */
if (ttype == TCB_FLAG_TTYPE_KERNEL)
diff --git a/arch/z80/src/common/up_releasestack.c b/arch/z80/src/common/up_releasestack.c
index 9ea249a63e2..be978aadd98 100644
--- a/arch/z80/src/common/up_releasestack.c
+++ b/arch/z80/src/common/up_releasestack.c
@@ -79,7 +79,7 @@
* however, there are certain error recovery contexts where the TCB may
* not be fully initialized when up_release_stack is called.
*
- * If CONFIG_NUTTX_KERNEL is defined, then this thread type may affect
+ * If CONFIG_BUILD_KERNEL is defined, then this thread type may affect
* how the stack is freed. For example, kernel thread stacks may have
* been allocated from protected kernel memory. Stacks for user tasks
* and threads must have come from memory that is accessible to user
@@ -96,7 +96,7 @@ void up_release_stack(FAR struct tcb_s *dtcb, uint8_t ttype)
if (dtcb->stack_alloc_ptr)
{
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
/* Use the kernel allocator if this is a kernel thread */
if (ttype == TCB_FLAG_TTYPE_KERNEL)
diff --git a/binfmt/Kconfig b/binfmt/Kconfig
index 0575cd3694f..14bd4364fb8 100644
--- a/binfmt/Kconfig
+++ b/binfmt/Kconfig
@@ -52,7 +52,7 @@ endif
config BUILTIN
bool "Support Builtin Applications"
default n
- depends on !NUTTX_KERNEL || EXPERIMENTAL
+ depends on (!BUILD_PROTECTED && !BUILD_KERNEL) || EXPERIMENTAL
---help---
Enable support for builtin applications. This features assigns a string
name to an application and in addition if FS_BINFS is defined, retaining
@@ -60,10 +60,10 @@ config BUILTIN
is also the underlying requirement to support built-in applications in the
NuttShell (NSH).
- ISSUES: This feature is highly coupled with logic in the apps/subdirectory
- and, as a consequence, cannot be used in environments that do not
- include the standard NuttX apps/ nor in build configurations using
- NUTTX_KERNEL.
+ ISSUES: This feature is highly coupled with logic in the apps/
+ sub-directory and, as a consequence, cannot be used in environments
+ that do not include the standard NuttX apps/ nor in build
+ configurations using BUILD_PROTECTED or BUILD_KERNEL.
if BUILTIN
source binfmt/libbuiltin/Kconfig
@@ -72,7 +72,7 @@ endif
config PCODE
bool "Support P-Code Applications"
default n
- depends on INTERPRETERS_PCODE && SYSTEM_PRUN && (!NUTTX_KERNEL || EXPERIMENTAL)
+ depends on INTERPRETERS_PCODE && SYSTEM_PRUN && ((!BUILD_PROTECTED && !BUILD_KERNEL) || EXPERIMENTAL)
---help---
Enable support for interpreted P-Code binaries. P-Code binaries are
generated by the NuttX Pascal compiler.
@@ -87,7 +87,7 @@ config PCODE
ISSUES: This feature is highly coupled with logic in the apps/subdirectory
and, as a consequence, cannot be used in environments that do not
include the standard NuttX apps/ nor in build configurations using
- NUTTX_KERNEL.
+ UILD_PROTECTED or BUILD_KERNEL..
if PCODE
source binfmt/libpcode/Kconfig
diff --git a/binfmt/pcode.c b/binfmt/pcode.c
index ce244a26952..b2a243cb0c1 100644
--- a/binfmt/pcode.c
+++ b/binfmt/pcode.c
@@ -218,7 +218,7 @@ static int pcode_mount_testfs(void)
*
****************************************************************************/
-#ifndef CONFIG_NUTTX_KERNEL
+#if !defined(CONFIG_BUILD_PROTECTED) && !defined(CONFIG_BUILD_KERNEL)
static void pcode_onexit(int exitcode, FAR void *arg)
{
FAR struct binary_s *binp = (FAR struct binary_s *)arg;
@@ -236,12 +236,13 @@ static void pcode_onexit(int exitcode, FAR void *arg)
* Description:
* This is the proxy program that runs and starts the P-Code interpreter.
*
- * REVISIT: There are issues here when CONFIG_NUTTX_KERNEL is selected. Also
- * This implementation is too highly couple to logic in the apps/ directory.
+ * REVISIT: There are issues here when CONFIG_BUILD_PROTECTED or
+ * CONFIG_BUILD_KERNEL are selected. Also this implementation is too highly
+ * couple to logic in the apps/ directory.
*
****************************************************************************/
-#ifndef CONFIG_NUTTX_KERNEL
+#if !defined(CONFIG_BUILD_PROTECTED) && !defined(CONFIG_BUILD_KERNEL)
static int pcode_proxy(int argc, char **argv)
{
FAR struct binary_s *binp;
@@ -289,7 +290,7 @@ static int pcode_proxy(int argc, char **argv)
return EXIT_SUCCESS;
}
#else
-# error Missing logic for the case of CONFIG_NUTTX_KERNEL
+# error Missing logic for the case of CONFIG_BUILD_PROTECTED/KERNEL
#endif
/****************************************************************************
@@ -371,7 +372,8 @@ static int pcode_load(struct binary_s *binp)
}
/* Return the load information.
- * REVISIT: There are issues here when CONFIG_NUTTX_KERNEL is selected.
+ * REVISIT: There are issues here when CONFIG_BUILD_PROTECTED or
+ * CONFIG_BUILD_KERNEL are selected.
*/
binp->entrypt = pcode_proxy;
diff --git a/configs/ea3131/pgnsh/defconfig b/configs/ea3131/pgnsh/defconfig
index fddd3d2b472..fbae9b06c41 100644
--- a/configs/ea3131/pgnsh/defconfig
+++ b/configs/ea3131/pgnsh/defconfig
@@ -25,7 +25,7 @@ CONFIG_BUILD_2PASS=y
CONFIG_PASS1_TARGET="all"
CONFIG_PASS1_BUILDIR="configs/ea3131/locked"
CONFIG_PASS1_OBJECT="locked.r"
-# CONFIG_NUTTX_KERNEL is not set
+# CONFIG_BUILD_PROTECTED is not set
#
# Binary Output Formats
diff --git a/configs/mikroe-stm32f4/kernel/up_userspace.c b/configs/mikroe-stm32f4/kernel/up_userspace.c
index 77092457c71..614ae3b8992 100644
--- a/configs/mikroe-stm32f4/kernel/up_userspace.c
+++ b/configs/mikroe-stm32f4/kernel/up_userspace.c
@@ -45,7 +45,7 @@
#include
#include
-#if defined(CONFIG_NUTTX_KERNEL) && !defined(__KERNEL__)
+#if defined(CONFIG_BUILD_PROTECTED) && !defined(__KERNEL__)
/****************************************************************************
* Pre-processor Definitions
@@ -139,4 +139,4 @@ const struct userspace_s userspace __attribute__ ((section (".userspace"))) =
* Public Functions
****************************************************************************/
-#endif /* CONFIG_NUTTX_KERNEL && !__KERNEL__ */
+#endif /* CONFIG_BUILD_PROTECTED && !__KERNEL__ */
diff --git a/configs/mikroe-stm32f4/kostest/defconfig b/configs/mikroe-stm32f4/kostest/defconfig
index 1f2e7c592cb..75123cc7dc0 100644
--- a/configs/mikroe-stm32f4/kostest/defconfig
+++ b/configs/mikroe-stm32f4/kostest/defconfig
@@ -21,7 +21,7 @@ CONFIG_BUILD_2PASS=y
CONFIG_PASS1_TARGET="all"
CONFIG_PASS1_BUILDIR="configs/mikroe-stm32f4/kernel"
CONFIG_PASS1_OBJECT=""
-CONFIG_NUTTX_KERNEL=y
+CONFIG_BUILD_PROTECTED=y
CONFIG_NUTTX_USERSPACE=0x08020000
#
@@ -107,6 +107,7 @@ CONFIG_ARCH_HAVE_CMNVECTOR=y
CONFIG_ARCH_HAVE_FPU=y
# CONFIG_ARCH_FPU is not set
CONFIG_ARCH_HAVE_MPU=y
+CONFIG_ARCH_USE_MPU=y
CONFIG_ARMV7M_MPU=y
CONFIG_ARMV7M_MPU_NREGIONS=8
diff --git a/configs/open1788/kernel/up_userspace.c b/configs/open1788/kernel/up_userspace.c
index 59e21849203..ffcd8db480a 100644
--- a/configs/open1788/kernel/up_userspace.c
+++ b/configs/open1788/kernel/up_userspace.c
@@ -45,7 +45,7 @@
#include
#include
-#if defined(CONFIG_NUTTX_KERNEL) && !defined(__KERNEL__)
+#if defined(CONFIG_BUILD_PROTECTED) && !defined(__KERNEL__)
/****************************************************************************
* Pre-processor Definitions
@@ -139,4 +139,4 @@ const struct userspace_s userspace __attribute__ ((section (".userspace"))) =
* Public Functions
****************************************************************************/
-#endif /* CONFIG_NUTTX_KERNEL && !__KERNEL__ */
+#endif /* CONFIG_BUILD_PROTECTED && !__KERNEL__ */
diff --git a/configs/open1788/knsh/defconfig b/configs/open1788/knsh/defconfig
index b83c1a38732..dc4203c75c8 100644
--- a/configs/open1788/knsh/defconfig
+++ b/configs/open1788/knsh/defconfig
@@ -20,7 +20,7 @@ CONFIG_BUILD_2PASS=y
CONFIG_PASS1_TARGET="all"
CONFIG_PASS1_BUILDIR="configs/open1788/kernel"
CONFIG_PASS1_OBJECT=""
-CONFIG_NUTTX_KERNEL=y
+CONFIG_BUILD_PROTECTED=y
CONFIG_NUTTX_USERSPACE=0x00010000
#
@@ -86,6 +86,7 @@ CONFIG_ARCH_CHIP="lpc17xx"
CONFIG_ARCH_HAVE_CMNVECTOR=y
# CONFIG_ARMV7M_CMNVECTOR is not set
CONFIG_ARCH_HAVE_MPU=y
+CONFIG_ARCH_USE_MPU=y
CONFIG_ARMV7M_MPU=y
CONFIG_ARMV7M_MPU_NREGIONS=8
diff --git a/configs/pcduino-a10/nsh/pcduino-140107.patch b/configs/pcduino-a10/nsh/pcduino-140107.patch
index b5df28eb800..e6a1b9c18cc 100644
--- a/configs/pcduino-a10/nsh/pcduino-140107.patch
+++ b/configs/pcduino-a10/nsh/pcduino-140107.patch
@@ -48,7 +48,7 @@ index 3cc6323..ad42790 100644
@@ -353,6 +359,7 @@ void up_boot(void)
*/
- #ifdef CONFIG_NUTTX_KERNEL
+ #ifdef CONFIG_BUILD_PROTECTED
+lowsyslog("Calling a1x_userspace\n"); // REMOVE ME
a1x_userspace();
#endif
diff --git a/configs/sam3u-ek/kernel/up_userspace.c b/configs/sam3u-ek/kernel/up_userspace.c
index 50a45838f35..51ed83b6fe1 100644
--- a/configs/sam3u-ek/kernel/up_userspace.c
+++ b/configs/sam3u-ek/kernel/up_userspace.c
@@ -45,7 +45,7 @@
#include
#include
-#if defined(CONFIG_NUTTX_KERNEL) && !defined(__KERNEL__)
+#if defined(CONFIG_BUILD_PROTECTED) && !defined(__KERNEL__)
/****************************************************************************
* Pre-processor Definitions
@@ -139,4 +139,4 @@ const struct userspace_s userspace __attribute__ ((section (".userspace"))) =
* Public Functions
****************************************************************************/
-#endif /* CONFIG_NUTTX_KERNEL && !__KERNEL__ */
+#endif /* CONFIG_BUILD_PROTECTED && !__KERNEL__ */
diff --git a/configs/sam3u-ek/knsh/defconfig b/configs/sam3u-ek/knsh/defconfig
index 6183909dec7..41a6a65deda 100644
--- a/configs/sam3u-ek/knsh/defconfig
+++ b/configs/sam3u-ek/knsh/defconfig
@@ -21,7 +21,7 @@ CONFIG_BUILD_2PASS=y
CONFIG_PASS1_TARGET="all"
CONFIG_PASS1_BUILDIR="configs/sam3u-ek/kernel"
CONFIG_PASS1_OBJECT=""
-CONFIG_NUTTX_KERNEL=y
+CONFIG_BUILD_PROTECTED=y
CONFIG_NUTTX_USERSPACE=0x00090000
#
@@ -104,6 +104,7 @@ CONFIG_ARCH_CHIP="sam34"
# CONFIG_ARMV7M_USEBASEPRI is not set
# CONFIG_ARCH_HAVE_FPU is not set
CONFIG_ARCH_HAVE_MPU=y
+CONFIG_ARCH_USE_MPU=y
CONFIG_ARMV7M_MPU=y
CONFIG_ARMV7M_MPU_NREGIONS=8
diff --git a/configs/sam4s-xplained-pro/nsh/defconfig b/configs/sam4s-xplained-pro/nsh/defconfig
index 30888281fd5..f01103652ad 100644
--- a/configs/sam4s-xplained-pro/nsh/defconfig
+++ b/configs/sam4s-xplained-pro/nsh/defconfig
@@ -101,6 +101,7 @@ CONFIG_ARCH_CHIP="sam34"
CONFIG_ARMV7M_USEBASEPRI=y
# CONFIG_ARCH_HAVE_FPU is not set
CONFIG_ARCH_HAVE_MPU=y
+CONFIG_ARCH_USE_MPU=y
CONFIG_ARMV7M_MPU=y
CONFIG_ARMV7M_MPU_NREGIONS=8
diff --git a/configs/stm3240g-eval/kernel/up_userspace.c b/configs/stm3240g-eval/kernel/up_userspace.c
index 0f57b34383b..c5aecd02e50 100644
--- a/configs/stm3240g-eval/kernel/up_userspace.c
+++ b/configs/stm3240g-eval/kernel/up_userspace.c
@@ -45,7 +45,7 @@
#include
#include
-#if defined(CONFIG_NUTTX_KERNEL) && !defined(__KERNEL__)
+#if defined(CONFIG_BUILD_PROTECTED) && !defined(__KERNEL__)
/****************************************************************************
* Pre-processor Definitions
@@ -139,4 +139,4 @@ const struct userspace_s userspace __attribute__ ((section (".userspace"))) =
* Public Functions
****************************************************************************/
-#endif /* CONFIG_NUTTX_KERNEL && !__KERNEL__ */
+#endif /* CONFIG_BUILD_PROTECTED && !__KERNEL__ */
diff --git a/configs/stm3240g-eval/knxwm/defconfig b/configs/stm3240g-eval/knxwm/defconfig
index 2844b7b6c82..7de3b478c2c 100644
--- a/configs/stm3240g-eval/knxwm/defconfig
+++ b/configs/stm3240g-eval/knxwm/defconfig
@@ -25,7 +25,7 @@ CONFIG_BUILD_2PASS=y
CONFIG_PASS1_TARGET="all"
CONFIG_PASS1_BUILDIR="configs/stm3240g-eval/kernel"
CONFIG_PASS1_OBJECT=""
-CONFIG_NUTTX_KERNEL=y
+CONFIG_BUILD_PROTECTED=y
CONFIG_NUTTX_USERSPACE=0x08040000
#
@@ -111,6 +111,7 @@ CONFIG_ARCH_HAVE_CMNVECTOR=y
CONFIG_ARCH_HAVE_FPU=y
# CONFIG_ARCH_FPU is not set
CONFIG_ARCH_HAVE_MPU=y
+CONFIG_ARCH_USE_MPU=y
CONFIG_ARMV7M_MPU=y
CONFIG_ARMV7M_MPU_NREGIONS=8
diff --git a/configs/stm3240g-eval/src/up_boot.c b/configs/stm3240g-eval/src/up_boot.c
index 35989f90fe9..eff7a36d38e 100644
--- a/configs/stm3240g-eval/src/up_boot.c
+++ b/configs/stm3240g-eval/src/up_boot.c
@@ -51,7 +51,7 @@
* if nx_start() is available (CONFIG_NX_NXSTART=y) and if the NxWidget::CNxServer
* class expects the RTOS to do the NX initialization (CONFIG_NXWIDGET_SERVERINIT=n).
* This combination of settings is normally only used in the kernel build mode
- * (CONFIG_NUTTX_KERNEL) when NxWidgets is unable to initialize NX from user-space.
+ * (CONFIG_BUILD_PROTECTED) when NxWidgets is unable to initialize NX from user-space.
*/
#undef HAVE_NXSTART
@@ -67,7 +67,7 @@
# include
# endif
# else
-# if !defined(CONFIG_NXWIDGET_SERVERINIT) && defined(CONFIG_NUTTX_KERNEL)
+# if !defined(CONFIG_NXWIDGET_SERVERINIT) && defined(CONFIG_BUILD_PROTECTED)
# error CONFIG_NX_NXSTART=y is needed
# endif
# endif
@@ -78,7 +78,7 @@
* touchscreen (CONFIG_NXWM_TOUCHSCREEN=y), and if we were asked to
* initialize the touchscreen for NxWM (NXWM_TOUCHSCREEN_DEVINIT=n). This
* combination of settings is normally only used in the kernel build mode
- * (CONFIG_NUTTX_KERNEL) when NxWidgets is unable to initialize NX from
+ * (CONFIG_BUILD_PROTECTED) when NxWidgets is unable to initialize NX from
* user-space.
*/
@@ -93,7 +93,7 @@
# include
# endif
# else
-# if !defined(CONFIG_NXWM_TOUCHSCREEN_DEVINIT) && defined(CONFIG_NUTTX_KERNEL)
+# if !defined(CONFIG_NXWM_TOUCHSCREEN_DEVINIT) && defined(CONFIG_BUILD_PROTECTED)
# error CONFIG_INPUT_STMPE811=y is needed
# endif
# endif
diff --git a/configs/stm32f4discovery/kernel/up_userspace.c b/configs/stm32f4discovery/kernel/up_userspace.c
index 6dd84cbe33e..047fd7647a9 100644
--- a/configs/stm32f4discovery/kernel/up_userspace.c
+++ b/configs/stm32f4discovery/kernel/up_userspace.c
@@ -45,7 +45,7 @@
#include
#include
-#if defined(CONFIG_NUTTX_KERNEL) && !defined(__KERNEL__)
+#if defined(CONFIG_BUILD_PROTECTED) && !defined(__KERNEL__)
/****************************************************************************
* Pre-processor Definitions
@@ -139,4 +139,4 @@ const struct userspace_s userspace __attribute__ ((section (".userspace"))) =
* Public Functions
****************************************************************************/
-#endif /* CONFIG_NUTTX_KERNEL && !__KERNEL__ */
+#endif /* CONFIG_BUILD_PROTECTED && !__KERNEL__ */
diff --git a/configs/stm32f4discovery/kostest/defconfig b/configs/stm32f4discovery/kostest/defconfig
index 3e210d62fe5..74358591874 100644
--- a/configs/stm32f4discovery/kostest/defconfig
+++ b/configs/stm32f4discovery/kostest/defconfig
@@ -25,7 +25,7 @@ CONFIG_BUILD_2PASS=y
CONFIG_PASS1_TARGET="all"
CONFIG_PASS1_BUILDIR="configs/stm32f4discovery/kernel"
CONFIG_PASS1_OBJECT=""
-CONFIG_NUTTX_KERNEL=y
+CONFIG_BUILD_PROTECTED=y
CONFIG_NUTTX_USERSPACE=0x08020000
#
@@ -111,6 +111,7 @@ CONFIG_ARCH_HAVE_CMNVECTOR=y
CONFIG_ARCH_HAVE_FPU=y
# CONFIG_ARCH_FPU is not set
CONFIG_ARCH_HAVE_MPU=y
+CONFIG_ARCH_USE_MPU=y
CONFIG_ARMV7M_MPU=y
CONFIG_ARMV7M_MPU_NREGIONS=8
diff --git a/drivers/timer.c b/drivers/timer.c
index 0fb4c5f8e9a..d8dd6b01fed 100644
--- a/drivers/timer.c
+++ b/drivers/timer.c
@@ -380,7 +380,7 @@ static int timer_ioctl(FAR struct file *filep, int cmd, unsigned long arg)
* case direct callbacks from kernel space into user space is forbidden.
*/
-#ifndef CONFIG_NUTTX_KERNEL
+#if !defined(CONFIG_BUILD_PROTECTED) && !defined(CONFIG_BUILD_KERNEL)
case TCIOC_SETHANDLER:
{
FAR struct timer_sethandler_s *sethandler;
diff --git a/fs/fs_fdopen.c b/fs/fs_fdopen.c
index 0b1b4338a64..5356ae03d93 100644
--- a/fs/fs_fdopen.c
+++ b/fs/fs_fdopen.c
@@ -193,7 +193,8 @@ FAR struct file_struct *fs_fdopen(int fd, int oflags, FAR struct tcb_s *tcb)
/* Get the stream list from the TCB */
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if (defined(CONFIG_BUILD_PROTECTED) || defined(CONFIG_BUILD_KERNEL)) && \
+ defined(CONFIG_MM_KERNEL_HEAP)
slist = tcb->group->tg_streamlist;
#else
slist = &tcb->group->tg_streamlist;
diff --git a/include/errno.h b/include/errno.h
index 8c2ea46a808..dc90b4d0510 100644
--- a/include/errno.h
+++ b/include/errno.h
@@ -66,7 +66,8 @@
* kernel.
*/
-#if defined(CONFIG_NUTTX_KERNEL) && defined(__KERNEL__)
+#if (defined(CONFIG_BUILD_PROTECTED) && defined(__KERNEL__)) || \
+ defined(CONFIG_BUILD_KERNEL)
# define errno *get_errno_ptr()
# define set_errno(e) do { errno = (int)(e); } while (0)
# define get_errno(e) errno
diff --git a/include/nuttx/arch.h b/include/nuttx/arch.h
index d4b07682129..3070f029109 100644
--- a/include/nuttx/arch.h
+++ b/include/nuttx/arch.h
@@ -231,10 +231,11 @@ void up_initial_state(FAR struct tcb_s *tcb);
* however, there are certain contexts where the TCB may not be fully
* initialized when up_create_stack is called.
*
- * If CONFIG_NUTTX_KERNEL is defined, then this thread type may affect
- * how the stack is allocated. For example, kernel thread stacks should
- * be allocated from protected kernel memory. Stacks for user tasks and
- * threads must come from memory that is accessible to user code.
+ * If CONFIG_BUILD_PROTECTED or CONFIG_BUILD_KERNEL are is defined, then
+ * this thread type may affect how the stack is allocated. For example,
+ * kernel thread stacks should be allocated from protected kernel memory.
+ * Stacks for user tasks and threads must come from memory that is
+ * accessible to user code.
*
****************************************************************************/
@@ -307,7 +308,8 @@ int up_use_stack(FAR struct tcb_s *tcb, FAR void *stack, size_t stack_size);
*
****************************************************************************/
-#if !defined(CONFIG_CUSTOM_STACK) && defined(CONFIG_NUTTX_KERNEL)
+#if !defined(CONFIG_CUSTOM_STACK) && (defined(CONFIG_BUILD_PROTECTED) || \
+ defined(CONFIG_BUILD_KERNEL))
FAR void *up_stack_frame(FAR struct tcb_s *tcb, size_t frame_size);
#endif
@@ -331,11 +333,11 @@ FAR void *up_stack_frame(FAR struct tcb_s *tcb, size_t frame_size);
* however, there are certain error recovery contexts where the TCB may
* not be fully initialized when up_release_stack is called.
*
- * If CONFIG_NUTTX_KERNEL is defined, then this thread type may affect
- * how the stack is freed. For example, kernel thread stacks may have
- * been allocated from protected kernel memory. Stacks for user tasks
- * and threads must have come from memory that is accessible to user
- * code.
+ * If CONFIG_BUILD_PROTECTED or CONFIG_BUILD_KERNEL are defined, then
+ * this thread type may affect how the stack is freed. For example,
+ * kernel thread stacks may have been allocated from protected kernel
+ * memory. Stacks for user tasks and threads must have come from memory
+ * that is accessible to user code.
*
* Returned Value:
* None
@@ -526,7 +528,8 @@ void up_schedule_sigaction(FAR struct tcb_s *tcb, sig_deliver_t sigdeliver);
*
****************************************************************************/
-#if defined(CONFIG_NUTTX_KERNEL) && defined(__KERNEL__)
+#if (defined(CONFIG_BUILD_PROTECTED) && defined(__KERNEL__)) || \
+ defined(CONFIG_BUILD_KERNEL)
void up_task_start(main_t taskentry, int argc, FAR char *argv[])
noreturn_function;
#endif
@@ -555,7 +558,8 @@ void up_task_start(main_t taskentry, int argc, FAR char *argv[])
*
****************************************************************************/
-#if defined(CONFIG_NUTTX_KERNEL) && defined(__KERNEL__) && !defined(CONFIG_DISABLE_PTHREAD)
+#if (defined(CONFIG_BUILD_PROTECTED) && defined(__KERNEL__)) || \
+ defined(CONFIG_BUILD_KERNEL) && !defined(CONFIG_DISABLE_PTHREAD)
void up_pthread_start(pthread_startroutine_t entrypt, pthread_addr_t arg)
noreturn_function;
#endif
@@ -588,7 +592,8 @@ void up_pthread_start(pthread_startroutine_t entrypt, pthread_addr_t arg)
*
****************************************************************************/
-#if defined(CONFIG_NUTTX_KERNEL) && defined(__KERNEL__) && !defined(CONFIG_DISABLE_SIGNALS)
+#if (defined(CONFIG_BUILD_PROTECTED) && defined(__KERNEL__)) || \
+ defined(CONFIG_BUILD_KERNEL) && !defined(CONFIG_DISABLE_SIGNALS)
void up_signal_dispatch(_sa_sigaction_t sighand, int signo,
FAR siginfo_t *info, FAR void *ucontext);
#endif
@@ -612,7 +617,8 @@ void up_signal_dispatch(_sa_sigaction_t sighand, int signo,
*
****************************************************************************/
-#if defined(CONFIG_NUTTX_KERNEL) && !defined(__KERNEL__) && !defined(CONFIG_DISABLE_SIGNALS)
+#if (defined(CONFIG_BUILD_PROTECTED) && defined(__KERNEL__)) || \
+ defined(CONFIG_BUILD_KERNEL) && !defined(CONFIG_DISABLE_SIGNALS)
void up_signal_handler(_sa_sigaction_t sighand, int signo,
FAR siginfo_t *info, FAR void *ucontext)
noreturn_function;
@@ -624,7 +630,7 @@ void up_signal_handler(_sa_sigaction_t sighand, int signo,
* Description:
* This function will be called to dynamically set aside the heap region.
*
- * For the kernel build (CONFIG_NUTTX_KERNEL=y) with both kernel- and
+ * For the kernel build (CONFIG_BUILD_PROTECTED=y) with both kernel- and
* user-space heaps (CONFIG_MM_KERNEL_HEAP=y), this function provides the
* size of the unprotected, user-space heap.
*
@@ -639,13 +645,13 @@ void up_allocate_heap(FAR void **heap_start, size_t *heap_size);
* Name: up_allocate_kheap
*
* Description:
- * For the kernel build (CONFIG_NUTTX_KERNEL=y) with both kernel- and
+ * For the kernel build (CONFIG_BUILD_PROTECTED=y) with both kernel- and
* user-space heaps (CONFIG_MM_KERNEL_HEAP=y), this function allocates
* (and protects) the kernel-space heap.
*
****************************************************************************/
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_PROTECTED) && defined(CONFIG_MM_KERNEL_HEAP)
void up_allocate_kheap(FAR void **heap_start, size_t *heap_size);
#endif
diff --git a/include/nuttx/clock.h b/include/nuttx/clock.h
index 8ea787d167a..18c67fe16cf 100644
--- a/include/nuttx/clock.h
+++ b/include/nuttx/clock.h
@@ -71,7 +71,7 @@
# define __HAVE_KERNEL_GLOBALS 0
-#elif defined(CONFIG_NUTTX_KERNEL)
+#elif defined(CONFIG_BUILD_PROTECTED)
# if defined(__KERNEL__)
/* Case 3: Kernel mode of protected kernel build */
@@ -82,6 +82,11 @@
# define __HAVE_KERNEL_GLOBALS 0
# endif
+#elif defined(CONFIG_BUILD_KERNEL)
+ /* Case 3: Kernel only build */
+
+# define __HAVE_KERNEL_GLOBALS 1
+
#elif defined(CONFIG_LIB_SYSCALL)
/* Case 4: Building with SYSCALLs enabled, but not part of a kernel build */
diff --git a/include/nuttx/kmalloc.h b/include/nuttx/kmalloc.h
index e47ff71197d..bea2d03ba5a 100644
--- a/include/nuttx/kmalloc.h
+++ b/include/nuttx/kmalloc.h
@@ -49,7 +49,7 @@
#include
#include
-#if !defined(CONFIG_NUTTX_KERNEL) || defined(__KERNEL__)
+#if !defined(CONFIG_BUILD_PROTECTED) || defined(__KERNEL__)
/****************************************************************************
* Public Types
@@ -89,7 +89,7 @@ extern "C"
#define kumm_trysemaphore() umm_trysemaphore()
#define kumm_givesemaphore() umm_givesemaphore()
-#ifndef CONFIG_NUTTX_KERNEL
+#ifndef CONFIG_BUILD_PROTECTED
/* In the flat build, the following are declared in stdlib.h and are
* directly callable.
*/
@@ -116,7 +116,7 @@ extern "C"
/* This family of allocators is used to manage kernel protected memory */
-#if !defined(CONFIG_NUTTX_KERNEL)
+#if !defined(CONFIG_BUILD_PROTECTED)
/* If this is not a kernel build, then these map to the same interfaces
* as were used for the user-mode function.
*/
@@ -180,7 +180,7 @@ bool kmm_heapmember(FAR void *mem);
void sched_ufree(FAR void *address);
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if defined(CONFIG_BUILD_PROTECTED) && defined(CONFIG_MM_KERNEL_HEAP)
void sched_kfree(FAR void *address);
#else
# define sched_kfree(a) sched_ufree(a)
@@ -201,5 +201,5 @@ void sched_garbagecollection(void);
}
#endif
-#endif /* !CONFIG_NUTTX_KERNEL || __KERNEL__ */
+#endif /* !CONFIG_BUILD_PROTECTED || __KERNEL__ */
#endif /* __INCLUDE_NUTTX_KMALLOC_H */
diff --git a/include/nuttx/mm.h b/include/nuttx/mm.h
index ac831e2ce3d..7eac6b93046 100644
--- a/include/nuttx/mm.h
+++ b/include/nuttx/mm.h
@@ -65,6 +65,12 @@
# define CONFIG_MM_SMALL 1
#endif
+#undef HAVE_USER_HEAP
+#if (!defined(CONFIG_BUILD_PROTECTED) || !defined(__KERNEL__)) && \
+ !defined(CONFIG_BUILD_KERNEL)
+# define HAVE_USER_HEAP
+#endif
+
/* Chunk Header Definitions *************************************************/
/* These definitions define the characteristics of allocator
*
@@ -220,7 +226,7 @@ extern "C"
#define EXTERN extern
#endif
-#if !defined(CONFIG_NUTTX_KERNEL) || !defined(__KERNEL__)
+#ifdef HAVE_USER_HEAP
/* This is the user heap */
EXTERN struct mm_heap_s g_mmheap;
@@ -240,13 +246,13 @@ void mm_addregion(FAR struct mm_heap_s *heap, FAR void *heapstart,
/* Functions contained in umm_initialize.c **********************************/
-#if !defined(CONFIG_NUTTX_KERNEL) || !defined(__KERNEL__)
+#ifdef HAVE_USER_HEAP
void umm_initialize(FAR void *heap_start, size_t heap_size);
#endif
/* Functions contained in umm_addregion.c ***********************************/
-#if !defined(CONFIG_NUTTX_KERNEL) || !defined(__KERNEL__)
+#ifdef HAVE_USER_HEAP
void umm_addregion(FAR void *heapstart, size_t heapsize);
#endif
@@ -259,7 +265,7 @@ void mm_givesemaphore(FAR struct mm_heap_s *heap);
/* Functions contained in umm_semaphore.c ***********************************/
-#if !defined(CONFIG_NUTTX_KERNEL) || !defined(__KERNEL__)
+#ifdef HAVE_USER_HEAP
int umm_trysemaphore(void);
void umm_givesemaphore(void);
#endif
diff --git a/include/nuttx/pgalloc.h b/include/nuttx/pgalloc.h
index bc1e7884683..dc878790e9c 100644
--- a/include/nuttx/pgalloc.h
+++ b/include/nuttx/pgalloc.h
@@ -59,7 +59,7 @@
* CONFIG_DEBUG_PGALLOC - Just like CONFIG_DEBUG_MM, but only generates
* output from the page allocation logic.
*
- * Dependencies: CONFIG_ARCH_HAVE_MMU and CONFIG_GRAN
+ * Dependencies: CONFIG_ARCH_USE_MMU and CONFIG_GRAN
*/
#ifndef CONFIG_MM_PGALLOC_PGSIZE
diff --git a/include/nuttx/sched.h b/include/nuttx/sched.h
index ecff5de230b..1952bea77d9 100644
--- a/include/nuttx/sched.h
+++ b/include/nuttx/sched.h
@@ -396,7 +396,8 @@ struct task_group_s
* allocated using a user-space allocator.
*/
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if (defined(CONFIG_BUILD_PROTECTED) || defined(CONFIG_BUILD_KERNEL)) && \
+ defined(CONFIG_MM_KERNEL_HEAP)
FAR struct streamlist *tg_streamlist;
#else
struct streamlist tg_streamlist; /* Holds C buffered I/O info */
@@ -559,7 +560,8 @@ struct task_tcb_s
uint8_t init_priority; /* Initial priority of the task */
-#if !defined(CONFIG_CUSTOM_STACK) && defined(CONFIG_NUTTX_KERNEL)
+#if !defined(CONFIG_CUSTOM_STACK) && (defined(CONFIG_BUILD_PROTECTED) || \
+ defined(CONFIG_BUILD_KERNEL))
/* In the kernel mode build, the arguments are saved on the task's stack */
FAR char **argv; /* Name+start-up parameters */
diff --git a/include/nuttx/userspace.h b/include/nuttx/userspace.h
index 5115aad7d34..a8286b7972d 100644
--- a/include/nuttx/userspace.h
+++ b/include/nuttx/userspace.h
@@ -49,13 +49,13 @@
#include
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
/****************************************************************************
* Pre-processor Definitions
****************************************************************************/
/* Configuration ************************************************************/
-/* If CONFIG_NUTTX_KERNEL, then CONFIG_NUTTX_USERSPACE must be defined to
+/* If CONFIG_BUILD_PROTECTED, then CONFIG_NUTTX_USERSPACE must be defined to
* provide the address where the user-space header can be found in memory.
*/
@@ -83,7 +83,7 @@
* they can be called through the userspace structure.
*/
-#if defined(CONFIG_NUTTX_KERNEL) && defined(__KERNEL__)
+#if defined(CONFIG_BUILD_PROTECTED) && defined(__KERNEL__)
# define umm_initialize(b,s) USERSPACE->mm_initialize(b,s)
# define umm_addregion(b,s) USERSPACE->mm_addregion(b,s)
# define umm_trysemaphore() USERSPACE->mm_trysemaphore()
@@ -186,7 +186,7 @@ extern "C"
*
****************************************************************************/
-#if defined(CONFIG_NUTTX_KERNEL) && !defined(__KERNEL__)
+#if defined(CONFIG_BUILD_PROTECTED) && !defined(__KERNEL__)
void task_startup(main_t entrypt, int argc, FAR char *argv[]) noreturn_function;
#endif
@@ -206,7 +206,7 @@ void task_startup(main_t entrypt, int argc, FAR char *argv[]) noreturn_function;
*
****************************************************************************/
-#if defined(CONFIG_NUTTX_KERNEL) && !defined(__KERNEL__) && !defined(CONFIG_DISABLE_PTHREAD)
+#if defined(CONFIG_BUILD_PROTECTED) && !defined(__KERNEL__) && !defined(CONFIG_DISABLE_PTHREAD)
void pthread_startup(pthread_startroutine_t entrypt, pthread_addr_t arg);
#endif
@@ -215,5 +215,5 @@ void pthread_startup(pthread_startroutine_t entrypt, pthread_addr_t arg);
}
#endif
-#endif /* CONFIG_NUTTX_KERNEL */
+#endif /* CONFIG_BUILD_PROTECTED */
#endif /* __INCLUDE_NUTTX_USERSPACE_H */
diff --git a/include/nuttx/wqueue.h b/include/nuttx/wqueue.h
index bf9c5683497..f3cef91fc9f 100644
--- a/include/nuttx/wqueue.h
+++ b/include/nuttx/wqueue.h
@@ -87,9 +87,9 @@
* priority worker thread. Default: CONFIG_IDLETHREAD_STACKSIZE.
*/
-/* Is this a kernel build (CONFIG_NUTTX_KERNEL=y) */
+/* Is this a protected build (CONFIG_BUILD_PROTECTED=y) */
-#ifdef CONFIG_NUTTX_KERNEL
+#if defined(CONFIG_BUILD_PROTECTED)
/* Yes.. kernel worker threads are not built in a kernel build when we are
* building the user-space libraries.
@@ -111,8 +111,13 @@
# endif
+#elif defined(CONFIG_BUILD_KERNEL)
+ /* The kernel only build is equivalent to the kernel part of the protected
+ * build.
+ */
+#else
/* User-space worker threads are not built in a flat build
- * (CONFIG_NUTTX_KERNEL=n)
+ * (CONFIG_BUILD_PROTECTED=n && CONFIG_BUILD_KERNEL=n)
*/
#else
@@ -220,14 +225,14 @@
* User Work Queue: Will be available if CONFIG_SCHED_USRWORK is defined
*/
-#if defined(CONFIG_NUTTX_KERNEL) && !defined(__KERNEL__)
+#if defined(CONFIG_BUILD_PROTECTED) && !defined(__KERNEL__)
# ifdef CONFIG_SCHED_USRWORK
# define NWORKERS 1
# define USRWORK 0
# endif
#else
- /* In a flat build (CONFIG_NUTTX_KERNEL=n) or during the kernel phase of
+ /* In a flat build (CONFIG_BUILD_PROTECTED=n) or during the kernel phase of
* the kernel build, there may be 0, 1, or 2 work queues.
*
* Work queue IDs (indices):
@@ -256,11 +261,11 @@
# define NWORKERS 1
# endif
-# ifndef CONFIG_NUTTX_KERNEL
+# if !defined(CONFIG_BUILD_PROTECTED) && !defined(CONFIG_BUILD_KERNEL)
# define USRWORK LPWORK
# endif
-#endif /* CONFIG_NUTTX_KERNEL && !__KERNEL__ */
+#endif /* CONFIG_BUILD_PROTECTED && !__KERNEL__ */
/****************************************************************************
* Public Types
@@ -314,7 +319,7 @@ extern "C"
* logic.
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
/* Play some games in the kernel mode build to assure that different
* naming is used for the global work queue data structures. This may
@@ -329,11 +334,11 @@ EXTERN struct wqueue_s g_usrwork[NWORKERS];
# define g_work g_usrwork
# endif
-#else /* CONFIG_NUTTX_KERNEL */
+#else /* CONFIG_BUILD_PROTECTED */
EXTERN struct wqueue_s g_work[NWORKERS];
-#endif /* CONFIG_NUTTX_KERNEL */
+#endif /* CONFIG_BUILD_PROTECTED */
/****************************************************************************
* Public Function Prototypes
diff --git a/include/sys/syscall.h b/include/sys/syscall.h
index 0dd6216c1ff..ffa50e4d254 100644
--- a/include/sys/syscall.h
+++ b/include/sys/syscall.h
@@ -439,6 +439,6 @@ EXTERN const uint8_t g_funcnparms[SYS_nsyscalls];
#endif
#endif /* __ASSEMBLY__ */
-#endif /* CONFIG_NUTTX_KERNEL */
+#endif /* CONFIG_LIB_SYSCALL */
#endif /* __INCLUDE_SYS_SYSCALL_H */
diff --git a/libc/Kconfig b/libc/Kconfig
index 6ed38bc6d62..79b7cbc0f68 100644
--- a/libc/Kconfig
+++ b/libc/Kconfig
@@ -460,7 +460,7 @@ config SCHED_LPWORKSTACKSIZE
endif # SCHED_LPWORK
endif # SCHED_HPWORK
-if NUTTX_KERNEL
+if BUILD_PROTECTED
config SCHED_USRWORK
bool "User mode worker thread"
@@ -490,7 +490,7 @@ config SCHED_LPWORKSTACKSIZE
The stack size allocated for the lower priority worker thread. Default: 2K.
endif # SCHED_USRWORK
-endif # NUTTX_KERNEL
+endif # BUILD_PROTECTED
endif # SCHED_WORKQUEUE
config LIB_KBDCODEC
diff --git a/libc/Makefile b/libc/Makefile
index 4556b66a49a..7404b9c5e88 100644
--- a/libc/Makefile
+++ b/libc/Makefile
@@ -37,12 +37,20 @@
# CFLAGS
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
KDEFINE = ${shell $(TOPDIR)\tools\define.bat "$(CC)" __KERNEL__}
else
KDEFINE = ${shell $(TOPDIR)/tools/define.sh "$(CC)" __KERNEL__}
endif
+else
+ifeq ($(CONFIG_BUILD_KERNEL),y)
+ifeq ($(CONFIG_WINDOWS_NATIVE),y)
+ KDEFINE = ${shell $(TOPDIR)\tools\define.bat "$(CC)" __KERNEL__}
+else
+ KDEFINE = ${shell $(TOPDIR)/tools/define.sh "$(CC)" __KERNEL__}
+endif
+endif
endif
# Sources and paths
@@ -122,7 +130,7 @@ endif
# Dependencies
.depend: Makefile $(SRCS)
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
$(Q) $(MKDEP) --obj-path ubin --obj-suffix $(OBJEXT) $(DEPPATH) "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make_ubin.dep
$(Q) $(MKDEP) --obj-path kbin --obj-suffix $(OBJEXT) $(DEPPATH) "$(CC)" -- $(CFLAGS) $(KDEFINE) -- $(SRCS) >Make_kbin.dep
else
diff --git a/libc/README.txt b/libc/README.txt
index b165bd74b05..8e8fa9f733e 100644
--- a/libc/README.txt
+++ b/libc/README.txt
@@ -11,13 +11,16 @@ mode. In that model, there is no real architectural distinction between
what is a kernel-mode program and what is a user-mode program; the system is
more like on multi-threaded program that all runs in kernel-mode.
-But if the CONFIG_NUTTX_KERNEL option is selected, NuttX will be built into
-distinct user-mode and kernel-mode sections. In that case, most of the
+But if the CONFIG_BUILD_PROTECTED option is selected, NuttX will be built
+into distinct user-mode and kernel-mode sections. In that case, most of the
code in the nuttx/ directory will run in kernel-mode with with exceptions
of (1) the user-mode "proxies" found in syscall/proxies, and (2) the
standard C library functions found in this directory. In this build model,
it is critical to separate the user-mode OS interfaces in this way.
+If CONFIG_BUILD_KERNEL is selected, then only a NuttX kernel will be built
+with no applications.
+
Sub-Directories
===============
diff --git a/libc/lib_internal.h b/libc/lib_internal.h
index c65cab5b2be..6b9404680ce 100644
--- a/libc/lib_internal.h
+++ b/libc/lib_internal.h
@@ -80,7 +80,8 @@
* mode is supported.
*/
-#if defined(CONFIG_NUTTX_KERNEL) && defined(__KERNEL__)
+#if (defined(CONFIG_BUILD_PROTECTED) && defined(__KERNEL__)) || \
+ defined(CONFIG_BUILD_KERNEL)
# include
/* Domain-specific allocations */
diff --git a/libc/misc/lib_init.c b/libc/misc/lib_init.c
index 586699a4a4f..f4f4e5b6ecd 100644
--- a/libc/misc/lib_init.c
+++ b/libc/misc/lib_init.c
@@ -49,7 +49,8 @@
#include "lib_internal.h"
-#if !defined(CONFIG_NUTTX_KERNEL) || defined(__KERNEL__)
+#if !defined(CONFIG_BUILD_PROTECTED) || defined(__KERNEL__) || \
+ defined(CONFIG_BUILD_KERNEL)
/************************************************************
* Pre-processor Definitions
@@ -150,5 +151,5 @@ void lib_releaselist(FAR struct streamlist *list)
#endif
}
-#endif /* !CONFIG_NUTTX_KERNEL || __KERNEL__ */
+#endif /* !CONFIG_BUILD_PROTECTED || __KERNEL__ || CONFIG_BUILD_KERNEL */
#endif /* CONFIG_NFILE_STREAMS */
diff --git a/libc/pthread/Make.defs b/libc/pthread/Make.defs
index c4ccbf635ae..a443a699698 100644
--- a/libc/pthread/Make.defs
+++ b/libc/pthread/Make.defs
@@ -50,7 +50,7 @@ ifeq ($(CONFIG_MUTEX_TYPES),y)
CSRCS += pthread_mutexattrsettype.c pthread_mutexattrgettype.c
endif
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
CSRCS += pthread_startup.c
endif
diff --git a/libc/pthread/pthread_attrinit.c b/libc/pthread/pthread_attrinit.c
index a2d6bf93884..d4a3e0f937c 100644
--- a/libc/pthread/pthread_attrinit.c
+++ b/libc/pthread/pthread_attrinit.c
@@ -64,7 +64,8 @@
* the user address space.
*/
-#if defined(CONFIG_NUTTX_KERNEL) && !defined(__KERNEL__)
+#if (defined(CONFIG_BUILD_PROTECTED) && !defined(__KERNEL__)) && \
+ !defined(CONFIG_BUILD_KERNEL)
pthread_attr_t g_default_pthread_attr = PTHREAD_ATTR_INITIALIZER;
#endif
diff --git a/libc/pthread/pthread_startup.c b/libc/pthread/pthread_startup.c
index 50aa263e4e8..6dea37c4eb9 100644
--- a/libc/pthread/pthread_startup.c
+++ b/libc/pthread/pthread_startup.c
@@ -44,7 +44,8 @@
#include
-#if defined(CONFIG_NUTTX_KERNEL) && !defined(__KERNEL__)
+#if (defined(CONFIG_BUILD_PROTECTED) && !defined(__KERNEL__)) || \
+ !defined(CONFIG_BUILD_KERNEL)
/****************************************************************************
* Pre-processor Definitions
@@ -105,4 +106,4 @@ void pthread_startup(pthread_startroutine_t entrypt, pthread_addr_t arg)
pthread_exit(exit_status);
}
-#endif /* CONFIG_NUTTX_KERNEL && !__KERNEL__ */
+#endif /* (CONFIG_BUILD_PROTECTED && !__KERNEL__) && !CONFIG_BUILD_KERNEL */
diff --git a/libc/sched/Make.defs b/libc/sched/Make.defs
index 310a6259b06..f1e69aff8ba 100644
--- a/libc/sched/Make.defs
+++ b/libc/sched/Make.defs
@@ -37,7 +37,7 @@
CSRCS += sched_getprioritymax.c sched_getprioritymin.c
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
CSRCS += task_startup.c
endif
diff --git a/libc/sched/task_startup.c b/libc/sched/task_startup.c
index 72cffbaaa33..8c81c0b50f6 100644
--- a/libc/sched/task_startup.c
+++ b/libc/sched/task_startup.c
@@ -44,7 +44,7 @@
#include
-#if defined(CONFIG_NUTTX_KERNEL) && !defined(__KERNEL__)
+#if defined(CONFIG_BUILD_PROTECTED) && !defined(__KERNEL__)
/****************************************************************************
* Pre-processor Definitions
@@ -101,4 +101,4 @@ void task_startup(main_t entrypt, int argc, FAR char *argv[])
exit(entrypt(argc, argv));
}
-#endif /* CONFIG_NUTTX_KERNEL && !__KERNEL__ */
+#endif /* CONFIG_BUILD_PROTECTED && !__KERNEL__ */
diff --git a/libc/stdio/lib_lowsyslog.c b/libc/stdio/lib_lowsyslog.c
index 364a418310e..3ada77bf545 100644
--- a/libc/stdio/lib_lowsyslog.c
+++ b/libc/stdio/lib_lowsyslog.c
@@ -46,7 +46,7 @@
/* This interface can only be used from within the kernel */
-#if !defined(CONFIG_NUTTX_KERNEL) || defined(__KERNEL__)
+#if !defined(CONFIG_BUILD_PROTECTED) || defined(__KERNEL__)
/****************************************************************************
* Definitions
diff --git a/libc/stdio/lib_syslog.c b/libc/stdio/lib_syslog.c
index 4e5afcebb6e..5f09582626f 100644
--- a/libc/stdio/lib_syslog.c
+++ b/libc/stdio/lib_syslog.c
@@ -50,7 +50,7 @@
/* Some output destinations are only available from within the kernel */
-#if defined(CONFIG_NUTTX_KERNEL) && !defined(__KERNEL__)
+#if defined(CONFIG_BUILD_PROTECTED) && !defined(__KERNEL__)
# undef CONFIG_SYSLOG
# undef CONFIG_ARCH_LOWPUTC
#endif
diff --git a/libc/wqueue/Make.defs b/libc/wqueue/Make.defs
index fca63a8a671..3f1303d7a81 100644
--- a/libc/wqueue/Make.defs
+++ b/libc/wqueue/Make.defs
@@ -39,7 +39,7 @@ ifeq ($(CONFIG_SCHED_WORKQUEUE),y)
CSRCS += work_thread.c work_queue.c work_cancel.c work_signal.c
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
CSRCS += work_usrstart.c
endif
diff --git a/libc/wqueue/work_thread.c b/libc/wqueue/work_thread.c
index ed26ca3ff89..657fe9d1043 100644
--- a/libc/wqueue/work_thread.c
+++ b/libc/wqueue/work_thread.c
@@ -67,7 +67,7 @@
/* The state of each work queue. */
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
/* Play some games in the kernel mode build to assure that different
* naming is used for the global work queue data structures. This may
@@ -83,11 +83,11 @@ struct wqueue_s g_kernelwork[NWORKERS];
struct wqueue_s g_usrwork[NWORKERS];
# endif
-#else /* CONFIG_NUTTX_KERNEL */
+#else /* CONFIG_BUILD_PROTECTED */
struct wqueue_s g_work[NWORKERS];
-#endif /* CONFIG_NUTTX_KERNEL */
+#endif /* CONFIG_BUILD_PROTECTED */
/****************************************************************************
* Private Variables
diff --git a/libc/wqueue/work_usrstart.c b/libc/wqueue/work_usrstart.c
index 2b3ee3c67e9..068c016d1d1 100644
--- a/libc/wqueue/work_usrstart.c
+++ b/libc/wqueue/work_usrstart.c
@@ -46,7 +46,7 @@
#include
-#if defined(CONFIG_NUTTX_KERNEL) && !defined(__KERNEL__) && \
+#if defined(CONFIG_BUILD_PROTECTED) && !defined(__KERNEL__) && \
defined(CONFIG_SCHED_WORKQUEUE) && defined(CONFIG_SCHED_USRWORK)
/****************************************************************************
@@ -112,4 +112,4 @@ int work_usrstart(void)
return g_usrwork[USRWORK].pid;
}
-#endif /* CONFIG_NUTTX_KERNEL && !__KERNEL__ CONFIG_SCHED_WORKQUEUE && CONFIG_SCHED_USRWORK */
+#endif /* CONFIG_BUILD_PROTECTED && !__KERNEL__ CONFIG_SCHED_WORKQUEUE && CONFIG_SCHED_USRWORK */
diff --git a/libnx/Makefile b/libnx/Makefile
index 37a19599619..375bb2691d1 100644
--- a/libnx/Makefile
+++ b/libnx/Makefile
@@ -37,7 +37,7 @@
# CFLAGS
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
KDEFINE = ${shell $(TOPDIR)\tools\define.bat "$(CC)" __KERNEL__}
else
@@ -185,7 +185,7 @@ endif
# Dependencies
.depend: Makefile gensources $(SRCS)
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
$(Q) $(MKDEP) --obj-path ubin --obj-suffix $(OBJEXT) $(DEPPATH) "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make_ubin.dep
$(Q) $(MKDEP) --obj-path kbin --obj-suffix $(OBJEXT) $(DEPPATH) "$(CC)" -- $(CFLAGS) $(KDEFINE) -- $(SRCS) >Make_kbin.dep
else
diff --git a/libnx/nxcontext.h b/libnx/nxcontext.h
index ca5e6dcb174..e8b52ece90d 100644
--- a/libnx/nxcontext.h
+++ b/libnx/nxcontext.h
@@ -61,7 +61,9 @@
* mode is supported.
*/
-#if defined(CONFIG_NUTTX_KERNEL) && defined(__KERNEL__)
+#if (defined(CONFIG_BUILD_PROTECTED) && defined(__KERNEL__)) || \
+ defined(CONFIG_BUILD_KERNEL)
+
# include
/* Domain-specific allocations */
diff --git a/libxx/libxx_internal.hxx b/libxx/libxx_internal.hxx
index 74d5526ce5d..25ad13c7634 100644
--- a/libxx/libxx_internal.hxx
+++ b/libxx/libxx_internal.hxx
@@ -52,7 +52,8 @@
// built as separated kernel- and user-space modules, then only the first
// mode is supported.
-#if defined(CONFIG_NUTTX_KERNEL) && defined(__KERNEL__)
+#if (defined(CONFIG_BUILD_PROTECTED) && defined(__KERNEL__)) || \
+ defined(CONFIG_BUILD_KERNEL)
# include
# define lib_malloc(s) kmalloc(s)
# define lib_zalloc(s) kzalloc(s)
diff --git a/mm/Kconfig b/mm/Kconfig
index 977baeb869a..3812971de82 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -18,7 +18,7 @@ config MM_MULTIHEAP
config MM_KERNEL_HEAP
bool "Support a protected, kernel heap"
default y
- depends on NUTTX_KERNEL && MM_MULTIHEAP
+ depends on (BUILD_PROTECTED || BUILD_KERNEL) && MM_MULTIHEAP
---help---
Partition heap memory into two parts: (1) a protected, kernel-mode
heap accessible only by the NuttX kernel, and (2) an unprotected
@@ -142,7 +142,7 @@ config DEBUG_GRAN
config MM_PGALLOC
bool "Enable Page Allocator"
default n
- depends on ARCH_HAVE_MMU
+ depends on ARCH_USE_MMU
select GRAN
---help---
Enable support for a MMU physical page allocator based on the
diff --git a/mm/Makefile b/mm/Makefile
index f605fc5d448..349ced9f845 100644
--- a/mm/Makefile
+++ b/mm/Makefile
@@ -40,7 +40,7 @@ DELIM := $(strip /)
# CFLAGS
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
KDEFINE = ${shell $(TOPDIR)\tools\define.bat "$(CC)" __KERNEL__}
else
@@ -58,10 +58,16 @@ CSRCS += mm_memalign.c mm_free.c mm_mallinfo.c
# Allocator instances
CSRCS += mm_user.c
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
ifeq ($(CONFIG_MM_KERNEL_HEAP),y)
CSRCS += mm_kernel.c
endif
+else
+ifeq ($(CONFIG_BUILD_KERNEL),y)
+ifeq ($(CONFIG_MM_KERNEL_HEAP),y)
+CSRCS += mm_kernel.c
+endif
+endif
endif
# An optional granule allocator
@@ -122,7 +128,7 @@ endif
# Dependencies
.depend: Makefile $(SRCS)
-ifeq ($(CONFIG_NUTTX_KERNEL),y)
+ifeq ($(CONFIG_BUILD_PROTECTED),y)
$(Q) $(MKDEP) --obj-path ubin --obj-suffix $(OBJEXT) "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make_ubin.dep
$(Q) $(MKDEP) --obj-path kbin --obj-suffix $(OBJEXT) "$(CC)" -- $(CFLAGS) $(KDEFINE) -- $(SRCS) >Make_kbin.dep
else
diff --git a/mm/mm_calloc.c b/mm/mm_calloc.c
index 0a433947d50..3dd501aec51 100644
--- a/mm/mm_calloc.c
+++ b/mm/mm_calloc.c
@@ -81,7 +81,7 @@ FAR void *mm_calloc(FAR struct mm_heap_s *heap, size_t n, size_t elem_size)
*
****************************************************************************/
-#if !defined(CONFIG_NUTTX_KERNEL) || !defined(__KERNEL__)
+#if !defined(CONFIG_BUILD_PROTECTED) || !defined(__KERNEL__)
FAR void *calloc(size_t n, size_t elem_size)
{
#ifdef CONFIG_MM_MULTIHEAP
diff --git a/mm/mm_free.c b/mm/mm_free.c
index 220b9bca0b5..9d04619b18c 100644
--- a/mm/mm_free.c
+++ b/mm/mm_free.c
@@ -167,7 +167,7 @@ void mm_free(FAR struct mm_heap_s *heap, FAR void *mem)
*
****************************************************************************/
-#if !defined(CONFIG_NUTTX_KERNEL) || !defined(__KERNEL__)
+#if !defined(CONFIG_BUILD_PROTECTED) || !defined(__KERNEL__)
void free(FAR void *mem)
{
mm_free(&g_mmheap, mem);
diff --git a/mm/mm_kernel.c b/mm/mm_kernel.c
index ee156e88903..eb3c7fd7db1 100644
--- a/mm/mm_kernel.c
+++ b/mm/mm_kernel.c
@@ -43,7 +43,8 @@
#include
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP) && defined(__KERNEL__)
+#if ((defined(CONFIG_BUILD_PROTECTED) && defined(__KERNEL__)) || \
+ defined(CONFIG_BUILD_KERNEL)) && defined(CONFIG_MM_KERNEL_HEAP)
/************************************************************************
* Pre-processor definition
@@ -304,4 +305,4 @@ bool kmm_heapmember(FAR void *mem)
}
#endif
-#endif /* CONFIG_NUTTX_KERNEL && CONFIG_MM_KERNEL_HEAP && __KERNEL__ */
+#endif /* ((CONFIG_BUILD_PROTECTED && __KERNEL__) || CONFIG_BUILD_KERNEL) && CONFIG_MM_KERNEL_HEAP*/
diff --git a/mm/mm_mallinfo.c b/mm/mm_mallinfo.c
index e37f82266be..4b152c354cb 100644
--- a/mm/mm_mallinfo.c
+++ b/mm/mm_mallinfo.c
@@ -151,7 +151,7 @@ int mm_mallinfo(FAR struct mm_heap_s *heap, FAR struct mallinfo *info)
*
****************************************************************************/
-#if !defined(CONFIG_NUTTX_KERNEL) || !defined(__KERNEL__)
+#if !defined(CONFIG_BUILD_PROTECTED) || !defined(__KERNEL__)
# ifdef CONFIG_CAN_PASS_STRUCTS
struct mallinfo mallinfo(void)
@@ -170,4 +170,4 @@ int mallinfo(struct mallinfo *info)
}
#endif
-#endif /* !CONFIG_NUTTX_KERNEL || !__KERNEL__ */
+#endif /* !CONFIG_BUILD_PROTECTED || !__KERNEL__ */
diff --git a/mm/mm_malloc.c b/mm/mm_malloc.c
index eee483511b2..354a30e029f 100644
--- a/mm/mm_malloc.c
+++ b/mm/mm_malloc.c
@@ -228,7 +228,7 @@ FAR void *mm_malloc(FAR struct mm_heap_s *heap, size_t size)
*
****************************************************************************/
-#if !defined(CONFIG_NUTTX_KERNEL) || !defined(__KERNEL__)
+#if !defined(CONFIG_BUILD_PROTECTED) || !defined(__KERNEL__)
FAR void *malloc(size_t size)
{
return mm_malloc(&g_mmheap, size);
diff --git a/mm/mm_memalign.c b/mm/mm_memalign.c
index 9c0a29546b5..7fe1d0c7438 100644
--- a/mm/mm_memalign.c
+++ b/mm/mm_memalign.c
@@ -240,7 +240,7 @@ FAR void *mm_memalign(FAR struct mm_heap_s *heap, size_t alignment,
*
****************************************************************************/
-#if !defined(CONFIG_NUTTX_KERNEL) || !defined(__KERNEL__)
+#if !defined(CONFIG_BUILD_PROTECTED) || !defined(__KERNEL__)
FAR void *memalign(size_t alignment, size_t size)
{
diff --git a/mm/mm_pgalloc.c b/mm/mm_pgalloc.c
index bd61a4bf656..403e1fd2f0b 100644
--- a/mm/mm_pgalloc.c
+++ b/mm/mm_pgalloc.c
@@ -59,7 +59,7 @@
* CONFIG_DEBUG_PGALLOC - Just like CONFIG_DEBUG_MM, but only generates
* output from the page allocation logic.
*
- * Dependencies: CONFIG_ARCH_HAVE_MMU and CONFIG_GRAN
+ * Dependencies: CONFIG_ARCH_USE_MMU and CONFIG_GRAN
*/
/* Debug */
diff --git a/mm/mm_realloc.c b/mm/mm_realloc.c
index 3bf927d9b2a..0c734652112 100644
--- a/mm/mm_realloc.c
+++ b/mm/mm_realloc.c
@@ -399,7 +399,7 @@ FAR void *mm_realloc(FAR struct mm_heap_s *heap, FAR void *oldmem,
*
****************************************************************************/
-#if !defined(CONFIG_NUTTX_KERNEL) || !defined(__KERNEL__)
+#if !defined(CONFIG_BUILD_PROTECTED) || !defined(__KERNEL__)
FAR void *realloc(FAR void *oldmem, size_t size)
{
diff --git a/mm/mm_user.c b/mm/mm_user.c
index d487e426477..bc99ee83935 100644
--- a/mm/mm_user.c
+++ b/mm/mm_user.c
@@ -41,7 +41,7 @@
#include
#include
-#if !defined(CONFIG_NUTTX_KERNEL) || !defined(__KERNEL__)
+#if !defined(CONFIG_BUILD_PROTECTED) || !defined(__KERNEL__)
/************************************************************************
* Pre-processor definition
@@ -153,4 +153,4 @@ void umm_givesemaphore(void)
mm_givesemaphore(&g_mmheap);
}
-#endif /* !CONFIG_NUTTX_KERNEL || !__KERNEL__ */
+#endif /* !CONFIG_BUILD_PROTECTED || !__KERNEL__ */
diff --git a/mm/mm_zalloc.c b/mm/mm_zalloc.c
index bf25aed84c7..2cef9f43681 100644
--- a/mm/mm_zalloc.c
+++ b/mm/mm_zalloc.c
@@ -81,7 +81,7 @@ FAR void *mm_zalloc(FAR struct mm_heap_s *heap, size_t size)
*
****************************************************************************/
-#if !defined(CONFIG_NUTTX_KERNEL) || !defined(__KERNEL__)
+#if !defined(CONFIG_BUILD_PROTECTED) || !defined(__KERNEL__)
FAR void *zalloc(size_t size)
{
#ifdef CONFIG_MM_MULTIHEAP
diff --git a/sched/group/group_create.c b/sched/group/group_create.c
index d8e4bf94287..9d4f92a2a43 100644
--- a/sched/group/group_create.c
+++ b/sched/group/group_create.c
@@ -190,8 +190,8 @@ int group_allocate(FAR struct task_tcb_s *tcb)
return -ENOMEM;
}
-#if CONFIG_NFILE_STREAMS > 0 && defined(CONFIG_NUTTX_KERNEL) && \
- defined(CONFIG_MM_KERNEL_HEAP)
+#if CONFIG_NFILE_STREAMS > 0 && (defined(CONFIG_BUILD_PROTECTED) || \
+ defined(CONFIG_BUILD_KERNEL)) && defined(CONFIG_MM_KERNEL_HEAP)
/* In a flat, single-heap build. The stream list is allocated with the
* group structure. But in a kernel build with a kernel allocator, it
@@ -226,8 +226,8 @@ int group_allocate(FAR struct task_tcb_s *tcb)
ret = env_dup(group);
if (ret < 0)
{
-#if CONFIG_NFILE_STREAMS > 0 && defined(CONFIG_NUTTX_KERNEL) && \
- defined(CONFIG_MM_KERNEL_HEAP)
+#if CONFIG_NFILE_STREAMS > 0 && (defined(CONFIG_BUILD_PROTECTED) || \
+ defined(CONFIG_BUILD_KERNEL)) && defined(CONFIG_MM_KERNEL_HEAP)
kufree(group->tg_streamlist);
#endif
kfree(group);
diff --git a/sched/group/group_leave.c b/sched/group/group_leave.c
index 403fe4c95cc..36b84c836ff 100644
--- a/sched/group/group_leave.c
+++ b/sched/group/group_leave.c
@@ -181,7 +181,8 @@ static inline void group_release(FAR struct task_group_s *group)
#if CONFIG_NFILE_STREAMS > 0
/* Free resource held by the stream list */
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if (defined(CONFIG_BUILD_PROTECTED) || defined(CONFIG_BUILD_KERNEL)) && \
+ defined(CONFIG_MM_KERNEL_HEAP)
lib_releaselist(group->tg_streamlist);
#else
lib_releaselist(&group->tg_streamlist);
@@ -234,8 +235,8 @@ static inline void group_release(FAR struct task_group_s *group)
}
#endif
-#if CONFIG_NFILE_STREAMS > 0 && defined(CONFIG_NUTTX_KERNEL) && \
- defined(CONFIG_MM_KERNEL_HEAP)
+#if CONFIG_NFILE_STREAMS > 0 && (defined(CONFIG_BUILD_PROTECTED) || \
+ defined(CONFIG_BUILD_KERNEL)) && defined(CONFIG_MM_KERNEL_HEAP)
/* In a flat, single-heap build. The stream list is part of the
* group structure. But in a kernel build with a kernel allocator, it
diff --git a/sched/group/group_setupstreams.c b/sched/group/group_setupstreams.c
index 73eea6b1db8..24254dcdd3d 100644
--- a/sched/group/group_setupstreams.c
+++ b/sched/group/group_setupstreams.c
@@ -78,7 +78,8 @@ int group_setupstreams(FAR struct task_tcb_s *tcb)
/* Initialize file streams for the task group */
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if (defined(CONFIG_BUILD_PROTECTED) || defined(CONFIG_BUILD_KERNEL)) && \
+ defined(CONFIG_MM_KERNEL_HEAP)
lib_streaminit(tcb->cmn.group->tg_streamlist);
#else
lib_streaminit(&tcb->cmn.group->tg_streamlist);
diff --git a/sched/init/os_bringup.c b/sched/init/os_bringup.c
index bb988995681..175330ad5ea 100644
--- a/sched/init/os_bringup.c
+++ b/sched/init/os_bringup.c
@@ -197,7 +197,7 @@ int os_bringup(void)
#endif /* CONFIG_SCHED_LPWORK */
#endif /* CONFIG_SCHED_HPWORK */
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_SCHED_USRWORK)
+#if defined(CONFIG_BUILD_PROTECTED) && defined(CONFIG_SCHED_USRWORK)
/* Start the user-space work queue */
DEBUGASSERT(USERSPACE->work_usrstart != NULL);
@@ -228,7 +228,7 @@ int os_bringup(void)
* header at the beginning of the user-space blob.
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#ifdef CONFIG_BUILD_PROTECTED
DEBUGASSERT(USERSPACE->us_entrypoint != NULL);
taskid = TASK_CREATE("init", SCHED_PRIORITY_DEFAULT,
CONFIG_USERMAIN_STACKSIZE, USERSPACE->us_entrypoint,
diff --git a/sched/init/os_start.c b/sched/init/os_start.c
index fdd308dfb3e..7130b8ae8f0 100644
--- a/sched/init/os_start.c
+++ b/sched/init/os_start.c
@@ -151,7 +151,8 @@ volatile dq_queue_t g_inactivetasks;
volatile sq_queue_t g_delayed_kufree;
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if (defined(CONFIG_BUILD_PROTECTED) || defined(CONFIG_BUILD_KERNEL)) && \
+ defined(CONFIG_MM_KERNEL_HEAP)
volatile sq_queue_t g_delayed_kfree;
#endif
@@ -264,7 +265,8 @@ void os_start(void)
#endif
dq_init(&g_inactivetasks);
sq_init(&g_delayed_kufree);
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if (defined(CONFIG_BUILD_PROTECTED) || defined(CONFIG_BUILD_KERNEL)) && \
+ defined(CONFIG_MM_KERNEL_HEAP)
sq_init(&g_delayed_kfree);
#endif
@@ -308,13 +310,14 @@ void os_start(void)
* and there is no support that yet.
*/
-#if defined(CONFIG_CUSTOM_STACK) || !defined(CONFIG_NUTTX_KERNEL)
+#if defined(CONFIG_CUSTOM_STACK) || (!defined(CONFIG_BUILD_PROTECTED) && \
+ !defined(CONFIG_BUILD_KERNEL))
#if CONFIG_TASK_NAME_SIZE > 0
g_idletcb.argv[0] = g_idletcb.cmn.name;
#else
g_idletcb.argv[0] = (char*)g_idlename;
#endif /* CONFIG_TASK_NAME_SIZE */
-#endif /* CONFIG_CUSTOM_STACK || !CONFIG_NUTTX_KERNEL */
+#endif /* CONFIG_CUSTOM_STACK || (!CONFIG_BUILD_PROTECTED && !CONFIG_BUILD_KERNEL) */
/* Then add the idle task's TCB to the head of the ready to run list */
@@ -350,7 +353,8 @@ void os_start(void)
up_allocate_heap(&heap_start, &heap_size);
kumm_initialize(heap_start, heap_size);
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if (defined(CONFIG_BUILD_PROTECTED) || defined(CONFIG_BUILD_KERNEL)) && \
+ defined(CONFIG_MM_KERNEL_HEAP)
/* Get the kernel-mode heap from the platform specific code and configure
* the kernel-mode memory allocator.
*/
diff --git a/sched/pthread/pthread_create.c b/sched/pthread/pthread_create.c
index d6f671676db..036818a531c 100644
--- a/sched/pthread/pthread_create.c
+++ b/sched/pthread/pthread_create.c
@@ -190,7 +190,7 @@ static void pthread_start(void)
* to switch to user-mode before calling into the pthread.
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#if defined(CONFIG_BUILD_PROTECTED) || defined(CONFIG_BUILD_KERNEL)
up_pthread_start(ptcb->cmn.entry.pthread, ptcb->arg);
exit_status = NULL;
#else
diff --git a/sched/sched/sched.h b/sched/sched/sched.h
index c6a6fd80085..2f5f800afc5 100644
--- a/sched/sched/sched.h
+++ b/sched/sched/sched.h
@@ -179,7 +179,8 @@ extern volatile dq_queue_t g_inactivetasks;
extern volatile sq_queue_t g_delayed_kufree;
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if (defined(CONFIG_BUILD_PROTECTED) || defined(CONFIG_BUILD_KERNEL)) && \
+ defined(CONFIG_MM_KERNEL_HEAP)
extern volatile sq_queue_t g_delayed_kfree;
#endif
diff --git a/sched/sched/sched_free.c b/sched/sched/sched_free.c
index 93d7dea1b7f..97f1429f69a 100644
--- a/sched/sched/sched_free.c
+++ b/sched/sched/sched_free.c
@@ -98,7 +98,8 @@ void sched_ufree(FAR void *address)
*/
flags = irqsave();
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if (defined(CONFIG_BUILD_PROTECTED) || defined(CONFIG_BUILD_KERNEL)) && \
+ defined(CONFIG_MM_KERNEL_HEAP)
DEBUGASSERT(!kmm_heapmember(address));
#endif
@@ -122,7 +123,8 @@ void sched_ufree(FAR void *address)
}
}
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if (defined(CONFIG_BUILD_PROTECTED) || defined(CONFIG_BUILD_KERNEL)) && \
+ defined(CONFIG_MM_KERNEL_HEAP)
void sched_kfree(FAR void *address)
{
irqstate_t flags;
diff --git a/sched/sched/sched_garbage.c b/sched/sched/sched_garbage.c
index 7a6839cb14e..06de3d57712 100644
--- a/sched/sched/sched_garbage.c
+++ b/sched/sched/sched_garbage.c
@@ -122,7 +122,8 @@ static inline void sched_kucleanup(void)
*
****************************************************************************/
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if (defined(CONFIG_BUILD_PROTECTED) || defined(CONFIG_BUILD_KERNEL)) && \
+ defined(CONFIG_MM_KERNEL_HEAP)
static inline void sched_kcleanup(void)
{
irqstate_t flags;
diff --git a/sched/sched/sched_getstreams.c b/sched/sched/sched_getstreams.c
index f11015b57fa..a87c95306c8 100644
--- a/sched/sched/sched_getstreams.c
+++ b/sched/sched/sched_getstreams.c
@@ -74,7 +74,8 @@ FAR struct streamlist *sched_getstreams(void)
DEBUGASSERT(group);
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if (defined(CONFIG_BUILD_PROTECTED) || defined(CONFIG_BUILD_KERNEL)) && \
+ defined(CONFIG_MM_KERNEL_HEAP)
return group->tg_streamlist;
#else
return &group->tg_streamlist;
diff --git a/sched/sched/sched_releasetcb.c b/sched/sched/sched_releasetcb.c
index 7cf80f3d679..ecfaf72ce96 100644
--- a/sched/sched/sched_releasetcb.c
+++ b/sched/sched/sched_releasetcb.c
@@ -111,7 +111,8 @@ static void sched_releasepid(pid_t pid)
int sched_releasetcb(FAR struct tcb_s *tcb, uint8_t ttype)
{
int ret = OK;
-#if defined(CONFIG_CUSTOM_STACK) || !defined(CONFIG_NUTTX_KERNEL)
+#if defined(CONFIG_CUSTOM_STACK) || (!defined(CONFIG_BUILD_PROTECTED) && \
+ !defined(CONFIG_BUILD_KERNEL))
int i;
#endif
@@ -168,7 +169,8 @@ int sched_releasetcb(FAR struct tcb_s *tcb, uint8_t ttype)
}
#endif
-#if defined(CONFIG_CUSTOM_STACK) || !defined(CONFIG_NUTTX_KERNEL)
+#if defined(CONFIG_CUSTOM_STACK) || (!defined(CONFIG_BUILD_PROTECTED) && \
+ !defined(CONFIG_BUILD_KERNEL))
/* Release command line arguments that were allocated for task
* start/re-start.
*
@@ -188,7 +190,7 @@ int sched_releasetcb(FAR struct tcb_s *tcb, uint8_t ttype)
}
}
-#endif /* CONFIG_CUSTOM_STACK || !CONFIG_NUTTX_KERNEL */
+#endif /* CONFIG_CUSTOM_STACK || (!CONFIG_BUILD_PROTECTED && !CONFIG_BUILD_KERNEL) */
/* Release this thread's reference to the address environment */
diff --git a/sched/signal/sig_deliver.c b/sched/signal/sig_deliver.c
index 1c753defc1f..eff0d4e5974 100644
--- a/sched/signal/sig_deliver.c
+++ b/sched/signal/sig_deliver.c
@@ -133,7 +133,7 @@ void sig_deliver(FAR struct tcb_s *stcb)
* calling the task.
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#if defined(CONFIG_BUILD_PROTECTED) || defined(CONFIG_BUILD_KERNEL)
if ((stcb->flags & TCB_FLAG_TTYPE_MASK) != TCB_FLAG_TTYPE_KERNEL)
{
/* The sigq_t pointed to by sigq resides in kernel space. So we
diff --git a/sched/task/task_exithook.c b/sched/task/task_exithook.c
index 78a44ec50a0..cf7c8c8cdb0 100644
--- a/sched/task/task_exithook.c
+++ b/sched/task/task_exithook.c
@@ -558,7 +558,8 @@ static inline void task_flushstreams(FAR struct tcb_s *tcb)
if (group && group->tg_nmembers == 1)
{
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_MM_KERNEL_HEAP)
+#if (defined(CONFIG_BUILD_PROTECTED) || defined(CONFIG_BUILD_KERNEL)) && \
+ defined(CONFIG_MM_KERNEL_HEAP)
(void)lib_flushall(tcb->group->tg_streamlist);
#else
(void)lib_flushall(&tcb->group->tg_streamlist);
diff --git a/sched/task/task_setup.c b/sched/task/task_setup.c
index aece0a30e19..a0eaa9af63f 100644
--- a/sched/task/task_setup.c
+++ b/sched/task/task_setup.c
@@ -448,7 +448,8 @@ static void task_namesetup(FAR struct task_tcb_s *tcb, FAR const char *name)
*
****************************************************************************/
-#if defined(CONFIG_CUSTOM_STACK) || !defined(CONFIG_NUTTX_KERNEL)
+#if defined(CONFIG_CUSTOM_STACK) || (!defined(CONFIG_BUILD_PROTECTED) && \
+ !defined(CONFIG_BUILD_KERNEL))
static int task_tcbargsetup(FAR struct task_tcb_s *tcb,
FAR char * const argv[])
{
@@ -488,7 +489,7 @@ static int task_tcbargsetup(FAR struct task_tcb_s *tcb,
return OK;
}
-#endif /* CONFIG_CUSTOM_STACK || !CONFIG_NUTTX_KERNEL */
+#endif /* CONFIG_CUSTOM_STACK || (!CONFIG_BUILD_PROTECTED && !CONFIG_BUILD_KERNEL) */
/****************************************************************************
* Name: task_stackargsetup
@@ -515,7 +516,8 @@ static int task_tcbargsetup(FAR struct task_tcb_s *tcb,
*
****************************************************************************/
-#if !defined(CONFIG_CUSTOM_STACK) && defined(CONFIG_NUTTX_KERNEL)
+#if !defined(CONFIG_CUSTOM_STACK) && (defined(CONFIG_BUILD_PROTECTED) || \
+ defined(CONFIG_BUILD_KERNEL))
static int task_stackargsetup(FAR struct task_tcb_s *tcb,
FAR char * const argv[])
{
@@ -617,7 +619,7 @@ static int task_stackargsetup(FAR struct task_tcb_s *tcb,
return OK;
}
-#endif /* !CONFIG_CUSTOM_STACK && CONFIG_NUTTX_KERNEL */
+#endif /* !CONFIG_CUSTOM_STACK && (CONFIG_BUILD_PROTECTED || CONFIG_BUILD_KERNEL) */
/****************************************************************************
* Public Functions
@@ -742,7 +744,8 @@ int task_argsetup(FAR struct task_tcb_s *tcb, FAR const char *name,
task_namesetup(tcb, name);
-#if !defined(CONFIG_CUSTOM_STACK) && defined(CONFIG_NUTTX_KERNEL)
+#if !defined(CONFIG_CUSTOM_STACK) && (defined(CONFIG_BUILD_PROTECTED) || \
+ defined(CONFIG_BUILD_KERNEL))
/* In the kernel build case, the argv[] array and all strings are copied
* to the task's stack. This is done because the TCB (and kernel allocated
* strings) are only accessible in kernel-mode. Data on the stack, on the
@@ -759,7 +762,7 @@ int task_argsetup(FAR struct task_tcb_s *tcb, FAR const char *name,
ret = task_tcbargsetup(tcb, argv);
-#endif /* !CONFIG_CUSTOM_STACK && CONFIG_NUTTX_KERNEL */
+#endif /* !CONFIG_CUSTOM_STACK && (CONFIG_BUILD_PROTECTED || CONFIG_BUILD_KERNEL) */
return ret;
}
diff --git a/sched/task/task_start.c b/sched/task/task_start.c
index 8cc7973f1f4..1317d9a4eb0 100644
--- a/sched/task/task_start.c
+++ b/sched/task/task_start.c
@@ -127,7 +127,7 @@ void task_start(void)
* we have to switch to user-mode before calling the task.
*/
-#ifdef CONFIG_NUTTX_KERNEL
+#if defined(CONFIG_BUILD_PROTECTED) || defined(CONFIG_BUILD_KERNEL)
if ((tcb->cmn.flags & TCB_FLAG_TTYPE_MASK) != TCB_FLAG_TTYPE_KERNEL)
{
up_task_start(tcb->cmn.entry.main, argc, tcb->argv);
diff --git a/syscall/Kconfig b/syscall/Kconfig
index 6c5f57a8c0f..3606426c99c 100644
--- a/syscall/Kconfig
+++ b/syscall/Kconfig
@@ -10,8 +10,8 @@ menuconfig LIB_SYSCALL
Build in support for "system calls". System calls are used to
implement a call gate mechanism that can be be used to call from
user code into the kernel. This is only useful for user code that
- lies outside of the kernel such as when the NUTTX_KERNEL build is
- selected.
+ lies outside of the kernel such as when the BUILD_PROTECTED or
+ BUILD_KERNEL builds are selected.
This permits calls from user-mode code into kernel mode; the call
gate will change the mode of operation from user to supervisor mode,