On Fri, 13 Sep 2019 14:06:01 +0200 Sergio Lopez <[email protected]> wrote:
> Implement the modern (v2) personality, according to the VirtIO 1.0 > specification. > > Support for v2 among guests is not as widespread as it'd be > desirable. While the Linux driver has had it for a while, support is > missing, at least, from Tianocore EDK II, NetBSD and FreeBSD. > > For this reason, the v2 personality is disabled, keeping the legacy > behavior as default. Machine types willing to use v2, can enable it > using MachineClass's compat_props. > > Signed-off-by: Sergio Lopez <[email protected]> > --- > Changelog: > > v3: > - Use %HWADDR_PRIx instead of %x. (Stefan Hajnoczi) > - Return 0 if host_features_sel > 0 for legacy mode. (Cornelia Huck) > - Mask out legacy features in non-legacy mode. (Cornelia Huck) > - Log an error in guest attempts to write guest_features with > guest_features_sel > 0 in legacy mode. (Cornelia Huck) > > v2: > - Switch from RFC to PATCH. > - Avoid the modern vs. legacy dichotomy. Use legacy or non-legacy > instead. (Andrea Bolognani, Cornelia Huck) > - Include the register offset in the warning messages. (Stefan > Hajnoczi) > - Fix device endianness for the non-legacy mode. (Michael S. Tsirkin) > - Honor the specs in VIRTIO_MMIO_QUEUE_READY. (Michael S. Tsirkin) > --- > hw/virtio/virtio-mmio.c | 342 +++++++++++++++++++++++++++++++++++++--- > 1 file changed, 319 insertions(+), 23 deletions(-) > Looks good to me now. Reviewed-by: Cornelia Huck <[email protected]>
