You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2021/12/24 14:23:40 UTC
[incubator-nuttx] 01/03: init: move USERMAIN_XX out of INIT_ENTRYPOINT
This is an automated email from the ASF dual-hosted git repository.
xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
commit 10ccba66712301b8b3157089fa85722d2ab94b8b
Author: ligd <li...@xiaomi.com>
AuthorDate: Mon Dec 20 12:21:47 2021 +0800
init: move USERMAIN_XX out of INIT_ENTRYPOINT
Signed-off-by: ligd <li...@xiaomi.com>
---
Documentation/applications/nsh/installation.rst | 6 ++--
Documentation/guides/pysimcoder.rst | 2 +-
ReleaseNotes | 4 +--
include/nuttx/init.h | 2 +-
sched/Kconfig | 42 +++++++++++------------
sched/init/init.h | 2 +-
sched/init/nx_bringup.c | 44 ++++++++++++-------------
tools/cfgdefine.c | 2 +-
8 files changed, 52 insertions(+), 52 deletions(-)
diff --git a/Documentation/applications/nsh/installation.rst b/Documentation/applications/nsh/installation.rst
index 2df8547..a6bd2e1 100644
--- a/Documentation/applications/nsh/installation.rst
+++ b/Documentation/applications/nsh/installation.rst
@@ -14,11 +14,11 @@ increasing difficulty:
#. You replace the sample code at ``apps/examples/nsh/nsh_main.c`` with
whatever start-up logic that you want. NSH is a library at
``apps/nshlib``. ``apps.examples/nsh`` is just a tiny, example
- start-up function (``CONFIG_USER_ENTRYPOINT``\ ()) that that runs
+ start-up function (``CONFIG_INIT_ENTRYPOINT``\ ()) that runs
immediately and illustrates how to start NSH If you want something
else to run immediately then you can write your write your own custom
- ``CONFIG_USER_ENTRYPOINT``\ () function and then start other tasks
- from your custom ``CONFIG_USER_ENTRYPOINT``\ ().
+ ``CONFIG_INIT_ENTRYPOINT``\ () function and then start other tasks
+ from your custom ``CONFIG_INIT_ENTRYPOINT``\ ().
#. NSH also supports a start-up script that executed when NSH first
runs. This mechanism has the advantage that the start-up script can
diff --git a/Documentation/guides/pysimcoder.rst b/Documentation/guides/pysimcoder.rst
index 8769689..c227fb3 100644
--- a/Documentation/guides/pysimcoder.rst
+++ b/Documentation/guides/pysimcoder.rst
@@ -60,7 +60,7 @@ with NuttX. The list is the following:
``CONFIG_LIBC_EXECFUNCS=y`` ``CONFIG_SYMTAB_ORDEREDBYNAME=y``
``CONFIG_LIBC_STRERROR=y`` ``CONFIG_SYSTEM_NSH=y``
``CONFIG_MAX_TASKS=16`` ``CONFIG_SYSTEM_NSH_STACKSIZE=4096``
-``CONFIG_NSH_BUILTIN_APPS=y`` ``CONFIG_USER_ENTRYPOINT="nsh_main"``
+``CONFIG_NSH_BUILTIN_APPS=y`` ``CONFIG_INIT_ENTRYPOINT="nsh_main"``
``CONFIG_NSH_FILEIOSIZE=512``
==================================== =====================================
diff --git a/ReleaseNotes b/ReleaseNotes
index 555e692..a229115 100644
--- a/ReleaseNotes
+++ b/ReleaseNotes
@@ -3109,7 +3109,7 @@ Or
Additional new features and extended functionality:
* RTOS: Application entry point is no longer user_start, but can be
- configured using CONFIG_USER_ENTRYPOINT. NuttX now supports two work
+ configured using CONFIG_INIT_ENTRYPOINT. NuttX now supports two work
queues: A lower priority work queue (for extended processing) and a
higher priority work queue (for quick, high priority operations).
@@ -23783,7 +23783,7 @@ Additional new features and extended functionality:
Jerpelea.
- Enable internal flash storage for SPresence boards. The SmartFS
flash is mounted under /mnt/spif folder. From Alin Jerpelea.
- - For compatibility with SDK we need to change the USER_ENTRYPOINT
+ - For compatibility with SDK we need to change the INIT_ENTRYPOINT
in all configurations to spresense_main(). From Alin Jerpelea.
* STMicro STM32:
diff --git a/include/nuttx/init.h b/include/nuttx/init.h
index b688ac5..1d73ba7 100644
--- a/include/nuttx/init.h
+++ b/include/nuttx/init.h
@@ -94,7 +94,7 @@ EXTERN uint8_t g_nx_initstate; /* See enum nx_initstate_e */
/* This entry point must be supplied by the application */
-int CONFIG_USER_ENTRYPOINT(int argc, char *argv[]);
+int CONFIG_INIT_ENTRYPOINT(int argc, char *argv[]);
/* Functions contained in nx_task.c *****************************************/
diff --git a/sched/Kconfig b/sched/Kconfig
index 633a33a..5843b34 100644
--- a/sched/Kconfig
+++ b/sched/Kconfig
@@ -301,18 +301,18 @@ endif # SMP
choice
prompt "Initialization Task"
- default INIT_ENTRYPOINT if !BUILD_KERNEL
- default INIT_FILEPATH if !BINFMT_DISABLE
+ default INIT_ENTRY if !BUILD_KERNEL
+ default INIT_FILE if !BINFMT_DISABLE
default INIT_NONE if BINFMT_DISABLE
config INIT_NONE
bool "None"
-config INIT_ENTRYPOINT
- bool "Via application entry point"
+config INIT_ENTRY
+ bool "Via application entry"
depends on !BUILD_KERNEL
-config INIT_FILEPATH
+config INIT_FILE
bool "Via executable file"
depends on !BINFMT_DISABLE
@@ -325,39 +325,39 @@ config INIT_ARGS
The argument list for user applications. e.g.:
"\"arg1\",\"arg2\",\"arg3\""
-if INIT_ENTRYPOINT
-config USER_ENTRYPOINT
- string "Application entry point"
- default "main"
- ---help---
- The name of the entry point for user applications. For the example
- applications this is of the form 'app_main' where 'app' is the application
- name. If not defined, USER_ENTRYPOINT defaults to "main".
-
-config USERMAIN_STACKSIZE
+config INIT_STACKSIZE
int "Main thread stack size"
default DEFAULT_TASK_STACKSIZE
---help---
The size of the stack to allocate for the user initialization thread
that is started as soon as the OS completes its initialization.
-config USERMAIN_PRIORITY
+config INIT_PRIORITY
int "init thread priority"
default 100
---help---
The priority of the user initialization thread.
-endif # INIT_ENTRYPOINT
+if INIT_ENTRY
+config INIT_ENTRYPOINT
+ string "Application entry point"
+ default "main"
+ ---help---
+ The name of the entry point for user applications. For the example
+ applications this is of the form 'app_main' where 'app' is the application
+ name. If not defined, INIT_ENTRYPOINT defaults to "main".
-if INIT_FILEPATH
+endif # INIT_ENTRY
-config USER_INITPATH
+if INIT_FILE
+
+config INIT_FILEPATH
string "Application initialization path"
default "/bin/init"
---help---
The name of the entry point for user applications. For the example
applications this is of the form 'app_main' where 'app' is the application
- name. If not defined, USER_ENTRYPOINT defaults to "main".
+ name. If not defined, INIT_ENTRYPOINT defaults to "main".
config INIT_SYMTAB
string "Symbol table"
@@ -423,7 +423,7 @@ config INIT_MOUNT_DATA
default ""
endif # INIT_MOUNT
-endif # INIT_FILEPATH
+endif # INIT_FILE
config RR_INTERVAL
int "Round robin timeslice (MSEC)"
diff --git a/sched/init/init.h b/sched/init/init.h
index fe7b759..1e389b5 100644
--- a/sched/init/init.h
+++ b/sched/init/init.h
@@ -107,7 +107,7 @@ void nx_idle_trampoline(void);
* And the main application entry point:
* symbols:
*
- * - USER_ENTRYPOINT: This is the default user application entry point.
+ * - INIT_ENTRYPOINT: This is the default user application entry point.
*
* Input Parameters:
* None
diff --git a/sched/init/nx_bringup.c b/sched/init/nx_bringup.c
index 66e5b08..99c94c2 100644
--- a/sched/init/nx_bringup.c
+++ b/sched/init/nx_bringup.c
@@ -58,34 +58,34 @@
# error No initialization mechanism selected (CONFIG_INIT_NONE)
#else
-# if !defined(CONFIG_INIT_ENTRYPOINT) && !defined(CONFIG_INIT_FILEPATH)
+# if !defined(CONFIG_INIT_ENTRY) && !defined(CONFIG_INIT_FILE)
/* For backward compatibility with older defconfig files when this was
* the way things were done.
*/
-# define CONFIG_INIT_ENTRYPOINT 1
+# define CONFIG_INIT_ENTRY 1
# endif
-# if defined(CONFIG_INIT_ENTRYPOINT)
+# if defined(CONFIG_INIT_ENTRY)
/* Initialize by starting a task at an entry point */
-# ifndef CONFIG_USER_ENTRYPOINT
+# ifndef CONFIG_INIT_ENTRYPOINT
/* Entry point name must have been provided */
-# error CONFIG_USER_ENTRYPOINT must be defined
+# error CONFIG_INIT_ENTRYPOINT must be defined
# endif
-# elif defined(CONFIG_INIT_FILEPATH)
+# elif defined(CONFIG_INIT_FILE)
/* Initialize by running an initialization program in the file system.
* Presumably the user has configured a board initialization function
* that will mount the file system containing the initialization
* program.
*/
-# ifndef CONFIG_USER_INITPATH
+# ifndef CONFIG_INIT_FILEPATH
/* Path to the initialization program must have been provided */
-# error CONFIG_USER_INITPATH must be defined
+# error CONFIG_INT_FILEPATH must be defined
# endif
# if !defined(CONFIG_INIT_SYMTAB) || !defined(CONFIG_INIT_NEXPORTS)
@@ -108,8 +108,8 @@ extern const int CONFIG_INIT_NEXPORTS;
# undef CONFIG_LIBC_USRWORK
#endif
-#if !defined(CONFIG_USERMAIN_PRIORITY)
-# define CONFIG_USERMAIN_PRIORITY SCHED_PRIORITY_DEFAULT
+#if !defined(CONFIG_INIT_PRIORITY)
+# define CONFIG_INIT_PRIORITY SCHED_PRIORITY_DEFAULT
#endif
/****************************************************************************
@@ -243,10 +243,10 @@ static inline void nx_start_application(void)
board_late_initialize();
#endif
-#if defined(CONFIG_INIT_ENTRYPOINT)
+#if defined(CONFIG_INIT_ENTRY)
/* Start the application initialization task. In a flat build, this is
- * entrypoint is given by the definitions, CONFIG_USER_ENTRYPOINT. In
+ * entrypoint is given by the definitions, CONFIG_INIT_ENTRYPOINT. In
* the protected build, however, we must get the address of the
* entrypoint from the header at the beginning of the user-space blob.
*/
@@ -255,17 +255,17 @@ static inline void nx_start_application(void)
#ifdef CONFIG_BUILD_PROTECTED
DEBUGASSERT(USERSPACE->us_entrypoint != NULL);
- ret = nxtask_create("init", CONFIG_USERMAIN_PRIORITY,
- CONFIG_USERMAIN_STACKSIZE,
+ ret = nxtask_create("init", CONFIG_INIT_PRIORITY,
+ CONFIG_INIT_STACKSIZE,
USERSPACE->us_entrypoint, argv);
#else
- ret = nxtask_create("init", CONFIG_USERMAIN_PRIORITY,
- CONFIG_USERMAIN_STACKSIZE,
- (main_t)CONFIG_USER_ENTRYPOINT, argv);
+ ret = nxtask_create("init", CONFIG_INIT_PRIORITY,
+ CONFIG_INIT_STACKSIZE,
+ (main_t)CONFIG_INIT_ENTRYPOINT, argv);
#endif
DEBUGASSERT(ret > 0);
-#elif defined(CONFIG_INIT_FILEPATH)
+#elif defined(CONFIG_INIT_FILE)
#ifdef CONFIG_INIT_MOUNT
/* Mount the file system containing the init program. */
@@ -281,9 +281,9 @@ static inline void nx_start_application(void)
* of the board_late_initialize() operation.
*/
- sinfo("Starting init task: %s\n", CONFIG_USER_INITPATH);
+ sinfo("Starting init task: %s\n", CONFIG_INIT_FILEPATH);
- ret = exec(CONFIG_USER_INITPATH, argv,
+ ret = exec(CONFIG_INIT_FILEPATH, argv,
CONFIG_INIT_SYMTAB, CONFIG_INIT_NEXPORTS);
DEBUGASSERT(ret >= 0);
#endif
@@ -377,9 +377,9 @@ static inline void nx_create_initthread(void)
* And the main application entry point:
* symbols, either:
*
- * - CONFIG_USER_ENTRYPOINT: This is the default user application entry
+ * - CONFIG_INIT_ENTRYPOINT: This is the default user application entry
* point, or
- * - CONFIG_USER_INITPATH: The full path to the location in a mounted
+ * - CONFIG_INIT_FILEPATH: The full path to the location in a mounted
* file system where we can expect to find the
* initialization program. Presumably, this file system
* was mounted by board-specific logic when
diff --git a/tools/cfgdefine.c b/tools/cfgdefine.c
index 39cccac..87ecb87 100644
--- a/tools/cfgdefine.c
+++ b/tools/cfgdefine.c
@@ -54,12 +54,12 @@ static const char *dequote_list[] =
"CONFIG_INIT_ARGS", /* Argument list of entry point */
"CONFIG_INIT_SYMTAB", /* Global symbol table */
"CONFIG_INIT_NEXPORTS", /* Global symbol table size */
+ "CONFIG_INIT_ENTRYPOINT", /* Name of entry point function */
"CONFIG_MODLIB_SYMTAB_ARRAY", /* Symbol table array used by modlib functions */
"CONFIG_MODLIB_NSYMBOLS_VAR", /* Variable holding number of symbols in the table */
"CONFIG_PASS1_BUILDIR", /* Pass1 build directory */
"CONFIG_PASS1_TARGET", /* Pass1 build target */
"CONFIG_PASS1_OBJECT", /* Pass1 build object */
- "CONFIG_USER_ENTRYPOINT", /* Name of entry point function */
/* NxWidgets/NxWM */