| 24 Mar 2025 |
Kamilla 'ova | bugs in QEMU's RISC-V implementation
just use https://github.com/LekKit/RVVM :) it's jit is also faster than qemu tcg | 11:50:19 |
Kamilla 'ova | bugs in QEMU's RISC-V implementation
just use https://github.com/LekKit/RVVM :) its jit is also faster than qemu tcg | 11:51:10 |
Jake Hillion | How do you connect up RVVM with the build infra? I have the binfmt-misc stuff setup for doing builds on my EPYC machine (not much luck yet lol, needs some more work to get my VisionFive2 up and running), is RVVM the same deal or more of a standard VM setup? | 11:52:35 |
Kamilla 'ova | RVVM is mainly a full system emulator like virtualbox, but it also has (too much WIP, feel free to contribute!) rvvm-user
ofc it uses softmmu (which is slow), but there is some work on using hardware mmu (without kvm) via low-level mmu hacks, which are currently (experimentally) implemented for risc-v, but could also be implemented for x86 and arm, if you know (or know someone who knows) a lot about x86 ring0 assembly and mmu setup - feel free to help :) https://github.com/LekKit/RVVM?tab=readme-ov-file#%EF%B8%8F-support-the-project
https://github.com/LekKit/shadow_pgt | 12:10:37 |
Jake Hillion | Nice, thanks for the info! I'll have a go at setting up a VM on my EPYC machine tonight. Still getting started with RISC-V, and I want to initially get a good idea of what the bootstrapping experience is like when you combine emulation/small physical hardware like the VisionFive2. Already started having fun with packages that I previously couldn't build for armv7l either not building under QEMU emulation (mainly checks). I don't think I'm the ASM guy unfortunately, i'm a systems/bpf dev but nothing that low level. | 12:49:04 |
Jake Hillion | Do we have any experience so far with how well Nixpkgs takes changes like this for RISC-V?: https://github.com/NixOS/nixpkgs/blob/4d82b26c6a5da66d0c78407bff11562aa2118e89/pkgs/by-name/bo/boehmgc/package.nix#L64-L70 | 12:55:53 |
Kamilla 'ova | combine emulation/small physical hardware like the VisionFive2
what? canadian cross? | 13:06:19 |
Jake Hillion | Haha, worded that poorly. I mean I have a big x86_64 machine that can do emulation, and a small RISC-V machine that can do native builds. Hoping that between the two I can bootstrap properly. | 13:08:12 |
Steven Keuchel | you can cross-compile an sdcard first, and then do a native recompilation. I think it takes ~1w to natively compile a basic system on the VF2 only, 3-4days on the Premier / Megrez boards, and 1-2 days on the Pioneer. | 13:12:37 |
Steven Keuchel | qemu user mode emulation works for many packages and is ok performance wise. system emulation is comparable to the JH7110, so keep your expectations in check. | 13:14:51 |