Displaying 20 results from an estimated 31 matches for "virtio_device_endian_unknown".
2014 Nov 26
1
[Qemu-devel] [PATCH RFC v3 05/12] virtio: introduce legacy virtio devices
...virtio/virtio.c b/hw/virtio/virtio.c
> index 2eb5d3c..4149f45 100644
> --- a/hw/virtio/virtio.c
> +++ b/hw/virtio/virtio.c
> @@ -883,7 +883,11 @@ static bool virtio_device_endian_needed(void *opaque)
> VirtIODevice *vdev = opaque;
>
> assert(vdev->device_endian != VIRTIO_DEVICE_ENDIAN_UNKNOWN);
> - return vdev->device_endian != virtio_default_endian();
> + if (virtio_device_is_legacy(vdev)) {
> + return vdev->device_endian != virtio_default_endian();
> + }
> + /* Devices conforming to VIRTIO 1.0 or later are always LE. */
> + return vdev->...
2014 Nov 26
1
[Qemu-devel] [PATCH RFC v3 05/12] virtio: introduce legacy virtio devices
...virtio/virtio.c b/hw/virtio/virtio.c
> index 2eb5d3c..4149f45 100644
> --- a/hw/virtio/virtio.c
> +++ b/hw/virtio/virtio.c
> @@ -883,7 +883,11 @@ static bool virtio_device_endian_needed(void *opaque)
> VirtIODevice *vdev = opaque;
>
> assert(vdev->device_endian != VIRTIO_DEVICE_ENDIAN_UNKNOWN);
> - return vdev->device_endian != virtio_default_endian();
> + if (virtio_device_is_legacy(vdev)) {
> + return vdev->device_endian != virtio_default_endian();
> + }
> + /* Devices conforming to VIRTIO 1.0 or later are always LE. */
> + return vdev->...
2015 Jan 22
1
[Qemu-devel] [PATCH RFC v6 06/20] virtio: endianness checks for virtio 1.0 devices
...irtio/virtio.c b/hw/virtio/virtio.c
> index 7f74ae5..8f69ffa 100644
> --- a/hw/virtio/virtio.c
> +++ b/hw/virtio/virtio.c
> @@ -881,7 +881,11 @@ static bool virtio_device_endian_needed(void *opaque)
> VirtIODevice *vdev = opaque;
>
> assert(vdev->device_endian != VIRTIO_DEVICE_ENDIAN_UNKNOWN);
> - return vdev->device_endian != virtio_default_endian();
> + if (!virtio_has_feature(vdev, VIRTIO_F_VERSION_1)) {
> + return vdev->device_endian != virtio_default_endian();
> + }
> + /* Devices conforming to VIRTIO 1.0 or later are always LE. */
> +...
2015 Jan 22
1
[Qemu-devel] [PATCH RFC v6 06/20] virtio: endianness checks for virtio 1.0 devices
...irtio/virtio.c b/hw/virtio/virtio.c
> index 7f74ae5..8f69ffa 100644
> --- a/hw/virtio/virtio.c
> +++ b/hw/virtio/virtio.c
> @@ -881,7 +881,11 @@ static bool virtio_device_endian_needed(void *opaque)
> VirtIODevice *vdev = opaque;
>
> assert(vdev->device_endian != VIRTIO_DEVICE_ENDIAN_UNKNOWN);
> - return vdev->device_endian != virtio_default_endian();
> + if (!virtio_has_feature(vdev, VIRTIO_F_VERSION_1)) {
> + return vdev->device_endian != virtio_default_endian();
> + }
> + /* Devices conforming to VIRTIO 1.0 or later are always LE. */
> +...
2014 Oct 28
2
[Qemu-devel] [PATCH RFC 05/11] virtio: introduce legacy virtio devices
...virtio/virtio.c b/hw/virtio/virtio.c
> index 7aaa953..e6ae3a0 100644
> --- a/hw/virtio/virtio.c
> +++ b/hw/virtio/virtio.c
> @@ -883,7 +883,11 @@ static bool virtio_device_endian_needed(void *opaque)
> VirtIODevice *vdev = opaque;
>
> assert(vdev->device_endian != VIRTIO_DEVICE_ENDIAN_UNKNOWN);
> - return vdev->device_endian != virtio_default_endian();
> + if (virtio_device_is_legacy(vdev)) {
> + return vdev->device_endian != virtio_default_endian();
> + }
> + /* Devices conforming to VIRTIO 1.0 or later are always LE. */
> + return vdev->...
2014 Oct 28
2
[Qemu-devel] [PATCH RFC 05/11] virtio: introduce legacy virtio devices
...virtio/virtio.c b/hw/virtio/virtio.c
> index 7aaa953..e6ae3a0 100644
> --- a/hw/virtio/virtio.c
> +++ b/hw/virtio/virtio.c
> @@ -883,7 +883,11 @@ static bool virtio_device_endian_needed(void *opaque)
> VirtIODevice *vdev = opaque;
>
> assert(vdev->device_endian != VIRTIO_DEVICE_ENDIAN_UNKNOWN);
> - return vdev->device_endian != virtio_default_endian();
> + if (virtio_device_is_legacy(vdev)) {
> + return vdev->device_endian != virtio_default_endian();
> + }
> + /* Devices conforming to VIRTIO 1.0 or later are always LE. */
> + return vdev->...
2014 Oct 07
0
[PATCH RFC 05/11] virtio: introduce legacy virtio devices
..., 3 deletions(-)
diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
index 7aaa953..e6ae3a0 100644
--- a/hw/virtio/virtio.c
+++ b/hw/virtio/virtio.c
@@ -883,7 +883,11 @@ static bool virtio_device_endian_needed(void *opaque)
VirtIODevice *vdev = opaque;
assert(vdev->device_endian != VIRTIO_DEVICE_ENDIAN_UNKNOWN);
- return vdev->device_endian != virtio_default_endian();
+ if (virtio_device_is_legacy(vdev)) {
+ return vdev->device_endian != virtio_default_endian();
+ }
+ /* Devices conforming to VIRTIO 1.0 or later are always LE. */
+ return vdev->device_endian != VIRTIO_DEVIC...
2014 Nov 26
0
[PATCH RFC v3 05/12] virtio: introduce legacy virtio devices
..., 3 deletions(-)
diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
index 2eb5d3c..4149f45 100644
--- a/hw/virtio/virtio.c
+++ b/hw/virtio/virtio.c
@@ -883,7 +883,11 @@ static bool virtio_device_endian_needed(void *opaque)
VirtIODevice *vdev = opaque;
assert(vdev->device_endian != VIRTIO_DEVICE_ENDIAN_UNKNOWN);
- return vdev->device_endian != virtio_default_endian();
+ if (virtio_device_is_legacy(vdev)) {
+ return vdev->device_endian != virtio_default_endian();
+ }
+ /* Devices conforming to VIRTIO 1.0 or later are always LE. */
+ return vdev->device_endian != VIRTIO_DEVIC...
2014 Dec 11
0
[PATCH RFC v6 06/20] virtio: endianness checks for virtio 1.0 devices
..., 3 deletions(-)
diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
index 7f74ae5..8f69ffa 100644
--- a/hw/virtio/virtio.c
+++ b/hw/virtio/virtio.c
@@ -881,7 +881,11 @@ static bool virtio_device_endian_needed(void *opaque)
VirtIODevice *vdev = opaque;
assert(vdev->device_endian != VIRTIO_DEVICE_ENDIAN_UNKNOWN);
- return vdev->device_endian != virtio_default_endian();
+ if (!virtio_has_feature(vdev, VIRTIO_F_VERSION_1)) {
+ return vdev->device_endian != virtio_default_endian();
+ }
+ /* Devices conforming to VIRTIO 1.0 or later are always LE. */
+ return vdev->device_endian...
2014 Oct 07
0
[PATCH RFC 05/11] virtio: introduce legacy virtio devices
..., 3 deletions(-)
diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
index 7aaa953..e6ae3a0 100644
--- a/hw/virtio/virtio.c
+++ b/hw/virtio/virtio.c
@@ -883,7 +883,11 @@ static bool virtio_device_endian_needed(void *opaque)
VirtIODevice *vdev = opaque;
assert(vdev->device_endian != VIRTIO_DEVICE_ENDIAN_UNKNOWN);
- return vdev->device_endian != virtio_default_endian();
+ if (virtio_device_is_legacy(vdev)) {
+ return vdev->device_endian != virtio_default_endian();
+ }
+ /* Devices conforming to VIRTIO 1.0 or later are always LE. */
+ return vdev->device_endian != VIRTIO_DEVIC...
2014 Nov 26
0
[PATCH RFC v3 05/12] virtio: introduce legacy virtio devices
..., 3 deletions(-)
diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
index 2eb5d3c..4149f45 100644
--- a/hw/virtio/virtio.c
+++ b/hw/virtio/virtio.c
@@ -883,7 +883,11 @@ static bool virtio_device_endian_needed(void *opaque)
VirtIODevice *vdev = opaque;
assert(vdev->device_endian != VIRTIO_DEVICE_ENDIAN_UNKNOWN);
- return vdev->device_endian != virtio_default_endian();
+ if (virtio_device_is_legacy(vdev)) {
+ return vdev->device_endian != virtio_default_endian();
+ }
+ /* Devices conforming to VIRTIO 1.0 or later are always LE. */
+ return vdev->device_endian != VIRTIO_DEVIC...
2014 Dec 11
0
[PATCH RFC v6 06/20] virtio: endianness checks for virtio 1.0 devices
..., 3 deletions(-)
diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
index 7f74ae5..8f69ffa 100644
--- a/hw/virtio/virtio.c
+++ b/hw/virtio/virtio.c
@@ -881,7 +881,11 @@ static bool virtio_device_endian_needed(void *opaque)
VirtIODevice *vdev = opaque;
assert(vdev->device_endian != VIRTIO_DEVICE_ENDIAN_UNKNOWN);
- return vdev->device_endian != virtio_default_endian();
+ if (!virtio_has_feature(vdev, VIRTIO_F_VERSION_1)) {
+ return vdev->device_endian != virtio_default_endian();
+ }
+ /* Devices conforming to VIRTIO 1.0 or later are always LE. */
+ return vdev->device_endian...
2014 Oct 30
1
[Qemu-devel] [PATCH RFC 05/11] virtio: introduce legacy virtio devices
...e3a0 100644
> > > --- a/hw/virtio/virtio.c
> > > +++ b/hw/virtio/virtio.c
> > > @@ -883,7 +883,11 @@ static bool virtio_device_endian_needed(void *opaque)
> > > VirtIODevice *vdev = opaque;
> > >
> > > assert(vdev->device_endian != VIRTIO_DEVICE_ENDIAN_UNKNOWN);
> > > - return vdev->device_endian != virtio_default_endian();
> > > + if (virtio_device_is_legacy(vdev)) {
> > > + return vdev->device_endian != virtio_default_endian();
> > > + }
> > > + /* Devices conforming to VIRTIO 1.0 or...
2014 Oct 30
1
[Qemu-devel] [PATCH RFC 05/11] virtio: introduce legacy virtio devices
...e3a0 100644
> > > --- a/hw/virtio/virtio.c
> > > +++ b/hw/virtio/virtio.c
> > > @@ -883,7 +883,11 @@ static bool virtio_device_endian_needed(void *opaque)
> > > VirtIODevice *vdev = opaque;
> > >
> > > assert(vdev->device_endian != VIRTIO_DEVICE_ENDIAN_UNKNOWN);
> > > - return vdev->device_endian != virtio_default_endian();
> > > + if (virtio_device_is_legacy(vdev)) {
> > > + return vdev->device_endian != virtio_default_endian();
> > > + }
> > > + /* Devices conforming to VIRTIO 1.0 or...
2014 Oct 30
0
[Qemu-devel] [PATCH RFC 05/11] virtio: introduce legacy virtio devices
...c
> > index 7aaa953..e6ae3a0 100644
> > --- a/hw/virtio/virtio.c
> > +++ b/hw/virtio/virtio.c
> > @@ -883,7 +883,11 @@ static bool virtio_device_endian_needed(void *opaque)
> > VirtIODevice *vdev = opaque;
> >
> > assert(vdev->device_endian != VIRTIO_DEVICE_ENDIAN_UNKNOWN);
> > - return vdev->device_endian != virtio_default_endian();
> > + if (virtio_device_is_legacy(vdev)) {
> > + return vdev->device_endian != virtio_default_endian();
> > + }
> > + /* Devices conforming to VIRTIO 1.0 or later are always LE. */...
2014 Dec 11
0
[PATCH RFC v6 03/20] virtio: feature bit manipulation helpers
...*features |= (1 << fbit);
+}
+
+static inline void virtio_clear_feature(uint32_t *features, unsigned int fbit)
+{
+ assert(fbit < 32);
+ *features &= ~(1 << fbit);
+}
+
static inline bool virtio_is_big_endian(VirtIODevice *vdev)
{
assert(vdev->device_endian != VIRTIO_DEVICE_ENDIAN_UNKNOWN);
--
1.7.9.5
2014 Dec 11
0
[PATCH RFC v6 03/20] virtio: feature bit manipulation helpers
...*features |= (1 << fbit);
+}
+
+static inline void virtio_clear_feature(uint32_t *features, unsigned int fbit)
+{
+ assert(fbit < 32);
+ *features &= ~(1 << fbit);
+}
+
static inline bool virtio_is_big_endian(VirtIODevice *vdev)
{
assert(vdev->device_endian != VIRTIO_DEVICE_ENDIAN_UNKNOWN);
--
1.7.9.5
2014 Nov 26
15
[PATCH RFC v3 00/12] qemu: towards virtio-1 host support
Next version of virtio-1 patches for qemu.
Only change from v2 is splitting out the vring accessors into a
separate header file - should hopefully fix the build issues.
Cornelia Huck (9):
virtio: cull virtio_bus_set_vdev_features
virtio: support more feature bits
s390x/virtio-ccw: fix check for WRITE_FEAT
virtio: introduce legacy virtio devices
virtio: allow virtio-1 queue layout
2014 Nov 26
15
[PATCH RFC v3 00/12] qemu: towards virtio-1 host support
Next version of virtio-1 patches for qemu.
Only change from v2 is splitting out the vring accessors into a
separate header file - should hopefully fix the build issues.
Cornelia Huck (9):
virtio: cull virtio_bus_set_vdev_features
virtio: support more feature bits
s390x/virtio-ccw: fix check for WRITE_FEAT
virtio: introduce legacy virtio devices
virtio: allow virtio-1 queue layout
2014 Oct 07
18
[PATCH RFC 00/11] qemu: towards virtio-1 host support
This patchset aims to get us some way to implement virtio-1 compliant
and transitional devices in qemu. Branch available at
git://github.com/cohuck/qemu virtio-1
I've mainly focused on:
- endianness handling
- extended feature bits
- virtio-ccw new/changed commands
Thanks go to Thomas for some preliminary work in this area.
I've been able to start guests both with and without the