qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH RFC 8/8] virtio: add endian-ambivalent support t


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH RFC 8/8] virtio: add endian-ambivalent support to VirtIODevice
Date: Thu, 12 Jun 2014 11:19:47 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0

Il 12/06/2014 11:06, Greg Kurz ha scritto:
On Thu, 12 Jun 2014 10:55:42 +0200
Paolo Bonzini <address@hidden> wrote:

Il 12/06/2014 09:43, Greg Kurz ha scritto:
Since we know that 0 < max_nr_ports < 32,  is it acceptable to guess
the correct endianness with a heuristic ?

if (max_nr_ports > tswap32(s->config.max_nr_ports)) {
        max_nr_ports = bswap32(max_nr_ports);
}

if (max_nr_ports > tswap32(s->config.max_nr_ports)) {
        return -EINVAL;
}

Yes, I guess it is acceptable.  So first you should fix the code to
always serialize fields as big-endian, and then apply this little hack
and virtio_tswap on top of the previous change.

BTW, can someone explain why we stream the device config ?

For max_nr_ports it is useless indeed. Let's keep storing it for backwards compatibility, but you can remove its load.

The cols and rows values should be defined by the host and thus could even change on migration, there is no need to store them. As of now, however, they are unused in QEMU and should always be zero, because VIRTIO_CONSOLE_F_SIZE is not supported.

Paolo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]