<feed xmlns='http://www.w3.org/2005/Atom'>
<title>threadx.git/cmake/riscv32_gnu.cmake, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/threadx.git/atom/cmake/riscv32_gnu.cmake?h=master</id>
<link rel='self' href='http://cgit.235523.xyz/threadx.git/atom/cmake/riscv32_gnu.cmake?h=master'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/threadx.git/'/>
<updated>2026-05-25T20:43:24Z</updated>
<entry>
<title>Implemented lazy FPU, GP relaxation, and QEMU automation for GNU port in arch/risc-v32 (#513)</title>
<updated>2026-05-25T20:43:24Z</updated>
<author>
<name>Wei-Chen Lai</name>
<email>138997176+Winstonllllai@users.noreply.github.com</email>
</author>
<published>2026-05-25T20:43:24Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/threadx.git/commit/?id=e031a3d506fdbc589fc6032eba618918e0c6719a'/>
<id>urn:sha1:e031a3d506fdbc589fc6032eba618918e0c6719a</id>
<content type='text'>
This PR adds three functional improvements to the RISC-V 32-bit GNU port.

Lazy FPU stacking (tx_thread_context_save.S, tx_thread_context_restore.S, tx_thread_schedule.S): FP register save/restore is now skipped whenmstatus.FS is Off, reducing context switch overhead for threads that do not use floating point.

GP relaxation (cmake/riscv32_gnu.cmake, entry.s, link.lds): Enables the -mrelax compiler flag and defines __global_pointer$ in the linker script.The entry stub initializes gp at startup. gp is not saved or restored during context switches.

WFI in idle loop (tx_thread_schedule.S): The scheduler issues wfi when no thread is ready, replacing busy-waiting with a low-power sleep.

A Python/QEMU/GDB functional test runner is added under ports/risc-v32/gnu/example_build/qemu_virt/test/. It validates context switching, FPUcontext preservation, timer interrupts, and preemption. To run:

cd ports/risc-v32/gnu/example_build/qemu_virt
make check-functional-riscv32

Tested on QEMU virt machine (rv32gc).

Co-authored-by: Wei-Chen Lai Winstonllllai@users.noreply.github.com
Co-authored-by: Frédéric Desbiens frederic.desbiens@eclipse-foundation.org
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com</content>
</entry>
<entry>
<title>Added a riscv32 for the OpenHW CVA6 (#511)</title>
<updated>2026-05-13T11:46:54Z</updated>
<author>
<name>Francisco Manuel Merino Torres</name>
<email>francisco.merino@quintauris.com</email>
</author>
<published>2026-05-13T11:46:54Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/threadx.git/commit/?id=42adda44573b7c0062138818749437e6baf1044f'/>
<id>urn:sha1:42adda44573b7c0062138818749437e6baf1044f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add RISC-V32 arch. port layer</title>
<updated>2026-02-16T12:15:13Z</updated>
<author>
<name>Akif Ejaz</name>
<email>akifejaz40@gmail.com</email>
</author>
<published>2026-02-16T12:15:13Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/threadx.git/commit/?id=757db54d6d10edc655eee9cfe02ecd4d93be5fed'/>
<id>urn:sha1:757db54d6d10edc655eee9cfe02ecd4d93be5fed</id>
<content type='text'>
This update adapts the ThreadX low-level kernel routines
for RV32, including:
  - startup and initialization logic
  - context save/restore implementations
  - interrupt control and scheduler entry
  - thread stack build and system return paths
  - timer interrupt handling
  - made it complient as per new risc-v64/gnu
      &amp; threadx style
  - added reademe for risc-v32/gnu port

These changes provide full low-level support needed to run
ThreadX on RISC-V32 targets.

Signed-off-by: Akif Ejaz &lt;akif.ejaz@10xengineers.ai&gt;
</content>
</entry>
</feed>
