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 */