Porting Status ============== The LoongArch32 port has been available downstream for some time, with various system components hosted on Loongson's Gitee[6]. However, these components utilise an older downstream ABI and fall short of upstream quality. On the upstream front, LLVM-19 now includes experimental support for LoongArch32 (ILP32 ABI) under the loongarch32* triple, and efforts are underway to enable GNU toolchain support. My upstream-ready kernel port and musl libc port can successfully boot into a minimal Buildroot environment and execute test cases on QEMU virt machine with clang toolchain. Thank you for reading. I look forward to your comments and feedback. [1]: https://www.tsinghua.edu.cn/en/info/1245/13802.htm [2]: https://github.com/LainChip/LainCore [3]: https://github.com/gmlayer0/wired [4]: https://github.com/NOP-Processor/NOP-Core [5]: https://github.com/MrAMS/NagiCore [6]: https://gitee.com/loongson-edu Signed-off-by: Jiaxun Yang <jiaxun.yang@xxxxxxxxxxx> --- Jiaxun Yang (3): loongarch: Wire up 32 bit syscalls loongarch: Introduce sys_loongarch_flush_icache syscall loongarch: vdso: Introduce __vdso_flush_icache function arch/loongarch/include/asm/Kbuild | 1 + arch/loongarch/include/asm/cacheflush.h | 6 ++++ arch/loongarch/include/asm/syscall.h | 2 ++ arch/loongarch/include/asm/vdso/vdso.h | 10 ++++++ arch/loongarch/include/asm/vdso/vsyscall.h | 1 + arch/loongarch/include/uapi/asm/Kbuild | 1 + arch/loongarch/include/uapi/asm/unistd.h | 6 ++++ arch/loongarch/kernel/Makefile.syscalls | 3 +- arch/loongarch/kernel/syscall.c | 49 +++++++++++++++++++++++++++++ arch/loongarch/kernel/vdso.c | 2 ++ arch/loongarch/mm/cache.c | 3 ++ arch/loongarch/vdso/Makefile | 2 +- arch/loongarch/vdso/flush_icache.c | 50 ++++++++++++++++++++++++++++++ arch/loongarch/vdso/vdso.lds.S | 5 +++ scripts/syscall.tbl | 2 ++ 15 files changed, 140 insertions(+), 3 deletions(-) --- base-commit: 8155b4ef3466f0e289e8fcc9e6e62f3f4dceeac2 change-id: 20250102-la32-uapi-8395e83a4e88 Best regards, -- Jiaxun Yang <jiaxun.yang@xxxxxxxxxxx>