<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rt-thread.git/libcpu/Kconfig, branch v5.2.2</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/rt-thread.git/atom/libcpu/Kconfig?h=v5.2.2</id>
<link rel='self' href='http://cgit.235523.xyz/rt-thread.git/atom/libcpu/Kconfig?h=v5.2.2'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/'/>
<updated>2025-09-01T03:50:41Z</updated>
<entry>
<title>fix: warnings generated by Kconfig.</title>
<updated>2025-09-01T03:50:41Z</updated>
<author>
<name>maosql</name>
<email>maosql111@gmail.com</email>
</author>
<published>2025-08-27T12:40:01Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=9567564e86592c5a05f40d39d7352593d487b8d4'/>
<id>urn:sha1:9567564e86592c5a05f40d39d7352593d487b8d4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: Kconfig: moving the arm64 specified configs to sub-menu</title>
<updated>2024-11-24T18:44:34Z</updated>
<author>
<name>Shell</name>
<email>smokewood@qq.com</email>
</author>
<published>2024-11-19T08:18:00Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=b7520e262b6b07e72bd18f4280156e324edac11b'/>
<id>urn:sha1:b7520e262b6b07e72bd18f4280156e324edac11b</id>
<content type='text'>
Just for better readability.

Signed-off-by: Shell &lt;smokewood@qq.com&gt;
</content>
</entry>
<entry>
<title>feat: arm64 ASID support</title>
<updated>2024-11-24T18:44:34Z</updated>
<author>
<name>Shell</name>
<email>smokewood@qq.com</email>
</author>
<published>2024-11-19T08:16:37Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=fe2b124345f67d25afc333f2a012ae3d1534e5d6'/>
<id>urn:sha1:fe2b124345f67d25afc333f2a012ae3d1534e5d6</id>
<content type='text'>
Support for ARM64 ASID to enhance virtual memory management efficiency
by reducing the need for TLB flushes during address space switches.
These changes improve performance especially for multi-process systems.

Changes:
- Added `ARCH_USING_ASID` configuration in `libcpu/aarch64/Kconfig`.
- Defined ASID-related constants in `mmu.h`.
- Updated `TLBI_ARG` macro to include ASID manipulation.
- Implemented ASID allocation mechanism with spinlock synchronization.
- Enhanced TLB invalidation to support ASID-specific operations.
- Modified `rt_hw_aspace_switch` to use ASIDs when switching address spaces.
- Adjusted debug logging and function documentation to reflect ASID usage.
- Refactored AArch64 MMU and TLB handling for ASID integration.

Signed-off-by: Shell &lt;smokewood@qq.com&gt;
</content>
</entry>
<entry>
<title>feat: Added rt_interrupt_context* family for nested interrupt handling</title>
<updated>2024-11-03T02:08:45Z</updated>
<author>
<name>Shell</name>
<email>smokewood@qq.com</email>
</author>
<published>2024-10-30T08:57:42Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=40cd8cce995e24ea265664c5db127c662a747032'/>
<id>urn:sha1:40cd8cce995e24ea265664c5db127c662a747032</id>
<content type='text'>
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 &lt;smokewood@qq.com&gt;
</content>
</entry>
<entry>
<title>[libcpu][cortex-m7] use hw atomic</title>
<updated>2024-11-01T22:45:00Z</updated>
<author>
<name>Kai</name>
<email>60053077+kaidegit@users.noreply.github.com</email>
</author>
<published>2024-11-01T22:45:00Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=7bf8589fad1c0406ed993025c9e7055ee6725619'/>
<id>urn:sha1:7bf8589fad1c0406ed993025c9e7055ee6725619</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[libcpu]添加对riscv vector的支持 (#9531)</title>
<updated>2024-10-16T06:10:09Z</updated>
<author>
<name>heyuanjie87</name>
<email>943313837@qq.com</email>
</author>
<published>2024-10-16T06:10:09Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=49b661476393bd9c9fc199362cf4b008c35a9340'/>
<id>urn:sha1:49b661476393bd9c9fc199362cf4b008c35a9340</id>
<content type='text'>
[libcpu]添加对riscv vector的支持</content>
</entry>
<entry>
<title>feat: libcpu/risc-v: unify context on c906, virt64</title>
<updated>2024-09-11T22:06:51Z</updated>
<author>
<name>Shell</name>
<email>smokewood@qq.com</email>
</author>
<published>2024-09-02T08:38:42Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=7528645f595f2b9d0e89a146ca477bb6849e64c5'/>
<id>urn:sha1:7528645f595f2b9d0e89a146ca477bb6849e64c5</id>
<content type='text'>
Changes:
- added config for NEW_CTX_SWITCH
- used new context on c906 sched switch routine
- update _rt_hw_stack_init to fit into NEW_CTX_SWITCH
- separated vector ctx from the generic

Signed-off-by: Shell &lt;smokewood@qq.com&gt;
</content>
</entry>
<entry>
<title>[libcpu/rv64] feat: unify tick.c</title>
<updated>2024-07-15T04:06:39Z</updated>
<author>
<name>Shell</name>
<email>smokewood@qq.com</email>
</author>
<published>2024-07-15T04:06:17Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=65ffe4e13ef52d007d83c93467871c529705b522'/>
<id>urn:sha1:65ffe4e13ef52d007d83c93467871c529705b522</id>
<content type='text'>
The changes unify the tick.c implementations for all risc-v64
architectures, leveraging the CPUTIME feature. This refactoring was
necessary to streamline the codebase, and ensure consistent timer
handling across different platforms.

Changes:
- Updated `Kconfig` in `bsp/cvitek/cv18xx_risc-v` to fix formatting issues.
- Updated .config for BSPs to update `CPUTIME_TIMER_FREQ`
- Updated header of for API `riscv_cputime_init`
- Initialized riscv timer on `rt_hw_tick_init`
- Refactored `tick.c` and `tick.h` in `libcpu/risc-v/t-head/c906` and `libcpu/risc-v/virt64`:
  - Replaced direct use of `rdtime` with `clock_cpu_gettime`.
  - Removed redundant timer frequency definitions.
  - Added static assertions to check the value of `CPUTIME_TIMER_FREQ`.
  - Initialized `tick_cycles` based on `CPUTIME_TIMER_FREQ`.
  - Integrated `ktime` support for tick initialization.

Signed-off-by: Shell &lt;smokewood@qq.com&gt;
Reviewed-on: https://github.com/RT-Thread/rt-thread/pull/9164
Reviewed-by: Chen Wang &lt;unicorn_wang@outlook.com&gt;
</content>
</entry>
<entry>
<title>feat: support ARCH_REMAP_KERNEL on libcpu/c906 (#9123)</title>
<updated>2024-07-11T03:00:04Z</updated>
<author>
<name>Shell</name>
<email>smokewood@qq.com</email>
</author>
<published>2024-07-11T03:00:04Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=beee77f372a3dc4b2ef7cbf4d8ab70aba19dddb4'/>
<id>urn:sha1:beee77f372a3dc4b2ef7cbf4d8ab70aba19dddb4</id>
<content type='text'>
feat: [libcpu/c906] support ARCH_REMAP_KERNEL

This change was necessary to enable the remapping of the kernel image to
a high virtual address region on the c906 platform.

Changes:
- Introduced new configuration options `ARCH_REMAP_KERNEL`, and
  `ARCH_USING_ASID` under the `ARCH_RISCV64` section.
- Updated MMU initialization and switching functions to incorporate
  remapping handling.
- Modified page table setup for proper memory attribute settings.
- Added support for early memory setup, kernel remapping
- Added conditional compilation for ASID support in the `rt_aspace` struct,
  since this is not enable currently for most architecture.

Signed-off-by: Shell &lt;smokewood@qq.com&gt;</content>
</entry>
<entry>
<title>[libcpu][aarch64]memory setup using memblock (#9092)</title>
<updated>2024-06-26T06:36:49Z</updated>
<author>
<name>zms123456</name>
<email>85141075+zmshahaha@users.noreply.github.com</email>
</author>
<published>2024-06-26T06:36:49Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=b785ef9ed76fcf97d3f2d59e02bfaa8b5f6cc74e'/>
<id>urn:sha1:b785ef9ed76fcf97d3f2d59e02bfaa8b5f6cc74e</id>
<content type='text'>
* memory setup using memblock

* map pages later</content>
</entry>
</feed>
