RISC-V With Linux 5.19 Allows Running RV32 32-bit Binaries On RV64, Adds Svpbmt
On Tuesday the RISC-V architecture changes were merged into the in-development Linux 5.19 kernel with several new features in tow.
As previously covered, RISC-V with Linux 5.19 brings the new "compat" subsystem for running 32-bit binaries on 64-bit kernels. This RV32 on RV64 support is interesting since the Linux kernel has always catered to 64-bit RISC-V and not much in the way of modern RV32 usage I am aware of at least where someone would be chasing mainline Linux usage.
The other big change on the RISC-V front this cycle is Svpbmt extension support for Supervisor-Mode: Page-Based Memory Types. RISC-V's Svpbmt allows for memory attributes to be encoded directly in pages. See the riscv-isa-manual for more details.
The RISC-V code for Linux 5.19 also adds support for kexec_file_load as the newer Kexec system call that is file-based and relies on FDs being added for the kernel and initramfs. There is also a new ticket-based spinlock system and other smaller fixes.
More details on the RISC-V changes premiering in Linux 5.19 this summer via this Git merge.