Skip to content

ruvm 0.5.3

Choose a tag to compare

@tamnd tamnd released this 09 Oct 23:01
· 129 commits to main since this release
v0.5.3
0b8401c

This patch finishes threads and /proc for M7 and brings in two more sound cards and two more displays for M6.

For M7: qemu-x86_64 now runs threaded programs (#207). clone with CLONE_VM gives each guest thread its own vCPU and host thread, with set_tid_address, the futex wake on thread exit and exit against exit_group as in QEMU, and mmap and brk flush the other threads' TLBs. /proc/self/maps, smaps, stat, auxv and cmdline are written the way QEMU writes them (#209), and shared anonymous memory stays shared across fork (#211). A pthread test, coreutils sort --parallel with up to 8 threads and the /proc test all match QEMU 11.1's qemu-x86_64. Guest code is still about 3 times slower than QEMU here because user mode goes through the softmmu TLB, and a direct guest memory path is planned.

For M6: the PC speaker plays through -machine pcspk-audiodev= (#208), and the Sound Blaster 16 is in with -device sb16 and -audio model=sb16, together with the two i8257 DMA controllers (#212). -display dbus is in behind the ui-dbus cargo feature over zbus (#210), and -display cocoa behind ui-cocoa over the objc2 crates (#213). The Cocoa display has only been cross checked for aarch64-apple-darwin from Linux and has not run on a Mac yet.

What's Changed

  • linux-user: guest threads for x86_64 by @tamnd in #207
  • hw-audio: PC speaker sound with -machine pcspk-audiodev by @tamnd in #208
  • linux-user: /proc/self emulation for x86_64 guests by @tamnd in #209
  • ui: -display dbus behind the ui-dbus feature by @tamnd in #210
  • user-common: shared anonymous memory stays shared across fork by @tamnd in #211
  • hw-audio: Sound Blaster 16 and the i8257 DMA controllers by @tamnd in #212
  • ui: -display cocoa behind the ui-cocoa feature by @tamnd in #213
  • Release 0.5.3 by @tamnd in #214

Full Changelog: v0.5.2...v0.5.3