Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhancements #36

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Enhancements #36

wants to merge 2 commits into from

Conversation

jandryuk
Copy link
Contributor

@jandryuk jandryuk commented Feb 1, 2024

Two separate enhancements.

The first switches the PV passthrough from the guest to instead passtrough to the stubdom. openxt-vusb can be installed in the stubdom, and then QEMU emulation can get the device into the guest.

The second expands the policy to allow a new "running" rule. The use case is you have N VMs, but you only run one at a time. You want the USB device to get passed through at bootup or hotplug to whichever one VM is running. The existing rules wouldn't allow that.

We allow overloading the pv-addons-version to 'force-emulate' to attach
the USB device to the stubdom.  The stubdom can then use the emulated
USB to passthrough the device.

This is a step toward allowing USB passthrough without pv addons.

Signed-off-by: Jason Andryuk <[email protected]>
A 'running' rule will check for matching devices and VMs, but only apply
the rule to the first running VM found in policy search order.  It
will skip the assignment for shutdown VMs.

*This is a change from the previous first match only configuration.*

Prior to this new command, boot-time plugging devices required an
'always' or 'default' rule with a vm uuid.  However, that meant that
only the first entry in usb-rules would work for hotplug a device after
boot - a second VM could not be matched.

A generic 'allow' rule for a device would hotplug to any VM, but it
would not attach on boot.

The new rule will allow handling rules for the same vid:pid, but with
differing uuids.  The first match rule meant rule search would stop on
whichever VM came first.  Here we want to skip rules for non-running
VMs so the Nth VM can get the device assignment if it is running and the
others are not.

Signed-off-by: Jason Andryuk <[email protected]>
@dpsmith dpsmith requested a review from crogers1 September 20, 2024 15:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant