Skip to content

Releases: google/alioth

v0.10.0

21 Dec 18:43

Choose a tag to compare

What's Changed

New

  • aarch64: emulated PL031 RTC for aarch64 #285
  • HVF/aarch64: vmnet-based virtio-net device on macOS #299
  • New command line flag --cpu for specifying CPU topology #331
  • KVM/x86_64: enable x2APIC by default, allow booting up to 32768 VCPUs (theoretical value) #344

Fixes

  • HVF/aarch64: handle OSDLR_EL1 and OSLAR_EL1 #284
  • HVF/aarch64: fix system reboot #298
  • x86_64: fix CPU topology encoded in CPUID #331

Other

  • Many unit tests added
  • Dependency bumps by @dependabot[bot]

Full Changelog: v0.9.0...v0.10.0

v0.9.0

02 Sep 04:58

Choose a tag to compare

What's Changed

New

  • VirtIO packed queue #273
  • Unix domain socket based vsock device #277
  • Alioth now can boot Linux on macOS with Hypervisor framework #281

Chore

  • Dependency bumps
  • Code coverage report

Full Changelog: v0.8.0...v0.9.0

v0.8.0

10 Jun 06:27

Choose a tag to compare

What's Changed

New

  • vhost-user devices in #243
  • Built-in VirtIO FS device in #244
  • virtio-fs: handle opcodes CREATE and WRITE in #246
  • Run virtio-fs as a vhost-user backend in #247
  • virtio-fs: DAX support in #252

Fixes

  • fix(vu): avoid socket pair fd leak in #235
  • fix(kvm): handle IO string operations in #255

Refactors

  • refactor(virtio): remove generic paramter D from VirtioDevice in #237
  • refactor(virtio): move Register to VirtioPciDevice in #238
  • refactor: replace boxed_debug_trace with trait BoxTrace in #242

Full Changelog: v0.7.0...v0.8.0

v0.7.0

07 Apr 15:40

Choose a tag to compare

What's Changed

Full Changelog: v0.6.0...v0.7.0

v0.6.0

30 Oct 05:21

Choose a tag to compare

What's Changed

New features

  • virtio-ballon device with free page reporting
  • PCI device passthrough with legacy VFIO API (container and group)
  • io_uring based virtio-blk device

Bug fixes and performance improvements

  • device passthrough

    • a8e87c6 fix(vfio): handle the flag NORESIZE of an IRQ
    • 3ef3eb0 fix(vfio): open the iommu device as read-only
    • e30be1f fix(cdev): ignore detach calls if not attached yet
  • loader

    • e58f221 fix(pvh): check if the alignment is a power of 2
    • fd0f2d8 fix: let align_up/align_down take number of bits
  • virtio devices

    • acdfb5d fix(virtio): monitor ioeventfds with IORING_OP_POLL_ADD
    • 95b9d5f fix(virtio): monitor the waker with IORING_OP_POLL_ADD
    • e9fe9c8 fix(virtio): let devices handle hostside io errors
    • 8968a24 fix(virtio): reset io_uring queue_submits at start up
    • b306c1a perf(virtio): send 1 interrupt in a single loop
  • virtio-blk

    • 9a3857f fix(blk): flush disk file on FLUSH requests
  • virtio-net (tried to improve latency but failed)

    • 1177f32 Revert "perf(net): deregister tap from poll while handling events"
    • f365429 perf(net): deregister tap from poll while handling events
  • hypervisor

    • 608fb13 test(kvm): use 2-MiB page in the guest
    • 8291ce5 fix(kvm): calculate correct mask for 64bit MMIO

Full Changelog: v0.5.0...v0.6.0

v0.5.0

03 Sep 03:33

Choose a tag to compare

What's Changed

New features

  • complete command line help message: check alioth --help and alioth run --help.
  • experimental io_uring based virtio-net device: add api=iouring to --net.

Bug fixes and performance improvements

  • fix(sev): fix the policy bitfield definition in #101
  • fix(vu): allow only 1 in-flight request in #104
  • fix(x86): enable fast string in #105
  • fix(kvm): clear the high part of mmio write values in #109
  • Fix cpuid in #110
  • perf(virtio): remove unnecessary wake at startup in #121
  • fix(net): detect tap offload cap after setup in #122
  • virtio: replace actions with states in #126
  • perf(virtio): lock memory layout while running in #132
  • refactor(virtio): replace device_id() with an associated const in #133
  • Remove Arc<Vec<T>> and Arc<String> in #134

Full Changelog: v0.4.0...v0.5.0

v0.4.0

24 Jul 07:01

Choose a tag to compare

Disclaimer: Alioth is not an officially supported Google product.

Many thanks to the open source community! Alioth now has 2 users,

  1. moturus/motor-os: simple, fast, and secure operating system built for the cloud
  2. microvm.nix: NixOS MicroVMs, microvm-nix/microvm.nix#256 (WIP)

New features

  • virtio-blk now supports readonly mode: --blk path=/path/to/image,readonly=on|off,
  • virtio-net now supports multi queues: --net queue_pairs=2,...(caveat: all queues are still handled by a single VMM thread, it needs more time to investigate ways to improve virtual network performance),
  • PCI device passthrough with the VFIO/IOMMUFD API: --vfio cdev=/dev/vfio/devices/vfioX,
  • flag --memory to support more options: --memory size=1G,backend=memfd|anon,shared=on|off,transparent_hugepage=on|off,
  • serde-aco deserializer is mostly code-complete,
  • flag --object to support expressing complex values via command line,
  • new doc error-handling.md.

Incoming breaking changes

  • flag --blk /path/to/image should be updated to --blk path=/path/to/image[,readonly=on|off],
  • flag --mem-size x should be updated to --memory size=x if you do not need virtio-fs --fs, otherwise --memory size=x,backend=memfd.

New Contributors

Full Changelog: v0.3.0...v0.4.0