Hi, Here my tests on QEMU rv-virt target basically passed, so vote +1 for it.
Most configs works smoothly except the `rv-virt:smp` one needs minor tweaks. Below are detailed logs. ### toolchain Toolchain name: `gcc-riscv64-unknown-elf 10.2.0-0ubuntu1` on Ubuntu 22.04 ```shell $ riscv64-unknown-elf-gcc -v Using built-in specs. Target: riscv64-unknown-elf Thread model: single Supported LTO compression algorithms: zlib gcc version 10.2.0 () ``` ### nsbi ```sh $ qemu-system-riscv32 -M virt,aclint=on -semihosting -nographic -bios nuttx ABC NuttShell (NSH) NuttX-12.10.0 nsh> cat /proc/version NuttX version 12.10.0 6fc5b3e9dc Jul 3 2025 07:09:43 rv-virt:nsbi nsh> free; ostest > /dev/null; rm -r /var; sleep 1; free total used free maxused maxfree nused nfree name 4158460 8428 4150032 20488 4148184 25 4 Kmem 4194304 602112 3592192 3592192 Page stdio_test: write fd=2 stdio_test: Standard I/O Check: fprintf to stderr setvbuf_test: Using NO buffering setvbuf_test: Using default FULL buffering setvbuf_test: Using FULL buffering, buffer size 64 setvbuf_test: Using FULL buffering, pre-allocated buffer setvbuf_test: Using LINE buffering, buffer size 64 setvbuf_test: Using FULL buffering, pre-allocated buffer total used free maxused maxfree nused nfree name 4158460 8428 4150032 42816 4148184 25 4 Kmem 4194304 602112 3592192 3592192 Page nsh> quit ``` ### knsh64 ```sh $ qemu-system-riscv64 -M virt,aclint=on -semihosting -nographic -kernel nuttx OpenSBI v1.5.1 ____ _____ ____ _____ / __ \ / ____| _ \_ _| | | | |_ __ ___ _ __ | (___ | |_) || | | | | | '_ \ / _ \ '_ \ \___ \| _ < | | | |__| | |_) | __/ | | |____) | |_) || |_ \____/| .__/ \___|_| |_|_____/|____/_____| | | |_| Platform Name : riscv-virtio,qemu Platform Features : medeleg Platform HART Count : 1 Platform IPI Device : aclint-mswi Platform Timer Device : aclint-mtimer @ 10000000Hz Platform Console Device : semihosting Platform HSM Device : --- Platform PMU Device : --- Platform Reboot Device : syscon-reboot Platform Shutdown Device : syscon-poweroff Platform Suspend Device : --- Platform CPPC Device : --- Firmware Base : 0x80000000 Firmware Size : 327 KB Firmware RW Offset : 0x40000 Firmware RW Size : 71 KB Firmware Heap Offset : 0x49000 Firmware Heap Size : 35 KB (total), 2 KB (reserved), 11 KB (used), 21 KB (free) Firmware Scratch Size : 4096 B (total), 416 B (used), 3680 B (free) Runtime SBI Version : 2.0 Domain0 Name : root Domain0 Boot HART : 0 Domain0 HARTs : 0* Domain0 Region00 : 0x0000000000100000-0x0000000000100fff M: (I,R,W) S/U: (R,W) Domain0 Region01 : 0x0000000002000000-0x000000000200ffff M: (I,R,W) S/U: () Domain0 Region02 : 0x0000000080040000-0x000000008005ffff M: (R,W) S/U: () Domain0 Region03 : 0x0000000080000000-0x000000008003ffff M: (R,X) S/U: () Domain0 Region04 : 0x000000000c400000-0x000000000c5fffff M: (I,R,W) S/U: (R,W) Domain0 Region05 : 0x000000000c000000-0x000000000c3fffff M: (I,R,W) S/U: (R,W) Domain0 Region06 : 0x0000000000000000-0xffffffffffffffff M: () S/U: (R,W,X) Domain0 Next Address : 0x0000000080200000 Domain0 Next Arg1 : 0x0000000087e00000 Domain0 Next Mode : S-mode Domain0 SysReset : yes Domain0 SysSuspend : yes Boot HART ID : 0 Boot HART Domain : root Boot HART Priv Version : v1.12 Boot HART Base ISA : rv64imafdch Boot HART ISA Extensions : sstc,zicntr,zihpm,zicboz,zicbom,sdtrig,svadu Boot HART PMP Count : 16 Boot HART PMP Granularity : 2 bits Boot HART PMP Address Bits: 54 Boot HART MHPM Info : 16 (0x0007fff8) Boot HART Debug Triggers : 2 triggers Boot HART MIDELEG : 0x0000000000001666 Boot HART MEDELEG : 0x0000000000f0b509 ABC NuttShell (NSH) NuttX-12.10.0 nsh> cat /proc/version NuttX version 12.10.0 6fc5b3e9dc Jul 3 2025 07:18:03 rv-virt:knsh64 nsh> free; ostest > /dev/null; rm -r /var; sleep 1; free total used free maxused maxfree nused nfree name 2064480 10040 2054440 21824 2050992 25 4 Kmem 4194304 606208 3588096 3588096 Page stdio_test: write fd=2 stdio_test: Standard I/O Check: fprintf to stderr setvbuf_test: Using NO buffering setvbuf_test: Using default FULL buffering setvbuf_test: Using FULL buffering, buffer size 64 setvbuf_test: Using FULL buffering, pre-allocated buffer setvbuf_test: Using LINE buffering, buffer size 64 setvbuf_test: Using FULL buffering, pre-allocated buffer total used free maxused maxfree nused nfree name 2064480 10040 2054440 47344 2050992 25 4 Kmem 4194304 606208 3588096 3588096 Page nsh> ``` ### flats64 ```sh $ qemu-system-riscv64 -M virt,aclint=on -semihosting -nographic -kernel nuttx OpenSBI v1.5.1 ____ _____ ____ _____ / __ \ / ____| _ \_ _| | | | |_ __ ___ _ __ | (___ | |_) || | | | | | '_ \ / _ \ '_ \ \___ \| _ < | | | |__| | |_) | __/ | | |____) | |_) || |_ \____/| .__/ \___|_| |_|_____/|____/_____| | | |_| Platform Name : riscv-virtio,qemu Platform Features : medeleg Platform HART Count : 1 Platform IPI Device : aclint-mswi Platform Timer Device : aclint-mtimer @ 10000000Hz Platform Console Device : semihosting Platform HSM Device : --- Platform PMU Device : --- Platform Reboot Device : syscon-reboot Platform Shutdown Device : syscon-poweroff Platform Suspend Device : --- Platform CPPC Device : --- Firmware Base : 0x80000000 Firmware Size : 327 KB Firmware RW Offset : 0x40000 Firmware RW Size : 71 KB Firmware Heap Offset : 0x49000 Firmware Heap Size : 35 KB (total), 2 KB (reserved), 11 KB (used), 21 KB (free) Firmware Scratch Size : 4096 B (total), 416 B (used), 3680 B (free) Runtime SBI Version : 2.0 Domain0 Name : root Domain0 Boot HART : 0 Domain0 HARTs : 0* Domain0 Region00 : 0x0000000000100000-0x0000000000100fff M: (I,R,W) S/U: (R,W) Domain0 Region01 : 0x0000000002000000-0x000000000200ffff M: (I,R,W) S/U: () Domain0 Region02 : 0x0000000080040000-0x000000008005ffff M: (R,W) S/U: () Domain0 Region03 : 0x0000000080000000-0x000000008003ffff M: (R,X) S/U: () Domain0 Region04 : 0x000000000c400000-0x000000000c5fffff M: (I,R,W) S/U: (R,W) Domain0 Region05 : 0x000000000c000000-0x000000000c3fffff M: (I,R,W) S/U: (R,W) Domain0 Region06 : 0x0000000000000000-0xffffffffffffffff M: () S/U: (R,W,X) Domain0 Next Address : 0x0000000080200000 Domain0 Next Arg1 : 0x0000000087e00000 Domain0 Next Mode : S-mode Domain0 SysReset : yes Domain0 SysSuspend : yes Boot HART ID : 0 Boot HART Domain : root Boot HART Priv Version : v1.12 Boot HART Base ISA : rv64imafdch Boot HART ISA Extensions : sstc,zicntr,zihpm,zicboz,zicbom,sdtrig,svadu Boot HART PMP Count : 16 Boot HART PMP Granularity : 2 bits Boot HART PMP Address Bits: 54 Boot HART MHPM Info : 16 (0x0007fff8) Boot HART Debug Triggers : 2 triggers Boot HART MIDELEG : 0x0000000000001666 Boot HART MEDELEG : 0x0000000000f0b509 ABC NuttShell (NSH) NuttX-12.10.0 nsh> cat /proc/version NuttX version 12.10.0 6fc5b3e9dc Jul 3 2025 07:22:55 rv-virt:flats64 nsh> free; ostest > /dev/null; rm -r /var; sleep 1; free total used free maxused maxfree nused nfree name 33340608 8224 33332384 8896 33332384 22 1 Umem stdio_test: write fd=2 stdio_test: Standard I/O Check: fprintf to stderr setvbuf_test: Using NO buffering setvbuf_test: Using default FULL buffering setvbuf_test: Using FULL buffering, buffer size 64 setvbuf_test: Using FULL buffering, pre-allocated buffer setvbuf_test: Using LINE buffering, buffer size 64 setvbuf_test: Using FULL buffering, pre-allocated buffer total used free maxused maxfree nused nfree name 33340608 8224 33332384 50744 33332384 22 1 Umem nsh> ``` ### smp The `rv-virt:smp` doesn't build, adjusting defconfig can build it: ```sh $ ddiff rv-virt:smp rv-virt:yfsmp 63c63 < CONFIG_LIBM_TOOLCHAIN=y --- > CONFIG_LIBM=y ``` Also the NSH lacks stdout redirection and ';' separated commands list is not supported, so commands were run line by line. ```sh $ qemu-system-riscv32 -M virt,aclint=on -semihosting -nographic -bios nuttx -smp 8 NuttShell (NSH) NuttX-12.10.0 nsh> cat /proc/version NuttX version 12.10.0 6fc5b3e9dc Jul 3 2025 07:29:21 rv-virt:yfsmp nsh> free; total used free maxused maxfree nused nfree name 33361600 5128 33356472 5512 33356472 19 1 Umem nsh> ostest stdio_test: write fd=1 ... Final memory usage: VARIABLE BEFORE AFTER ======== ======== ======== arena 1fd0ec0 1fd0ec0 ordblks 1 12 mxordblk 1fccd28 1fbc490 uordblks 4198 8ca0 fordblks 1fccd28 1fc8220 user_main: Exiting ostest_main: Exiting with status 0 nsh> rm -r /var nsh> sleep 1 nsh> free total used free maxused maxfree nused nfree name 33361600 26360 33335240 107032 33277072 27 9 Umem nsh> ``` Regards, yf On Mon, 2025-06-30 at 07:05 +0200, Alin Jerpelea wrote: > Hello all, > > Apache NuttX 12.10.0 RC0 has been staged under [1] and it's > time to vote on accepting it for release. Voting will be open for 72hr. > > A minimum of 3 binding +1 votes and more binding +1 than binding -1 are > required to pass. > > The Apache requirements for approving a release can be found here [3] > "Before voting +1 PMC members are required to download the signed > source code package, compile it as provided, and test the resulting > executable on their own platform, along with also verifying that the > package meets the requirements of the ASF policy on releases." > > A document to walk through some of this process has been published on > our project wiki and can be found here [4]. > > [ ] +1 accept (indicate what you validated - e.g. performed the non-RM > items in [4]) > [ ] -1 reject (explanation required) > > Thank you all, > Alin Jerpelea > > SCM Information: > Release tag: nuttx-12.10.0-RC0 > Hash for the release nuttx tag: 6fc5b3e9dc51dcda46d99519f72b7f2ec6db2e64 > Hash for the release nuttx-apps tag: > 8ff533beb37eeef1f288c467acd7c50b542464eb > > [1] https://dist.apache.org/repos/dist/dev/nuttx/12.10.0-RC0/ > [2] > https://raw.githubusercontent.com/apache/nuttx/nuttx-12.10.0-RC0/ReleaseNotes > [3] https://www.apache.org/dev/release.html#approving-a-release > [4] > https://cwiki.apache.org/confluence/display/NUTTX/Validating+a+staged+Release