You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Virtualiser ownership bug:
Currently if you play audio in a client VM then immediately stop the stream (CTRL+C) the virtualiser it sometimes errors saying "invalid owner id -1". This is probably something to do with it getting released before all frames have been responded to. Note you need to play a long sound file (e.g., cantina.c from old commit) to get this to appear.
WFI Interrupt:
I have implemented a prototype implementation which handles aarch64's "wait for interrupt" instruction to suspend the VM until a notification is recieved (on https://github.com/au-ts/libvmm/tree/virtio_snd_wfi). Currently the VMM gets a WFI but never gets a notification to wake the VM. This needs to be investigated.
Benchmarking:
I implemented a benchmark which measures CPU usage of a native client client, virtualiser and driver VM (on https://github.com/au-ts/libvmm/tree/virtio_snd_bench). This needs to be redone with WFI interrupt handling.
Passthrough IRQ 5: snd_driver_vmm.c contains passthrough IRQ 5. We are not sure what this is but Linux doesn't boot without it.
Use libuio:
The userlevel driver doesn't use our UIO library at the moment. It may need some modifications to integrate.
Additional virtIO sound features:
We currently don't support virtIO sound features such as the event queue, jacks or channel maps. This should be investigated.
Generic queues (ivanv):
I don't like that we have multiple generic queue implementations, would be good to avoid if possible.
Userlevel program compilation:
We currently use zig cc to build userlevel programs as I have been unable to get aarch64-linux-gnu-gcc or clang to work on macOS with Nix. Ideally zig wouldn't be a requirement.
CI simulation
It would be good if the virtio-snd example was run and tested in the CI. A possible solution is described here ci: add virtio-snd building #87 (comment)
The text was updated successfully, but these errors were encountered:
Future TODOs following this PR #37
Merge
examples/virtio-snd
withexamples/virtio
.Tracking issue: Merge virtIO and virtIO sound examples together #60. This will involve multiplexing the shared bus on the OdroidC4.
Virtualiser ownership bug:
Currently if you play audio in a client VM then immediately stop the stream (CTRL+C) the virtualiser it sometimes errors saying "invalid owner id -1". This is probably something to do with it getting released before all frames have been responded to. Note you need to play a long sound file (e.g.,
cantina.c
from old commit) to get this to appear.WFI Interrupt:
I have implemented a prototype implementation which handles aarch64's "wait for interrupt" instruction to suspend the VM until a notification is recieved (on https://github.com/au-ts/libvmm/tree/virtio_snd_wfi). Currently the VMM gets a WFI but never gets a notification to wake the VM. This needs to be investigated.
Benchmarking:
I implemented a benchmark which measures CPU usage of a native client client, virtualiser and driver VM (on https://github.com/au-ts/libvmm/tree/virtio_snd_bench). This needs to be redone with WFI interrupt handling.
Passthrough IRQ 5:
snd_driver_vmm.c
contains passthrough IRQ 5. We are not sure what this is but Linux doesn't boot without it.Use libuio:
The userlevel driver doesn't use our UIO library at the moment. It may need some modifications to integrate.
Additional virtIO sound features:
We currently don't support virtIO sound features such as the event queue, jacks or channel maps. This should be investigated.
Generic queues (ivanv):
I don't like that we have multiple generic queue implementations, would be good to avoid if possible.
Userlevel program compilation:
We currently use
zig cc
to build userlevel programs as I have been unable to getaarch64-linux-gnu-gcc
orclang
to work on macOS with Nix. Ideallyzig
wouldn't be a requirement.CI simulation
It would be good if the virtio-snd example was run and tested in the CI. A possible solution is described here ci: add virtio-snd building #87 (comment)
The text was updated successfully, but these errors were encountered: