BREAKING: In an effort to simplify NuttX initialization, NSH_ARCHINIT is
removed. board_app_initialize is also removed. BOARD_LATE_INITIALIZE now
performs all board initialization logic, and is by default enabled. All
references to these symbols are removed. BOARDIOC_INIT remains, but will
result in -ENOTTY when called. It is to be removed in a later commit.
Quick fix: Boards relying on NSH_ARCHINIT should now enable
CONFIG_BOARD_LATE_INITIALIZE instead. If the application needs
fine-grained control over board initialization from userspace, the logic
performed by BOARDIOC_INIT may be copied to the board_finalinitialize
function and used instead via BOARDIOC_FINALINIT. All
board_app_initialize logic provided by NuttX is now moved to
board_late_initialize, and the same should be done for out-of-tree
boards.
Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
This patch fixes formatting error in desription of High Resolution Timer.
Using indentation to (presumably) align non-bold text right of the bold
text did not have the desired effect, instead the line was split into two
and the second line was handled as an indented paragraph.
Signed-off-by: Kerogit <kr.git@kerogit.eu>
Update the Signal Interfaces documentation to include all
signals with configurable default actions and group them
by behavior for improved readability.
This reflects the current implementation in
sched/signal/sig_default.c.
Signed-off-by: Adwait Godbole <adwaitngodbole@gmail.com>
Add a new boardctl command BOARDIOC_MACADDR to retrieve the MAC address of the network interface.
The board_macaddr function needs to be implemented by the board logic.
Signed-off-by: daichuan <daichuan@xiaomi.com>
Modify ARM64 architecture configuration to disable fork support in protected
build mode (BUILD_PROTECTED). Update ARCH_HAVE_FORK condition from
"!BUILD_KERNEL" to "!BUILD_KERNEL && !BUILD_PROTECTED", ensuring fork is
only available in flat/monolithic builds, not in protected kernel builds.
Signed-off-by: hujun5 <hujun5@xiaomi.com>
rename nxsched_timer_expiration to nxsched_tick_expiration
to align with nxsched_process_tick()
Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
Update the hrtimer documentation to describe the hrtimer state machine,
which is introduced to handle safe cancellation and execution in SMP
environments.
Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
Add a safe synchronous hrtimer cancel API, hrtimer_cancel_sync().
If the timer callback is currently executing, this function waits
until the callback has completed and the timer state transitions
to HRTIMER_STATE_INACTIVE.
Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
Enhance the hrtimer module description by explaining its purpose
and use cases, making it more readable and understandable for humans.
Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
This commit adds documentation for the hrtimer module, including its
design overview and intended use cases.
Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
As pull request apache#17200 & apache#17368 introduced support for scheduling sleep, a documentation is needed for different sleep interfaces.
This patch adds the description for sleep interfaces currently provided in NuttX, including Scheduled sleep(nxsched_sleep()...), Signal-scheduled sleep(nxsig_sleep()...), and Busy sleep(up_udelay()).
Signed-off-by: Haokun Dong <donghaokun@lixiang.com>
reorganize the content structure:
- Add the new "Network Interfaces Overview" section
- Reorganize the document structure and optimize formatting
Signed-off-by: nuttxs <zhaoqing.zhang@sony.com>
Add documentation for the newly introduced wd_restart_next() API,
describing its purpose and usage.
Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
Add documentation for the newly introduced wd_restart() API,
describing its purpose and usage.
Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
by index or address
- dns_del_nameserver()
- dns_del_nameserver_by_index()
Update the "DNS function" section in 11_network.rst, and create
the netlib API documentation in netlib/index.rst
Signed-off-by: nuttxs <zhaoqing.zhang@sony.com>
Remove the nxevent_tickwait_wait() description from events.rst,
since this API was removed during the event module refactoring.
Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
In certain cases, when the event-wait thread is awakened,
it needs to know the specific mask bit that triggered it,
so that it can branch to different paths accordingly.
This patch introduces the nxevent_getmask function to address this requirement.
Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
Curernt implementation default semaphore max allowed value to SEM_VALUE_MAX.
In some cases, user may want to change this, so provide a function to do this: sem_setmaxvalue
Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
There are cases that users do not want the event wait object to be allocated automatically
in the stack as a temporary varialbe in nxevent_tickwait, since multiple threads will
access the varialbe, they want to allocate the object as a global variable for safety
control or easy debug. To solve this problem, this patch add a new function nxevent_tickwait_wait
implementation to give user the chance to pass the global wait object to it.
Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
Add support for pthread_{get|set}concurrency support.
NuttX uses 1:1 threading model (every pthread is a kernel-managed thread),
so this function has no real effect on the scheduling behavior.
Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
This commit adds simple implementation of guardsize for pthreads.
At this moment this option simply increases the size of allocated pthread stack.
At default pthread guard size is set to 0.
Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
This commit changed the type of the delay ticks to the unsigned, which can reduce the useless branch conditions
Besides, this commit added max delay tick limitation to fix incorrect timing behavior if we delay SCLOCK_MAX in the SMP build.
Signed-off-by: ouyangxiangzhen <ouyangxiangzhen@xiaomi.com>
This extension for the event group, to establish a connection between
named event groups and a task. The task may reference the event group
associated with a VFS-based name. Then the event group can be used
in subsequent calls to nxevent_wait() or nxevent_post().
This is an internal OS interface and should not be used by applications.
Signed-off-by: fangxinyong <fangxinyong@xiaomi.com>
Events groups are synchronization primitives that allow tasks to wait
for multiple conditions to be met before proceeding. They are particularly
useful in scenarios where a task needs to wait for several events to occur
simultaneously.
Signed-off-by: chao an <anchao@lixiang.com>