<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rt-thread.git/libcpu/Kconfig, branch riscv64</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=riscv64</id>
<link rel='self' href='http://cgit.235523.xyz/rt-thread.git/atom/libcpu/Kconfig?h=riscv64'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/'/>
<updated>2024-07-11T03:46:26Z</updated>
<entry>
<title>feat: support ARCH_REMAP_KERNEL on libcpu/c906 (#9123) (#9171)</title>
<updated>2024-07-11T03:46:26Z</updated>
<author>
<name>heyuanjie87</name>
<email>sc943313837@gmail.com</email>
</author>
<published>2024-07-11T03:46:26Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=908f8034732a3fbe485f54e7543dc1934410a990'/>
<id>urn:sha1:908f8034732a3fbe485f54e7543dc1934410a990</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;
Co-authored-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>
<entry>
<title>[libcpu] rv64: support for ARCH_REMAP_KERNEL (#9067)</title>
<updated>2024-06-18T03:15:59Z</updated>
<author>
<name>Shell</name>
<email>smokewood@qq.com</email>
</author>
<published>2024-06-18T03:15:59Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=65c99472253051521eaa5a670085b2cc0da4be3e'/>
<id>urn:sha1:65c99472253051521eaa5a670085b2cc0da4be3e</id>
<content type='text'>
* [libcpu] support for ARCH_REMAP_KERNEL

These changes introduce support for the ARCH_REMAP_KERNEL configuration,
which isolates kernel space in high virtual address regions. This feature
is necessary to enhance memory protection and management by segregating
user and kernel spaces more effectively.

Changes:
- Updated conditional macros to check for ARCH_REMAP_KERNEL instead of
  ARCH_KERNEL_IN_HIGH_VA in board initialization files to reflect the new
  configuration option.
- Modified qemu-virt64-riscv Kconfig and SConstruct files to include and
  utilize ARCH_REMAP_KERNEL.
- Created a new linker script `link_smart.lds` for smart linking in qemu-virt64-riscv.
- Updated rtconfig.py to use a more flexible execution path setup.
- Enhanced user address space definitions in `lwp_arch.h` to support the
  new virtual address mappings.
- Adjusted kernel memory initialization and mapping logic in `c906/mmu.c`
  and `virt64/mmu.c` to account for high virtual address regions.
- Added Kconfig option to enable ARCH_REMAP_KERNEL for RISCV64 architectures.
- Enhanced memory setup functions to support new mapping scheme, including
  updates to early page table setup and address relocation logic.

These modifications ensure that the system can utilize high memory
addresses for the kernel, improving memory isolation and system stability.

Signed-off-by: Shell &lt;smokewood@qq.com&gt;

* fixup: CI run failed

* bsp: default config without using smart

* fixup: static checks

* restore rt_hw_mmu_kernel_map_init for D1

---------

Signed-off-by: Shell &lt;smokewood@qq.com&gt;</content>
</entry>
<entry>
<title>[arm64] add hw thread self (#8942)</title>
<updated>2024-05-28T06:27:55Z</updated>
<author>
<name>Shell</name>
<email>smokewood@qq.com</email>
</author>
<published>2024-05-28T06:27:55Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=f17f994f8c85a0ca58d42c81a14f1134af6ada91'/>
<id>urn:sha1:f17f994f8c85a0ca58d42c81a14f1134af6ada91</id>
<content type='text'>
* [libcpu] arm64: Add hardware thread_self support

This patch introduces hardware-based thread self-identification
for the AArch64 architecture. It optimizes thread management by
using hardware registers to store and access the current thread's
pointer, reducing overhead and improving overall performance.

Changes include:
- Added `ARCH_USING_HW_THREAD_SELF` configuration option.
- Modified `rtdef.h`, `rtsched.h` to conditionally include
  `critical_switch_flag` based on the new config.
- Updated context management in `context_gcc.S`, `cpuport.h`
  to support hardware-based thread self.
- Enhanced `scheduler_mp.c` and `thread.c` to leverage the new
  hardware thread self feature.

These modifications ensure better scheduling and thread handling,
particularly in multi-core environments, by minimizing the
software overhead associated with thread management.

Signed-off-by: Shell &lt;smokewood@qq.com&gt;

* fixup: address suggestion

* fixup: rt_current_thread as global

* scheduler: add cpu object for UP scheduler

Also, maintain the rt_current_thread in cpu object on UP scheduler.

---------

Signed-off-by: Shell &lt;smokewood@qq.com&gt;</content>
</entry>
<entry>
<title>[libcpu/arm64] add C11 atomic ticket spinlock (#8882)</title>
<updated>2024-05-16T07:45:12Z</updated>
<author>
<name>Shell</name>
<email>smokewood@qq.com</email>
</author>
<published>2024-05-16T07:45:12Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=e25fc8b5118fba87acd5bc677641926a913bb3a5'/>
<id>urn:sha1:e25fc8b5118fba87acd5bc677641926a913bb3a5</id>
<content type='text'>
* [libcpu/arm64] add C11 atomic ticket spinlock

Replace the former implementation of flag-based spinlock which is unfair

Besides, C11 atomic implementation is more readable (it's C anyway),
and maintainable. Cause toolchain can use their builtin optimization and
tune for different micro-architectures. For example armv8.5 introduces a
better instruction. The compiler can help with that when it knows your
target platform in support of it.

Signed-off-by: Shell &lt;smokewood@qq.com&gt;

* fixup: RT_CPUS_NR

---------

Signed-off-by: Shell &lt;smokewood@qq.com&gt;</content>
</entry>
<entry>
<title>[bsp][renesas]Add cortex-r52 rzt2m adaptation</title>
<updated>2024-04-11T00:47:53Z</updated>
<author>
<name>Rbb666</name>
<email>64397326+Rbb666@users.noreply.github.com</email>
</author>
<published>2024-04-11T00:47:53Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=1497a3117acdf31d58e036531a24021477209908'/>
<id>urn:sha1:1497a3117acdf31d58e036531a24021477209908</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[libcpu][renesas]add cortex-m85 &amp;&amp; ek-ra8m1 adapt</title>
<updated>2023-10-31T07:09:17Z</updated>
<author>
<name>Rbb666</name>
<email>zhangbingru@rt-thread.com</email>
</author>
<published>2023-10-17T09:20:54Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=7ace7d0a788f3799fecc913396b049ced9b10baf'/>
<id>urn:sha1:7ace7d0a788f3799fecc913396b049ced9b10baf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>🎈 perf: perf rt_hw_interrupt_disable/enable (#8042)</title>
<updated>2023-10-25T12:31:25Z</updated>
<author>
<name>xqyjlj</name>
<email>xqyjlj@126.com</email>
</author>
<published>2023-10-25T12:31:25Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=3283f54c7a0444b2e51ec79a4da57e7871528f05'/>
<id>urn:sha1:3283f54c7a0444b2e51ec79a4da57e7871528f05</id>
<content type='text'>
Signed-off-by: Shell &lt;smokewood@qq.com&gt;
Co-authored-by: Shell &lt;smokewood@qq.com&gt;</content>
</entry>
<entry>
<title>[tools]fix scons --dist , menuconfig will error (#8069)</title>
<updated>2023-09-26T03:35:27Z</updated>
<author>
<name>zhkag</name>
<email>zhkag@foxmail.com</email>
</author>
<published>2023-09-26T03:35:27Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=b2433129b224e54b1bb362633f6f91aa94270873'/>
<id>urn:sha1:b2433129b224e54b1bb362633f6f91aa94270873</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Prepare some api for DM (#7894)</title>
<updated>2023-08-02T04:48:24Z</updated>
<author>
<name>GUI</name>
<email>39894654+GuEe-GUI@users.noreply.github.com</email>
</author>
<published>2023-08-02T04:48:24Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=d3417aa0d757955497e3fde70d6c20ec0fbb8f2f'/>
<id>urn:sha1:d3417aa0d757955497e3fde70d6c20ec0fbb8f2f</id>
<content type='text'>
Signed-off-by: GuEe-GUI &lt;GuEe-GUI@github.com&gt;</content>
</entry>
</feed>
