<feed xmlns='http://www.w3.org/2005/Atom'>
<title>threadx.git/ports/risc-v32/gnu/example_build/qemu_virt/link.lds, branch dev</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/threadx.git/atom/ports/risc-v32/gnu/example_build/qemu_virt/link.lds?h=dev</id>
<link rel='self' href='http://cgit.235523.xyz/threadx.git/atom/ports/risc-v32/gnu/example_build/qemu_virt/link.lds?h=dev'/>
<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>Add RISC-V32 QEMU-virt example</title>
<updated>2026-01-01T09:22:29Z</updated>
<author>
<name>Akif Ejaz</name>
<email>akifejaz40@gmail.com</email>
</author>
<published>2026-01-01T09:22:29Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/threadx.git/commit/?id=5d2c393fa42ae76dfdd9ba313b8c46e353e31d57'/>
<id>urn:sha1:5d2c393fa42ae76dfdd9ba313b8c46e353e31d57</id>
<content type='text'>
This commit introduces the complete example build environment for the
RISC-V32/GNU port targeting the QEMU virt machine. It includes basic BSP
components, startup code, drivers, linker script, and a minimal ThreadX
demo application.

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