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/nuttx.git
commit f99dd20c4e204d3b5fe3dda2b0db71d7923c8630 Author: guanyi3 <[email protected]> AuthorDate: Fri Oct 24 19:56:57 2025 +0800 sim/usrsock: move g_work_queue init before net_initialize usrsock register work in net_initialize before g_work_queue is created, so move g_work_queue in irq_initialize. Signed-off-by: guanyi3 <[email protected]> --- arch/sim/src/sim/posix/sim_hostirq.c | 28 ++++++++++++++-------------- arch/sim/src/sim/sim_initialize.c | 23 +++++++++++++++++++---- arch/sim/src/sim/sim_internal.h | 4 ++++ arch/sim/src/sim/win/sim_hostirq.c | 16 ++++++++-------- 4 files changed, 45 insertions(+), 26 deletions(-) diff --git a/arch/sim/src/sim/posix/sim_hostirq.c b/arch/sim/src/sim/posix/sim_hostirq.c index 06c2f70d81a..6a678589be8 100644 --- a/arch/sim/src/sim/posix/sim_hostirq.c +++ b/arch/sim/src/sim/posix/sim_hostirq.c @@ -134,20 +134,6 @@ void up_irq_enable(void) up_irq_restore(0); } -/**************************************************************************** - * Name: up_irqinitialize - ****************************************************************************/ - -void up_irqinitialize(void) -{ -#ifdef CONFIG_SMP - /* Register the pause handler */ - - sim_init_ipi(SIGUSR1); - sim_init_func_call_ipi(SIGUSR2); -#endif -} - /**************************************************************************** * Name: up_enable_irq * @@ -192,3 +178,17 @@ void up_disable_irq(int irq) signal(irq, SIG_IGN); } + +/**************************************************************************** + * Name: host_irqinitialize + ****************************************************************************/ + +void host_irqinitialize(void) +{ +#ifdef CONFIG_SMP + /* Register the pause handler */ + + sim_init_ipi(SIGUSR1); + sim_init_func_call_ipi(SIGUSR2); +#endif +} diff --git a/arch/sim/src/sim/sim_initialize.c b/arch/sim/src/sim/sim_initialize.c index e9e18f41eb5..45584ed8ed3 100644 --- a/arch/sim/src/sim/sim_initialize.c +++ b/arch/sim/src/sim/sim_initialize.c @@ -252,10 +252,6 @@ void up_initialize(void) host_init_cwd(); #endif - g_work_queue = work_queue_create("sim_loop_wq", - CONFIG_SCHED_HPWORKPRIORITY, NULL, - CONFIG_SCHED_HPWORKSTACKSIZE, 1u); - #ifdef CONFIG_PM /* Initialize the power management subsystem. This MCU-specific function * must be called *very* early in the initialization sequence *before* any @@ -337,3 +333,22 @@ void up_initialize(void) NULL, SIM_X11UPDATE_PERIOD); #endif } + +/**************************************************************************** + * Name: up_irqinitialize + * + * Description: + * initialize the high-priority work queue used for handling + * periodic or async tasks within the simulator, then invokes the + * platform-specific IRQ initialize. + * + ****************************************************************************/ + +void up_irqinitialize(void) +{ + g_work_queue = work_queue_create("sim_loop_wq", + CONFIG_SCHED_HPWORKPRIORITY, NULL, + CONFIG_SCHED_HPWORKSTACKSIZE, 1u); + + host_irqinitialize(); +} diff --git a/arch/sim/src/sim/sim_internal.h b/arch/sim/src/sim/sim_internal.h index d6ee442b6ce..1db555c4140 100644 --- a/arch/sim/src/sim/sim_internal.h +++ b/arch/sim/src/sim/sim_internal.h @@ -219,6 +219,10 @@ int host_errno_convert(int errcode); int host_errno_get(void); void host_errno_set(int errcode); +/* sim_hostirq.c ************************************************************/ + +void host_irqinitialize(void); + /* sim_hostmisc.c ***********************************************************/ void host_abort(int status); diff --git a/arch/sim/src/sim/win/sim_hostirq.c b/arch/sim/src/sim/win/sim_hostirq.c index 2945f33eed5..3db2b92a1fd 100644 --- a/arch/sim/src/sim/win/sim_hostirq.c +++ b/arch/sim/src/sim/win/sim_hostirq.c @@ -80,14 +80,6 @@ void up_irq_restore(uint64_t flags) { } -/**************************************************************************** - * Name: up_irqinitialize - ****************************************************************************/ - -void up_irqinitialize(void) -{ -} - /**************************************************************************** * Name: up_enable_irq * @@ -111,3 +103,11 @@ void up_enable_irq(int irq) void up_disable_irq(int irq) { } + +/**************************************************************************** + * Name: host_irqinitialize + ****************************************************************************/ + +void host_irqinitialize(void) +{ +}
