| Age | Commit message (Collapse) | Author |
|
|
|
|
|
Match the organization of modules (groups) with
that of user guide.
Preliminary arrangement. This patch is just a
framework arrangement. Details need to be continued.
P.S., in this patch, adding numerical prefixes to
the files in documentation/0.doxygen is to meet the
need of displaying sorting in HTML pages.
Signed-off-by: Chen Wang <[email protected]>
|
|
|
|
|
|
|
|
|
|
Signed-off-by: latercomer <[email protected]>
|
|
Signed-off-by: latercomer <[email protected]>
|
|
|
|
Move the introduction of function parameters in markdown to
source code comments, because this part of the content is
completely repeated. We only need to keep and maintain the
comments in the code. The detailed explanation of the API
in markdown can directly refer to the comments in the code.
Try not to directly copy the definition of the structure
in the markdown document, because this part of the content
may change with the upgrade of the code. Therefore, when
the structure definition is involved in markdown, try to
indicate that it is just a code snippet. The specific
definition is still directly quoted from the source code
and the source code comments.
It is very convenient to quote structures and functions
in markdown. Just use "`" to enclose the structure name
or function name, and the generated html is a link to
its definition.
According to this principle, this patch only modifies
the documents and code comments of the kernel object model.
Other modules will be modified one by one in separate
patches later.
Signed-off-by: Chen Wang <[email protected]>
|
|
* feat: ci script associated with auto_utest.
|
|
Signed-off-by: Shell <[email protected]>
|
|
This commit introduces a page poison debugging mechanism and additional
assertions for memory management, improving system maintainability and
debugging capabilities. The changes aim to detect illegal memory usage
early and provide better clarity in managing page allocations.
Changes:
- Added `RT_DEBUGGING_PAGE_POISON` option to enable memory usage tracing.
- Introduced a page poisoner for detecting illegal memory usage.
- Implemented region-based memory tracking using bitmaps.
- Enhanced spinlock protection for memory management operations.
- Fixed several assertion checks for memory safety.
- Renamed macros for consistency (`FLOOR` to `CEIL`).
- Refined memory allocation and deallocation logic to include poisoning.
- Updated Kconfig to add configurable `RT_PAGE_MAX_ORDER` and poison debugging.
- Improved debugging outputs for page regions and memory operations.
Signed-off-by: Shell <[email protected]>
|
|
* [src/ktime] fix the bug when use keil AC6 and open RT_USING_HOOKLIST and RT_USING_KTIME
|
|
* doxygen: add prefix for groups
Add "group_" prefix to doxygen group names. This makes
it easier to grep with group name later.
This patch only modifies the groups defined in the pathes
of INPUT of documentation/Doxyfile:
INPUT = . \
../src \
../include \
../components/finsh \
../components/drivers/include/drivers \
../components/drivers/clk \
../components/dfs/dfs_v2/src \
../components/dfs/dfs_v2/include
Other groups are not touched.
Signed-off-by: Chen Wang <[email protected]>
* ci: fixed error report when run file_check.py
Such as:
- "please delete extra space at the end of this line."
- "the RT-Thread error code should return negative value. e.g. return
-RT_ERROR"
Signed-off-by: Chen Wang <[email protected]>
---------
Signed-off-by: Chen Wang <[email protected]>
|
|
RT_USING_CI_ACTION will select RT_UTEST_USING_AUTO_RUN and RT_UTEST_USING_ALL_CASES
|
|
|
|
uassert_float_equal and uassert_float_not_equal
|
|
|
|
from: https://github.com/phoenix-rtos/libphoenix/blob/master/stdio/scanf.c
BSD-3-Clause license
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
When RT_DEBUGING_AUTO_INIT is enabled, kenrel will add more
print message for auto init. However, the original format
easily causes the kernel printing and the init function printing
to be connected together, resulting in a confusing display
format.
For exmaple:
```
initialize lwip_system_initlwIP-2.0.3 initialized!
:0 done
```
Or
```
initialize sal_init[I/sal.skt] Socket Abstraction Layer initialize success.
:0 done
```
Solution: Add a carriage return to separate the kernel
printing and the init function printing.
After changing, the output will be:
```
initialize lwip_system_init
lwIP-2.0.3 initialized!
:0 done
```
Or
```
initialize sal_init
[I/sal.skt] Socket Abstraction Layer initialize success.
:0 done
```
Signed-off-by: Chen Wang <[email protected]>
|
|
|
|
cherry-pick from: https://github.com/PetteriAimonen/Baselibc/blob/master/src/vsscanf.c
BSD license
|
|
|
|
|
|
|
|
|
|
|
|
These changes introduce the rt_interrupt_context family, providing a
mechanism for managing nested interrupts. The context management
ensures proper storage and retrieval of interrupt states, improving
reliability in nested interrupt scenarios by enabling context tracking
across different interrupt levels. This enhancement is essential for
platforms where nested interrupt handling is crucial, such as in real-
time or multi-threaded applications.
Changes:
- Defined rt_interrupt_context structure with context and node fields
in `rtdef.h` to support nested interrupts.
- Added rt_slist_pop function in `rtservice.h` for simplified node
removal in singly linked lists.
- Declared rt_interrupt_context_push, rt_interrupt_context_pop, and
rt_interrupt_context_get functions in `rtthread.h` to manage the
interrupt/exception stack.
- Modified AArch64 CPU support in `cpuport.h` to include
rt_hw_show_register for debugging registers.
- Refactored `_rt_hw_trap_irq` in `trap.c` for context-aware IRQ
handling, with stack push/pop logic to handle nested contexts.
- Implemented interrupt context push, pop, and retrieval logic in
`irq.c` to manage context at the CPU level.
Signed-off-by: Shell <[email protected]>
|
|
|
|
|
|
implementations when using musl libc
|
|
|
|
|
|
|
|
|
|
|
|
lwp的某些资源回收放到了后台,其中会引起线程挂起,而idle不应该被挂起
|
|
Prepare for the next release by removing the compatible codes for v5.1.0
and before.
Changes:
- Remove the compatible macros and Kconfig options for the old struct
rt_thread layout.
Signed-off-by: Shell <[email protected]>
|
|
This patch improves the atomicity of context switching by ensuring that
the stack pointer (sp) and thread self updates occur simultaneously.
This enhancement is crucial for maintaining thread safety and
preventing potential inconsistencies during context switches.
Changes:
- Modified `cpuport.h` to use `ARM64_THREAD_REG` for thread self access.
- Added an `update_tidr` macro in `context_gcc.S` to streamline thread ID
updates.
- Adjusted `rt_hw_context_switch_to` and `rt_hw_context_switch` to call
`update_tidr`, ensuring atomic updates during context switches.
- Cleaned up `scheduler_mp.c` by removing redundant thread self
assignments.
Signed-off-by: Shell <[email protected]>
|