Virtio aware Xen model for QEMU for testing additional devices

Description

The current proposal for virtio support in Xen currently comes with a standalone DEMU based IOREQ server for virtio-block devices. As we want to develop a multitude of virtio based devices we want to implement a new Xen aware machine model for QEMU which can be wired up to accept the IOREQ requests for any virtio-mmio devices that can be currently handled by QEMU.

As the way Xen and QEMU interact differs from the other hypervisors we also need to come up with some sort of way for Xen to define what the virtio-mmio devices are and pass the relevant information to QEMU. There is already IOREQ functionality in QEMU for supporting HVM machines so this should mostly be re-plumbing support in the QEMU build.

QEMU should also be able to act as the stub setup to pass IOREQ events to a separate vhost-user daemon as a stepping stone to a future Xen aware vhost-user stub program.

Deliverables

  • QEMU -m xenvirt model

  • Expanding Xen tooling to specify additional virtio-mmio buses and
    instantiate on QEMU

  • Allow QEMU to pass through IOREQs to vhost-user daemons

Out of Scope (Optional)

  • A standalone Xen/vhost-user stub is for future cards

Risks and Assumptions (Optional)

  • Risk - Mitigation

  • Assumptions

Acceptance Criteria Example and Notes (Optional)

Criteria

Status

Closeout Notes/Links

Upstream -m xenvirt to QEMU

 

Make Xen tools aware of QEMU -m xenvirt

 

 

 

 

Legend:

Done, Not Done, Doesn't apply (note the reason)

 

Checklist

Activity

Julianus Larson 
March 6, 2023 at 3:19 PM

We have VirtIO working on Xen now, other stuff will be handled with specific cards in other projects.

Alex Bennée 
December 16, 2020 at 1:38 PM

Setting for next cycle as I think it would be a useful development tool however it might not be something that can be worked on outside of Linaro as it involves QEMU.

Out Of Scope

Details

Assignee

Reporter

Original estimate

Time tracking

No time logged12w remaining

Fix versions

Priority

Checklist

Sentry

Created October 28, 2020 at 7:59 PM
Updated March 6, 2023 at 3:19 PM
Resolved March 6, 2023 at 3:19 PM