Displaying 6 results from an estimated 6 matches for "target_big_endian".
2015 Mar 11
1
[Qemu-ppc] [PATCH] virtio-pci: fix host notifiers on bi-endian architectures
...gt; > +static uint16_t cpu_to_host_notifier16(VirtIODevice *vdev, uint16_t val)
> > > +{
> > > + return virtio_is_big_endian(vdev) ? val : bswap16(val);
> > > +}
But but but ... The above ... won't it do things like break x86 ? Ie,
shouldn't we swap only if TARGET_BIG_ENDIAN and !virtio_is_big_endian ?
Or better, "fixed target endian" ^ "virtio endian" to cover all cases ?
Cheers,
Ben.
> > > static int virtio_pci_set_host_notifier_internal(VirtIOPCIProxy *proxy,
> > > int n, bool...
2015 Mar 11
1
[Qemu-ppc] [PATCH] virtio-pci: fix host notifiers on bi-endian architectures
...gt; > +static uint16_t cpu_to_host_notifier16(VirtIODevice *vdev, uint16_t val)
> > > +{
> > > + return virtio_is_big_endian(vdev) ? val : bswap16(val);
> > > +}
But but but ... The above ... won't it do things like break x86 ? Ie,
shouldn't we swap only if TARGET_BIG_ENDIAN and !virtio_is_big_endian ?
Or better, "fixed target endian" ^ "virtio endian" to cover all cases ?
Cheers,
Ben.
> > > static int virtio_pci_set_host_notifier_internal(VirtIOPCIProxy *proxy,
> > > int n, bool...
2015 Mar 11
4
[PATCH] virtio-pci: fix host notifiers on bi-endian architectures
On Wed, 11 Mar 2015 21:06:05 +0100
"Michael S. Tsirkin" <mst at redhat.com> wrote:
> On Wed, Mar 11, 2015 at 07:04:38PM +0100, Greg Kurz wrote:
> > vhost is seriously broken with ppc64le guests, even in the supposedly
> > supported case where the host is ppc64le and we don't need cross-endian
> > support.
> >
> > The TX virtqueue fails to be
2015 Mar 11
4
[PATCH] virtio-pci: fix host notifiers on bi-endian architectures
On Wed, 11 Mar 2015 21:06:05 +0100
"Michael S. Tsirkin" <mst at redhat.com> wrote:
> On Wed, Mar 11, 2015 at 07:04:38PM +0100, Greg Kurz wrote:
> > vhost is seriously broken with ppc64le guests, even in the supposedly
> > supported case where the host is ppc64le and we don't need cross-endian
> > support.
> >
> > The TX virtqueue fails to be
2015 Mar 11
0
[Qemu-ppc] [PATCH] virtio-pci: fix host notifiers on bi-endian architectures
...to_host_notifier16(VirtIODevice *vdev, uint16_t val)
> > > > +{
> > > > + return virtio_is_big_endian(vdev) ? val : bswap16(val);
> > > > +}
>
> But but but ... The above ... won't it do things like break x86 ? Ie,
> shouldn't we swap only if TARGET_BIG_ENDIAN and !virtio_is_big_endian ?
> Or better, "fixed target endian" ^ "virtio endian" to cover all cases ?
>
Yeah you're right, it's a mess :)
To avoid virtio-pci.o being built per target, we can use virtio_default_endian()
instead (to be exported from virtio.c):
re...
2015 Mar 11
0
[Qemu-ppc] [PATCH] virtio-pci: fix host notifiers on bi-endian architectures
...to_host_notifier16(VirtIODevice *vdev, uint16_t val)
> > > > +{
> > > > + return virtio_is_big_endian(vdev) ? val : bswap16(val);
> > > > +}
>
> But but but ... The above ... won't it do things like break x86 ? Ie,
> shouldn't we swap only if TARGET_BIG_ENDIAN and !virtio_is_big_endian ?
> Or better, "fixed target endian" ^ "virtio endian" to cover all cases ?
>
Yeah you're right, it's a mess :)
To avoid virtio-pci.o being built per target, we can use virtio_default_endian()
instead (to be exported from virtio.c):
re...