Merged back in 2022 for the Linux 5.19 kernel was the LoongArch port for that Chinese processor architecture derived from MIPS and inspired in part by RISC-V. Over the past two and a half years the LoongArch Linux kernel port has continued to mature while up to now it’s always been about LoongArch 64-bit… But now a set of patches are looking to begin wiring up LoongArch 32-bit support for the Linux kernel.
Jiaxun Yang sent out a set of patches today working on an initial 32-bit user-space API for LoongArch32. Yes, looking to add 32-bit support in 2025:
“This series defines the UAPI for LoongArch32, marking my initial step towards upstreaming support for the architecture. Once the UAPI is ratified, we can proceed to scrutinise various kernel components to enable 32-bit support while simultaneously addressing user-space porting.”
As for the argument of adding 32-bit LoongArch support to the Linux kernel, Jiaxun Yang commented on the new patch series:
“Although 32-bit systems are experiencing declining adoption in general computing, LoongArch32 remains highly relevant within specific niches. Beyond embedded applications, several vendors are actively developing application-level LoongArch32 processors. Loongson, for example, has released two open-source reference hardware implementations: openLA500 and openLA1000.
The architecture also holds considerable educational value, having been integrated into China’s national computer architecture curricula and embedded systems courses. Additionally, the National Student Computer System Capability Challenge (NSCSCC) features LoongArch32 CPUs, where hundreds of students design Linux-capable hardware implementations and compete on performance. This initiative has resulted in several exciting high-performance LoongArch32 cores, including LainCore, Wired, NOP-Core, NagiCore….”
LoongArch32 would re-use LoongArch64 code as much as possible. Much of the LoongArch32 support has already been in downstream trees but relying on an older downstream ABI that wouldn’t be suitable for the upstream Linux kernel. On the compiler side, LLVM 19 has experimental support for the LoongArch32 ILP32 ABI.
Those interested in seeing a potential new 32-bit port for the upstream Linux kernel can find the initial LoongArch32 uAPI patches on the Linux kernel mailing list to kick-off the discussion.