* [PATCH 0/4] iotests: fix failures with non-PCI machines
@ 2021-03-18 22:39 Laurent Vivier
2021-03-18 22:39 ` [PATCH 1/4] m68k: add the virtio devices aliases Laurent Vivier
` (3 more replies)
0 siblings, 4 replies; 16+ messages in thread
From: Laurent Vivier @ 2021-03-18 22:39 UTC (permalink / raw)
To: qemu-devel
Cc: Kevin Wolf, Peter Maydell, Thomas Huth, Daniel P. Berrangé,
Eduardo Habkost, qemu-block, Cornelia Huck, Markus Armbruster,
Max Reitz, qemu-s390x, Paolo Bonzini, Philippe Mathieu-Daudé,
Laurent Vivier
Tests are executed using virtio-*-pci even on a non PCI machine.
The problem can be easily fixed using the virtio aliases
(virtio-*), to run virtio-*-ccw on s390x and virtio-*-device on
m68k.
A first attempt was tried with virtio-*-ccw by detecting
the machine type, this series removes it to use the aliases that
are a cleaner approach.
Laurent Vivier (4):
m68k: add the virtio devices aliases
iotests: Revert "iotests: use -ccw on s390x for 040, 139, and 182"
iotests: test m68k with the virt machine
iotests: iothreads need ioeventfd
blockdev.c | 6 +----
softmmu/qdev-monitor.c | 46 +++++++++++++++++++++++------------
tests/qemu-iotests/040 | 2 +-
tests/qemu-iotests/051 | 12 +--------
tests/qemu-iotests/068 | 4 +--
tests/qemu-iotests/093 | 3 +--
tests/qemu-iotests/127 | 4 +--
tests/qemu-iotests/139 | 9 ++-----
tests/qemu-iotests/182 | 13 ++--------
tests/qemu-iotests/238 | 4 +--
tests/qemu-iotests/240 | 10 ++++----
tests/qemu-iotests/256 | 2 ++
tests/qemu-iotests/257 | 4 +--
tests/qemu-iotests/307 | 4 +--
tests/qemu-iotests/iotests.py | 10 ++++----
tests/qemu-iotests/testenv.py | 1 +
16 files changed, 58 insertions(+), 76 deletions(-)
--
2.30.2
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 1/4] m68k: add the virtio devices aliases
2021-03-18 22:39 [PATCH 0/4] iotests: fix failures with non-PCI machines Laurent Vivier
@ 2021-03-18 22:39 ` Laurent Vivier
2021-03-18 22:51 ` Philippe Mathieu-Daudé
` (2 more replies)
2021-03-18 22:39 ` [PATCH 2/4] iotests: Revert "iotests: use -ccw on s390x for 040, 139, and 182" Laurent Vivier
` (2 subsequent siblings)
3 siblings, 3 replies; 16+ messages in thread
From: Laurent Vivier @ 2021-03-18 22:39 UTC (permalink / raw)
To: qemu-devel
Cc: Kevin Wolf, Peter Maydell, Thomas Huth, Daniel P. Berrangé,
Eduardo Habkost, qemu-block, Cornelia Huck, Markus Armbruster,
Max Reitz, qemu-s390x, Paolo Bonzini, Philippe Mathieu-Daudé,
Laurent Vivier
Similarly to 5f629d943cb0 ("s390x: fix s390 virtio aliases"),
define the virtio aliases.
This allows to start machines with virtio devices without
knowledge of the implementation type.
For instance, we can use "-device virtio-scsi" on
m68k, s390x or PC, and the device will be
"virtio-scsi-device", "virtio-scsi-ccw" or "virtio-scsi-pci".
This already exists for s390x and -ccw interfaces, adds them
for m68k and MMIO (-device) interfaces.
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
softmmu/qdev-monitor.c | 46 +++++++++++++++++++++++++++---------------
1 file changed, 30 insertions(+), 16 deletions(-)
diff --git a/softmmu/qdev-monitor.c b/softmmu/qdev-monitor.c
index 8dc656becca9..262d38b8c01e 100644
--- a/softmmu/qdev-monitor.c
+++ b/softmmu/qdev-monitor.c
@@ -42,6 +42,8 @@
#include "hw/qdev-properties.h"
#include "hw/clock.h"
+#define QEMU_ARCH_NO_PCI (QEMU_ARCH_S390X | QEMU_ARCH_M68K)
+
/*
* Aliases were a bad idea from the start. Let's keep them
* from spreading further.
@@ -60,34 +62,46 @@ static const QDevAlias qdev_alias_table[] = {
{ "ES1370", "es1370" }, /* -soundhw name */
{ "ich9-ahci", "ahci" },
{ "lsi53c895a", "lsi" },
+ { "virtio-9p-device", "virtio-9p", QEMU_ARCH_M68K },
{ "virtio-9p-ccw", "virtio-9p", QEMU_ARCH_S390X },
- { "virtio-9p-pci", "virtio-9p", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
+ { "virtio-9p-pci", "virtio-9p", QEMU_ARCH_ALL & ~QEMU_ARCH_NO_PCI },
+ { "virtio-balloon-device", "virtio-balloon", QEMU_ARCH_M68K },
{ "virtio-balloon-ccw", "virtio-balloon", QEMU_ARCH_S390X },
- { "virtio-balloon-pci", "virtio-balloon",
- QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
+ { "virtio-balloon-pci", "virtio-balloon", QEMU_ARCH_ALL &
+ ~QEMU_ARCH_NO_PCI },
+ { "virtio-blk-device", "virtio-blk", QEMU_ARCH_M68K },
{ "virtio-blk-ccw", "virtio-blk", QEMU_ARCH_S390X },
- { "virtio-blk-pci", "virtio-blk", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
+ { "virtio-blk-pci", "virtio-blk", QEMU_ARCH_ALL & ~QEMU_ARCH_NO_PCI },
{ "virtio-gpu-ccw", "virtio-gpu", QEMU_ARCH_S390X },
- { "virtio-gpu-pci", "virtio-gpu", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
+ { "virtio-gpu-device", "virtio-gpu", QEMU_ARCH_M68K },
+ { "virtio-gpu-pci", "virtio-gpu", QEMU_ARCH_ALL & ~QEMU_ARCH_NO_PCI },
+ { "virtio-input-host-device", "virtio-input-host", QEMU_ARCH_M68K },
{ "virtio-input-host-ccw", "virtio-input-host", QEMU_ARCH_S390X },
- { "virtio-input-host-pci", "virtio-input-host",
- QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
- { "virtio-iommu-pci", "virtio-iommu", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
+ { "virtio-input-host-pci", "virtio-input-host", QEMU_ARCH_ALL &
+ ~QEMU_ARCH_NO_PCI },
+ { "virtio-iommu-pci", "virtio-iommu", QEMU_ARCH_ALL & ~QEMU_ARCH_NO_PCI },
+ { "virtio-keyboard-device", "virtio-keyboard", QEMU_ARCH_M68K },
{ "virtio-keyboard-ccw", "virtio-keyboard", QEMU_ARCH_S390X },
- { "virtio-keyboard-pci", "virtio-keyboard",
- QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
+ { "virtio-keyboard-pci", "virtio-keyboard", QEMU_ARCH_ALL &
+ ~QEMU_ARCH_NO_PCI },
+ { "virtio-mouse-device", "virtio-mouse", QEMU_ARCH_M68K },
{ "virtio-mouse-ccw", "virtio-mouse", QEMU_ARCH_S390X },
- { "virtio-mouse-pci", "virtio-mouse", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
+ { "virtio-mouse-pci", "virtio-mouse", QEMU_ARCH_ALL & ~QEMU_ARCH_NO_PCI },
+ { "virtio-net-device", "virtio-net", QEMU_ARCH_M68K },
{ "virtio-net-ccw", "virtio-net", QEMU_ARCH_S390X },
- { "virtio-net-pci", "virtio-net", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
+ { "virtio-net-pci", "virtio-net", QEMU_ARCH_ALL & ~QEMU_ARCH_NO_PCI },
+ { "virtio-rng-device", "virtio-rng", QEMU_ARCH_M68K },
{ "virtio-rng-ccw", "virtio-rng", QEMU_ARCH_S390X },
- { "virtio-rng-pci", "virtio-rng", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
+ { "virtio-rng-pci", "virtio-rng", QEMU_ARCH_ALL & ~QEMU_ARCH_NO_PCI },
+ { "virtio-scsi-device", "virtio-scsi", QEMU_ARCH_M68K },
{ "virtio-scsi-ccw", "virtio-scsi", QEMU_ARCH_S390X },
- { "virtio-scsi-pci", "virtio-scsi", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
+ { "virtio-scsi-pci", "virtio-scsi", QEMU_ARCH_ALL & ~QEMU_ARCH_NO_PCI },
+ { "virtio-serial-device", "virtio-serial", QEMU_ARCH_M68K },
{ "virtio-serial-ccw", "virtio-serial", QEMU_ARCH_S390X },
- { "virtio-serial-pci", "virtio-serial", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
+ { "virtio-serial-pci", "virtio-serial", QEMU_ARCH_ALL & ~QEMU_ARCH_NO_PCI},
+ { "virtio-tablet-device", "virtio-tablet", QEMU_ARCH_M68K },
{ "virtio-tablet-ccw", "virtio-tablet", QEMU_ARCH_S390X },
- { "virtio-tablet-pci", "virtio-tablet", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
+ { "virtio-tablet-pci", "virtio-tablet", QEMU_ARCH_ALL & ~QEMU_ARCH_NO_PCI },
{ }
};
--
2.30.2
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 2/4] iotests: Revert "iotests: use -ccw on s390x for 040, 139, and 182"
2021-03-18 22:39 [PATCH 0/4] iotests: fix failures with non-PCI machines Laurent Vivier
2021-03-18 22:39 ` [PATCH 1/4] m68k: add the virtio devices aliases Laurent Vivier
@ 2021-03-18 22:39 ` Laurent Vivier
2021-03-19 10:39 ` Philippe Mathieu-Daudé
2021-03-19 11:43 ` Cornelia Huck
2021-03-18 22:39 ` [PATCH 3/4] iotests: test m68k with the virt machine Laurent Vivier
2021-03-18 22:39 ` [PATCH 4/4] iotests: iothreads need ioeventfd Laurent Vivier
3 siblings, 2 replies; 16+ messages in thread
From: Laurent Vivier @ 2021-03-18 22:39 UTC (permalink / raw)
To: qemu-devel
Cc: Kevin Wolf, Peter Maydell, Thomas Huth, Daniel P. Berrangé,
Eduardo Habkost, qemu-block, Cornelia Huck, Markus Armbruster,
Max Reitz, qemu-s390x, Paolo Bonzini, Philippe Mathieu-Daudé,
Laurent Vivier
Commit f1d5516ab583 introduces a test in some iotests to check if
the machine is a s390-ssw-virtio and to select virtio-*-ccw rather
than virtio-*-pci.
We don't need that because QEMU already provides aliases to use the correct
virtio interface according to the machine type.
This patch removes all virtio-*-pci and virtio-*-ccw to use virtio-*
instead.
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
cc: Cornelia Huck <cohuck@redhat.com>
---
blockdev.c | 6 +-----
tests/qemu-iotests/040 | 2 +-
tests/qemu-iotests/051 | 12 +-----------
tests/qemu-iotests/068 | 4 +---
tests/qemu-iotests/093 | 3 +--
tests/qemu-iotests/139 | 9 ++-------
tests/qemu-iotests/182 | 13 ++-----------
tests/qemu-iotests/238 | 4 +---
tests/qemu-iotests/240 | 10 +++++-----
tests/qemu-iotests/257 | 4 ++--
tests/qemu-iotests/307 | 4 +---
tests/qemu-iotests/iotests.py | 5 -----
12 files changed, 18 insertions(+), 58 deletions(-)
diff --git a/blockdev.c b/blockdev.c
index 5cc7c7effe9f..64da5350e3ad 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -969,11 +969,7 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type,
QemuOpts *devopts;
devopts = qemu_opts_create(qemu_find_opts("device"), NULL, 0,
&error_abort);
- if (arch_type == QEMU_ARCH_S390X) {
- qemu_opt_set(devopts, "driver", "virtio-blk-ccw", &error_abort);
- } else {
- qemu_opt_set(devopts, "driver", "virtio-blk-pci", &error_abort);
- }
+ qemu_opt_set(devopts, "driver", "virtio-blk", &error_abort);
qemu_opt_set(devopts, "drive", qdict_get_str(bs_opts, "id"),
&error_abort);
}
diff --git a/tests/qemu-iotests/040 b/tests/qemu-iotests/040
index 336ff7c4f2ab..ba7cb34ce8cf 100755
--- a/tests/qemu-iotests/040
+++ b/tests/qemu-iotests/040
@@ -89,7 +89,7 @@ class TestSingleDrive(ImageCommitTestCase):
qemu_io('-f', 'raw', '-c', 'write -P 0xab 0 524288', backing_img)
qemu_io('-f', iotests.imgfmt, '-c', 'write -P 0xef 524288 524288', mid_img)
self.vm = iotests.VM().add_drive(test_img, "node-name=top,backing.node-name=mid,backing.backing.node-name=base", interface="none")
- self.vm.add_device(iotests.get_virtio_scsi_device())
+ self.vm.add_device('virtio-scsi')
self.vm.add_device("scsi-hd,id=scsi0,drive=drive0")
self.vm.launch()
self.has_quit = False
diff --git a/tests/qemu-iotests/051 b/tests/qemu-iotests/051
index 7cbd1415ce7b..00382cc55e25 100755
--- a/tests/qemu-iotests/051
+++ b/tests/qemu-iotests/051
@@ -119,17 +119,7 @@ echo
echo === Device without drive ===
echo
-case "$QEMU_DEFAULT_MACHINE" in
- s390-ccw-virtio)
- virtio_scsi=virtio-scsi-ccw
- ;;
- *)
- virtio_scsi=virtio-scsi-pci
- ;;
-esac
-
-run_qemu -device $virtio_scsi -device scsi-hd |
- sed -e "s/$virtio_scsi/VIRTIO_SCSI/"
+run_qemu -device virtio-scsi -device scsi-hd
echo
echo === Overriding backing file ===
diff --git a/tests/qemu-iotests/068 b/tests/qemu-iotests/068
index 03e03508a6e2..54e49c8ffab1 100755
--- a/tests/qemu-iotests/068
+++ b/tests/qemu-iotests/068
@@ -49,11 +49,9 @@ IMG_SIZE=128K
case "$QEMU_DEFAULT_MACHINE" in
s390-ccw-virtio)
platform_parm="-no-shutdown"
- hba=virtio-scsi-ccw
;;
*)
platform_parm=""
- hba=virtio-scsi-pci
;;
esac
@@ -61,7 +59,7 @@ _qemu()
{
$QEMU $platform_parm -nographic -monitor stdio -serial none \
-drive if=none,id=drive0,file="$TEST_IMG",format="$IMGFMT" \
- -device $hba,id=hba0 \
+ -device virtio-scsi,id=hba0 \
-device scsi-hd,drive=drive0 \
"$@" |\
_filter_qemu | _filter_hmp
diff --git a/tests/qemu-iotests/093 b/tests/qemu-iotests/093
index 7745cb04b611..93274dc8cbde 100755
--- a/tests/qemu-iotests/093
+++ b/tests/qemu-iotests/093
@@ -371,8 +371,7 @@ class ThrottleTestGroupNames(iotests.QMPTestCase):
class ThrottleTestRemovableMedia(iotests.QMPTestCase):
def setUp(self):
self.vm = iotests.VM()
- self.vm.add_device("{},id=virtio-scsi".format(
- iotests.get_virtio_scsi_device()))
+ self.vm.add_device("{},id=virtio-scsi".format('virtio-scsi'))
self.vm.launch()
def tearDown(self):
diff --git a/tests/qemu-iotests/139 b/tests/qemu-iotests/139
index e79b3c21fdce..178b1ee230ca 100755
--- a/tests/qemu-iotests/139
+++ b/tests/qemu-iotests/139
@@ -26,18 +26,13 @@ import time
base_img = os.path.join(iotests.test_dir, 'base.img')
new_img = os.path.join(iotests.test_dir, 'new.img')
-if iotests.qemu_default_machine == 's390-ccw-virtio':
- default_virtio_blk = 'virtio-blk-ccw'
-else:
- default_virtio_blk = 'virtio-blk-pci'
class TestBlockdevDel(iotests.QMPTestCase):
def setUp(self):
iotests.qemu_img('create', '-f', iotests.imgfmt, base_img, '1M')
self.vm = iotests.VM()
- self.vm.add_device("{},id=virtio-scsi".format(
- iotests.get_virtio_scsi_device()))
+ self.vm.add_device("{},id=virtio-scsi".format('virtio-scsi'))
self.vm.launch()
def tearDown(self):
@@ -93,7 +88,7 @@ class TestBlockdevDel(iotests.QMPTestCase):
self.checkBlockDriverState(node, expect_error)
# Add a device model
- def addDeviceModel(self, device, backend, driver = default_virtio_blk):
+ def addDeviceModel(self, device, backend, driver = 'virtio-blk'):
result = self.vm.qmp('device_add', id = device,
driver = driver, drive = backend)
self.assert_qmp(result, 'return', {})
diff --git a/tests/qemu-iotests/182 b/tests/qemu-iotests/182
index 55a0384c0873..fcd1d796ebd0 100755
--- a/tests/qemu-iotests/182
+++ b/tests/qemu-iotests/182
@@ -46,26 +46,17 @@ _supported_proto file
size=32M
-case "$QEMU_DEFAULT_MACHINE" in
- s390-ccw-virtio)
- virtioblk=virtio-blk-ccw
- ;;
- *)
- virtioblk=virtio-blk-pci
- ;;
-esac
-
_make_test_img $size
echo "Starting QEMU"
_launch_qemu -drive file=$TEST_IMG,if=none,id=drive0,file.locking=on \
- -device $virtioblk,drive=drive0
+ -device virtio-blk,drive=drive0
echo
echo "Starting a second QEMU using the same image should fail"
echo 'quit' | $QEMU -nographic -monitor stdio \
-drive file=$TEST_IMG,if=none,id=drive0,file.locking=on \
- -device $virtioblk,drive=drive0 2>&1 | _filter_testdir 2>&1 |
+ -device virtio-blk,drive=drive0 2>&1 | _filter_testdir 2>&1 |
_filter_qemu |
sed -e '/falling back to POSIX file/d' \
-e '/locks can be lost unexpectedly/d'
diff --git a/tests/qemu-iotests/238 b/tests/qemu-iotests/238
index 8a10af57f17c..38bd3744e68c 100755
--- a/tests/qemu-iotests/238
+++ b/tests/qemu-iotests/238
@@ -26,14 +26,12 @@ from iotests import log
iotests.script_initialize()
-virtio_scsi_device = iotests.get_virtio_scsi_device()
-
vm = iotests.VM()
vm.launch()
log(vm.qmp('blockdev-add', node_name='hd0', driver='null-co', read_zeroes=True))
log(vm.qmp('object-add', qom_type='iothread', id='iothread0'))
-log(vm.qmp('device_add', id='scsi0', driver=virtio_scsi_device, iothread='iothread0'))
+log(vm.qmp('device_add', id='scsi0', driver='virtio-scsi', iothread='iothread0'))
log(vm.qmp('device_add', id='scsi-hd0', driver='scsi-hd', drive='hd0'))
log(vm.qmp('block_set_io_throttle', id='scsi-hd0', bps=0, bps_rd=0, bps_wr=0,
iops=1000, iops_rd=0, iops_wr=0, conv_keys=False))
diff --git a/tests/qemu-iotests/240 b/tests/qemu-iotests/240
index ab077f4ceb01..9b281e1dc036 100755
--- a/tests/qemu-iotests/240
+++ b/tests/qemu-iotests/240
@@ -42,7 +42,7 @@ class TestCase(iotests.QMPTestCase):
iotests.log('==Unplug a SCSI disk and then plug it again==')
self.vm.qmp_log('blockdev-add', driver='null-co', read_zeroes=True, node_name='hd0')
self.vm.qmp_log('object-add', qom_type='iothread', id="iothread0")
- self.vm.qmp_log('device_add', id='scsi0', driver=iotests.get_virtio_scsi_device(), iothread='iothread0', filters=[iotests.filter_qmp_virtio_scsi])
+ self.vm.qmp_log('device_add', id='scsi0', driver='virtio-scsi', iothread='iothread0', filters=[iotests.filter_qmp_virtio_scsi])
self.vm.qmp_log('device_add', id='scsi-hd0', driver='scsi-hd', drive='hd0')
self.vm.qmp_log('device_del', id='scsi-hd0')
self.vm.event_wait('DEVICE_DELETED')
@@ -55,7 +55,7 @@ class TestCase(iotests.QMPTestCase):
iotests.log('==Attach two SCSI disks using the same block device and the same iothread==')
self.vm.qmp_log('blockdev-add', driver='null-co', read_zeroes=True, node_name='hd0', read_only=True)
self.vm.qmp_log('object-add', qom_type='iothread', id="iothread0")
- self.vm.qmp_log('device_add', id='scsi0', driver=iotests.get_virtio_scsi_device(), iothread='iothread0', filters=[iotests.filter_qmp_virtio_scsi])
+ self.vm.qmp_log('device_add', id='scsi0', driver='virtio-scsi', iothread='iothread0', filters=[iotests.filter_qmp_virtio_scsi])
self.vm.qmp_log('device_add', id='scsi-hd0', driver='scsi-hd', drive='hd0')
self.vm.qmp_log('device_add', id='scsi-hd1', driver='scsi-hd', drive='hd0')
@@ -73,8 +73,8 @@ class TestCase(iotests.QMPTestCase):
self.vm.qmp_log('object-add', qom_type='iothread', id="iothread0")
self.vm.qmp_log('object-add', qom_type='iothread', id="iothread1")
- self.vm.qmp_log('device_add', id='scsi0', driver=iotests.get_virtio_scsi_device(), iothread='iothread0', filters=[iotests.filter_qmp_virtio_scsi])
- self.vm.qmp_log('device_add', id='scsi1', driver=iotests.get_virtio_scsi_device(), iothread='iothread1', filters=[iotests.filter_qmp_virtio_scsi])
+ self.vm.qmp_log('device_add', id='scsi0', driver='virtio-scsi', iothread='iothread0', filters=[iotests.filter_qmp_virtio_scsi])
+ self.vm.qmp_log('device_add', id='scsi1', driver='virtio-scsi', iothread='iothread1', filters=[iotests.filter_qmp_virtio_scsi])
self.vm.qmp_log('device_add', id='scsi-hd0', driver='scsi-hd', drive='hd0', bus="scsi0.0")
self.vm.qmp_log('device_add', id='scsi-hd1', driver='scsi-hd', drive='hd0', bus="scsi1.0")
@@ -99,7 +99,7 @@ class TestCase(iotests.QMPTestCase):
self.vm.qmp_log('nbd-server-add', device='hd0')
self.vm.qmp_log('object-add', qom_type='iothread', id="iothread0")
- self.vm.qmp_log('device_add', id='scsi0', driver=iotests.get_virtio_scsi_device(), iothread='iothread0', filters=[iotests.filter_qmp_virtio_scsi])
+ self.vm.qmp_log('device_add', id='scsi0', driver='virtio-scsi', iothread='iothread0', filters=[iotests.filter_qmp_virtio_scsi])
self.vm.qmp_log('device_add', id='scsi-hd0', driver='scsi-hd', drive='hd0')
if __name__ == '__main__':
diff --git a/tests/qemu-iotests/257 b/tests/qemu-iotests/257
index 7cd25208296e..c72c82a171b4 100755
--- a/tests/qemu-iotests/257
+++ b/tests/qemu-iotests/257
@@ -292,7 +292,7 @@ def test_bitmap_sync(bsync_mode, msync_mode='bitmap', failure=None):
log('--- Preparing image & VM ---\n')
drive0 = Drive(img_path, vm=vm)
drive0.img_create(iotests.imgfmt, SIZE)
- vm.add_device("{},id=scsi0".format(iotests.get_virtio_scsi_device()))
+ vm.add_device("{},id=scsi0".format('virtio-scsi'))
vm.launch()
file_config = {
@@ -449,7 +449,7 @@ def test_backup_api():
log('--- Preparing image & VM ---\n')
drive0 = Drive(img_path, vm=vm)
drive0.img_create(iotests.imgfmt, SIZE)
- vm.add_device("{},id=scsi0".format(iotests.get_virtio_scsi_device()))
+ vm.add_device("{},id=scsi0".format('virtio-scsi'))
vm.launch()
file_config = {
diff --git a/tests/qemu-iotests/307 b/tests/qemu-iotests/307
index 9008974346b0..c7685347bc4c 100755
--- a/tests/qemu-iotests/307
+++ b/tests/qemu-iotests/307
@@ -40,13 +40,11 @@ with iotests.FilePath('image') as img, \
iotests.log('=== Launch VM ===')
- virtio_scsi_device = iotests.get_virtio_scsi_device()
-
vm.add_object('iothread,id=iothread0')
vm.add_blockdev(f'file,filename={img},node-name=file')
vm.add_blockdev(f'{iotests.imgfmt},file=file,node-name=fmt')
vm.add_blockdev('raw,file=file,node-name=ro,read-only=on')
- vm.add_device(f'id=scsi0,driver={virtio_scsi_device},iothread=iothread0')
+ vm.add_device(f'id=scsi0,driver=virtio-scsi,iothread=iothread0')
vm.launch()
vm.qmp_log('nbd-server-start',
diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
index 90d0b6252368..1e9e6a066e90 100644
--- a/tests/qemu-iotests/iotests.py
+++ b/tests/qemu-iotests/iotests.py
@@ -234,11 +234,6 @@ def qemu_io_silent_check(*args):
stderr=subprocess.STDOUT)
return exitcode == 0
-def get_virtio_scsi_device():
- if qemu_default_machine == 's390-ccw-virtio':
- return 'virtio-scsi-ccw'
- return 'virtio-scsi-pci'
-
class QemuIoInteractive:
def __init__(self, *args):
self.args = qemu_io_args_no_fmt + list(args)
--
2.30.2
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 3/4] iotests: test m68k with the virt machine
2021-03-18 22:39 [PATCH 0/4] iotests: fix failures with non-PCI machines Laurent Vivier
2021-03-18 22:39 ` [PATCH 1/4] m68k: add the virtio devices aliases Laurent Vivier
2021-03-18 22:39 ` [PATCH 2/4] iotests: Revert "iotests: use -ccw on s390x for 040, 139, and 182" Laurent Vivier
@ 2021-03-18 22:39 ` Laurent Vivier
2021-03-18 22:46 ` Philippe Mathieu-Daudé
2021-03-18 22:39 ` [PATCH 4/4] iotests: iothreads need ioeventfd Laurent Vivier
3 siblings, 1 reply; 16+ messages in thread
From: Laurent Vivier @ 2021-03-18 22:39 UTC (permalink / raw)
To: qemu-devel
Cc: Kevin Wolf, Peter Maydell, Thomas Huth, Daniel P. Berrangé,
Eduardo Habkost, qemu-block, Cornelia Huck, Markus Armbruster,
Max Reitz, qemu-s390x, Paolo Bonzini, Philippe Mathieu-Daudé,
Laurent Vivier
This allows to cover the virtio tests with a 32bit big-endian
virtio-mmio machine.
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
tests/qemu-iotests/testenv.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/tests/qemu-iotests/testenv.py b/tests/qemu-iotests/testenv.py
index 1fbec854c1f7..6d27712617a3 100644
--- a/tests/qemu-iotests/testenv.py
+++ b/tests/qemu-iotests/testenv.py
@@ -208,6 +208,7 @@ def __init__(self, imgfmt: str, imgproto: str, aiomode: str,
('arm', 'virt'),
('aarch64', 'virt'),
('avr', 'mega2560'),
+ ('m68k', 'virt'),
('rx', 'gdbsim-r5f562n8'),
('tricore', 'tricore_testboard')
)
--
2.30.2
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 4/4] iotests: iothreads need ioeventfd
2021-03-18 22:39 [PATCH 0/4] iotests: fix failures with non-PCI machines Laurent Vivier
` (2 preceding siblings ...)
2021-03-18 22:39 ` [PATCH 3/4] iotests: test m68k with the virt machine Laurent Vivier
@ 2021-03-18 22:39 ` Laurent Vivier
2021-03-19 11:06 ` Paolo Bonzini
3 siblings, 1 reply; 16+ messages in thread
From: Laurent Vivier @ 2021-03-18 22:39 UTC (permalink / raw)
To: qemu-devel
Cc: Kevin Wolf, Peter Maydell, Thomas Huth, Daniel P. Berrangé,
Eduardo Habkost, qemu-block, Cornelia Huck, Markus Armbruster,
Max Reitz, qemu-s390x, Paolo Bonzini, Philippe Mathieu-Daudé,
Laurent Vivier
And ioeventfd are only available with virtio-scsi-pci, so don't use the alias
and add a rule to require virtio-scsi-pci for the tests that use iothreads.
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
tests/qemu-iotests/127 | 4 ++--
tests/qemu-iotests/256 | 2 ++
tests/qemu-iotests/iotests.py | 5 +++++
3 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/tests/qemu-iotests/127 b/tests/qemu-iotests/127
index 98e8e82a8210..a3693533685a 100755
--- a/tests/qemu-iotests/127
+++ b/tests/qemu-iotests/127
@@ -44,7 +44,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_supported_fmt qcow2
_supported_proto file fuse
-_require_devices virtio-scsi scsi-hd
+_require_devices virtio-scsi-pci scsi-hd
IMG_SIZE=64K
@@ -62,7 +62,7 @@ $QEMU_IO -c 'write 0 42' "$TEST_IMG.overlay0" | _filter_qemu_io
_launch_qemu \
-object iothread,id=iothr \
-blockdev node-name=source,driver=$IMGFMT,file.driver=file,file.filename="$TEST_IMG.overlay0" \
- -device virtio-scsi,id=scsi-bus,iothread=iothr \
+ -device virtio-scsi-pci,id=scsi-bus,iothread=iothr \
-device scsi-hd,bus=scsi-bus.0,drive=source
_send_qemu_cmd $QEMU_HANDLE \
diff --git a/tests/qemu-iotests/256 b/tests/qemu-iotests/256
index 8d82a1dd865f..eb3af0dea80c 100755
--- a/tests/qemu-iotests/256
+++ b/tests/qemu-iotests/256
@@ -24,6 +24,8 @@ import os
import iotests
from iotests import log
+iotests._verify_virtio_scsi_pci()
+
iotests.script_initialize(supported_fmts=['qcow2'])
size = 64 * 1024 * 1024
diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
index 1e9e6a066e90..3404ed534bb5 100644
--- a/tests/qemu-iotests/iotests.py
+++ b/tests/qemu-iotests/iotests.py
@@ -1146,6 +1146,11 @@ def _verify_virtio_blk() -> None:
if 'virtio-blk' not in out:
notrun('Missing virtio-blk in QEMU binary')
+def _verify_virtio_scsi_pci() -> None:
+ out = qemu_pipe('-M', 'none', '-device', 'help')
+ if 'virtio-scsi-pci' not in out:
+ notrun('Missing virtio-scsi-pci in QEMU binary')
+
def supports_quorum():
return 'quorum' in qemu_img_pipe('--help')
--
2.30.2
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH 3/4] iotests: test m68k with the virt machine
2021-03-18 22:39 ` [PATCH 3/4] iotests: test m68k with the virt machine Laurent Vivier
@ 2021-03-18 22:46 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 16+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-03-18 22:46 UTC (permalink / raw)
To: Laurent Vivier, qemu-devel
Cc: Kevin Wolf, Peter Maydell, Thomas Huth, Daniel P. Berrangé,
Eduardo Habkost, qemu-block, Cornelia Huck, Markus Armbruster,
Max Reitz, qemu-s390x, Paolo Bonzini
On 3/18/21 11:39 PM, Laurent Vivier wrote:
> This allows to cover the virtio tests with a 32bit big-endian
> virtio-mmio machine.
>
> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
> ---
> tests/qemu-iotests/testenv.py | 1 +
> 1 file changed, 1 insertion(+)
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 1/4] m68k: add the virtio devices aliases
2021-03-18 22:39 ` [PATCH 1/4] m68k: add the virtio devices aliases Laurent Vivier
@ 2021-03-18 22:51 ` Philippe Mathieu-Daudé
2021-03-19 6:47 ` Thomas Huth
2021-03-19 11:36 ` Cornelia Huck
2 siblings, 0 replies; 16+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-03-18 22:51 UTC (permalink / raw)
To: Laurent Vivier, qemu-devel
Cc: Kevin Wolf, Peter Maydell, Thomas Huth, Daniel P. Berrangé,
Eduardo Habkost, qemu-block, Cornelia Huck, Markus Armbruster,
Max Reitz, qemu-s390x, Paolo Bonzini
On 3/18/21 11:39 PM, Laurent Vivier wrote:
> Similarly to 5f629d943cb0 ("s390x: fix s390 virtio aliases"),
> define the virtio aliases.
>
> This allows to start machines with virtio devices without
> knowledge of the implementation type.
>
> For instance, we can use "-device virtio-scsi" on
> m68k, s390x or PC, and the device will be
+"respectively"
> "virtio-scsi-device", "virtio-scsi-ccw" or "virtio-scsi-pci".
>
> This already exists for s390x and -ccw interfaces, adds them
"add"?
> for m68k and MMIO (-device) interfaces.
>
> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
> ---
> softmmu/qdev-monitor.c | 46 +++++++++++++++++++++++++++---------------
> 1 file changed, 30 insertions(+), 16 deletions(-)
>
> diff --git a/softmmu/qdev-monitor.c b/softmmu/qdev-monitor.c
> index 8dc656becca9..262d38b8c01e 100644
> --- a/softmmu/qdev-monitor.c
> +++ b/softmmu/qdev-monitor.c
> @@ -42,6 +42,8 @@
> #include "hw/qdev-properties.h"
> #include "hw/clock.h"
>
> +#define QEMU_ARCH_NO_PCI (QEMU_ARCH_S390X | QEMU_ARCH_M68K)
> +
> /*
> * Aliases were a bad idea from the start. Let's keep them
> * from spreading further.
> @@ -60,34 +62,46 @@ static const QDevAlias qdev_alias_table[] = {
> { "ES1370", "es1370" }, /* -soundhw name */
> { "ich9-ahci", "ahci" },
> { "lsi53c895a", "lsi" },
> + { "virtio-9p-device", "virtio-9p", QEMU_ARCH_M68K },
> { "virtio-9p-ccw", "virtio-9p", QEMU_ARCH_S390X },
> - { "virtio-9p-pci", "virtio-9p", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
> + { "virtio-9p-pci", "virtio-9p", QEMU_ARCH_ALL & ~QEMU_ARCH_NO_PCI },
TIL QEMU_ARCH_NO_PCI :)
> + { "virtio-balloon-device", "virtio-balloon", QEMU_ARCH_M68K },
> { "virtio-balloon-ccw", "virtio-balloon", QEMU_ARCH_S390X },
> - { "virtio-balloon-pci", "virtio-balloon",
> - QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
> + { "virtio-balloon-pci", "virtio-balloon", QEMU_ARCH_ALL &
> + ~QEMU_ARCH_NO_PCI },
> + { "virtio-blk-device", "virtio-blk", QEMU_ARCH_M68K },
> { "virtio-blk-ccw", "virtio-blk", QEMU_ARCH_S390X },
> - { "virtio-blk-pci", "virtio-blk", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
> + { "virtio-blk-pci", "virtio-blk", QEMU_ARCH_ALL & ~QEMU_ARCH_NO_PCI },
> { "virtio-gpu-ccw", "virtio-gpu", QEMU_ARCH_S390X },
> - { "virtio-gpu-pci", "virtio-gpu", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
> + { "virtio-gpu-device", "virtio-gpu", QEMU_ARCH_M68K },
> + { "virtio-gpu-pci", "virtio-gpu", QEMU_ARCH_ALL & ~QEMU_ARCH_NO_PCI },
> + { "virtio-input-host-device", "virtio-input-host", QEMU_ARCH_M68K },
> { "virtio-input-host-ccw", "virtio-input-host", QEMU_ARCH_S390X },
> - { "virtio-input-host-pci", "virtio-input-host",
> - QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
> - { "virtio-iommu-pci", "virtio-iommu", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
> + { "virtio-input-host-pci", "virtio-input-host", QEMU_ARCH_ALL &
> + ~QEMU_ARCH_NO_PCI },
> + { "virtio-iommu-pci", "virtio-iommu", QEMU_ARCH_ALL & ~QEMU_ARCH_NO_PCI },
> + { "virtio-keyboard-device", "virtio-keyboard", QEMU_ARCH_M68K },
> { "virtio-keyboard-ccw", "virtio-keyboard", QEMU_ARCH_S390X },
> - { "virtio-keyboard-pci", "virtio-keyboard",
> - QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
> + { "virtio-keyboard-pci", "virtio-keyboard", QEMU_ARCH_ALL &
> + ~QEMU_ARCH_NO_PCI },
> + { "virtio-mouse-device", "virtio-mouse", QEMU_ARCH_M68K },
> { "virtio-mouse-ccw", "virtio-mouse", QEMU_ARCH_S390X },
> - { "virtio-mouse-pci", "virtio-mouse", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
> + { "virtio-mouse-pci", "virtio-mouse", QEMU_ARCH_ALL & ~QEMU_ARCH_NO_PCI },
> + { "virtio-net-device", "virtio-net", QEMU_ARCH_M68K },
> { "virtio-net-ccw", "virtio-net", QEMU_ARCH_S390X },
> - { "virtio-net-pci", "virtio-net", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
> + { "virtio-net-pci", "virtio-net", QEMU_ARCH_ALL & ~QEMU_ARCH_NO_PCI },
> + { "virtio-rng-device", "virtio-rng", QEMU_ARCH_M68K },
> { "virtio-rng-ccw", "virtio-rng", QEMU_ARCH_S390X },
> - { "virtio-rng-pci", "virtio-rng", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
> + { "virtio-rng-pci", "virtio-rng", QEMU_ARCH_ALL & ~QEMU_ARCH_NO_PCI },
> + { "virtio-scsi-device", "virtio-scsi", QEMU_ARCH_M68K },
> { "virtio-scsi-ccw", "virtio-scsi", QEMU_ARCH_S390X },
> - { "virtio-scsi-pci", "virtio-scsi", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
> + { "virtio-scsi-pci", "virtio-scsi", QEMU_ARCH_ALL & ~QEMU_ARCH_NO_PCI },
> + { "virtio-serial-device", "virtio-serial", QEMU_ARCH_M68K },
> { "virtio-serial-ccw", "virtio-serial", QEMU_ARCH_S390X },
> - { "virtio-serial-pci", "virtio-serial", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
> + { "virtio-serial-pci", "virtio-serial", QEMU_ARCH_ALL & ~QEMU_ARCH_NO_PCI},
> + { "virtio-tablet-device", "virtio-tablet", QEMU_ARCH_M68K },
> { "virtio-tablet-ccw", "virtio-tablet", QEMU_ARCH_S390X },
> - { "virtio-tablet-pci", "virtio-tablet", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
> + { "virtio-tablet-pci", "virtio-tablet", QEMU_ARCH_ALL & ~QEMU_ARCH_NO_PCI },
> { }
> };
This could be easier to split this patch in 2:
1/ QEMU_ARCH_S390X -> QEMU_ARCH_NO_PCI
2/ complete QEMU_ARCH_M68K aliases
Regardless:
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 1/4] m68k: add the virtio devices aliases
2021-03-18 22:39 ` [PATCH 1/4] m68k: add the virtio devices aliases Laurent Vivier
2021-03-18 22:51 ` Philippe Mathieu-Daudé
@ 2021-03-19 6:47 ` Thomas Huth
2021-03-19 11:36 ` Cornelia Huck
2 siblings, 0 replies; 16+ messages in thread
From: Thomas Huth @ 2021-03-19 6:47 UTC (permalink / raw)
To: Laurent Vivier, qemu-devel
Cc: Kevin Wolf, Peter Maydell, Daniel P. Berrangé,
Eduardo Habkost, qemu-block, Cornelia Huck, Markus Armbruster,
Max Reitz, qemu-s390x, Paolo Bonzini, Philippe Mathieu-Daudé
On 18/03/2021 23.39, Laurent Vivier wrote:
> Similarly to 5f629d943cb0 ("s390x: fix s390 virtio aliases"),
> define the virtio aliases.
>
> This allows to start machines with virtio devices without
> knowledge of the implementation type.
>
> For instance, we can use "-device virtio-scsi" on
> m68k, s390x or PC, and the device will be
> "virtio-scsi-device", "virtio-scsi-ccw" or "virtio-scsi-pci".
>
> This already exists for s390x and -ccw interfaces, adds them
> for m68k and MMIO (-device) interfaces.
>
> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
> ---
> softmmu/qdev-monitor.c | 46 +++++++++++++++++++++++++++---------------
> 1 file changed, 30 insertions(+), 16 deletions(-)
With the typo mentioned by Philippe fixed:
Reviewed-by: Thomas Huth <thuth@redhat.com>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/4] iotests: Revert "iotests: use -ccw on s390x for 040, 139, and 182"
2021-03-18 22:39 ` [PATCH 2/4] iotests: Revert "iotests: use -ccw on s390x for 040, 139, and 182" Laurent Vivier
@ 2021-03-19 10:39 ` Philippe Mathieu-Daudé
2021-03-19 11:43 ` Cornelia Huck
1 sibling, 0 replies; 16+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-03-19 10:39 UTC (permalink / raw)
To: Laurent Vivier, qemu-devel
Cc: Kevin Wolf, Peter Maydell, Thomas Huth, Daniel P. Berrangé,
Eduardo Habkost, qemu-block, Cornelia Huck, Markus Armbruster,
Max Reitz, qemu-s390x, Paolo Bonzini
On 3/18/21 11:39 PM, Laurent Vivier wrote:
> Commit f1d5516ab583 introduces a test in some iotests to check if
> the machine is a s390-ssw-virtio and to select virtio-*-ccw rather
> than virtio-*-pci.
>
> We don't need that because QEMU already provides aliases to use the correct
> virtio interface according to the machine type.
>
> This patch removes all virtio-*-pci and virtio-*-ccw to use virtio-*
> instead.
>
> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
> cc: Cornelia Huck <cohuck@redhat.com>
> ---
> blockdev.c | 6 +-----
> tests/qemu-iotests/040 | 2 +-
> tests/qemu-iotests/051 | 12 +-----------
> tests/qemu-iotests/068 | 4 +---
> tests/qemu-iotests/093 | 3 +--
> tests/qemu-iotests/139 | 9 ++-------
> tests/qemu-iotests/182 | 13 ++-----------
> tests/qemu-iotests/238 | 4 +---
> tests/qemu-iotests/240 | 10 +++++-----
> tests/qemu-iotests/257 | 4 ++--
> tests/qemu-iotests/307 | 4 +---
> tests/qemu-iotests/iotests.py | 5 -----
> 12 files changed, 18 insertions(+), 58 deletions(-)
> diff --git a/tests/qemu-iotests/051 b/tests/qemu-iotests/051
> index 7cbd1415ce7b..00382cc55e25 100755
> --- a/tests/qemu-iotests/051
> +++ b/tests/qemu-iotests/051
> @@ -119,17 +119,7 @@ echo
> echo === Device without drive ===
> echo
>
> -case "$QEMU_DEFAULT_MACHINE" in
> - s390-ccw-virtio)
> - virtio_scsi=virtio-scsi-ccw
> - ;;
> - *)
> - virtio_scsi=virtio-scsi-pci
> - ;;
> -esac
> -
> -run_qemu -device $virtio_scsi -device scsi-hd |
> - sed -e "s/$virtio_scsi/VIRTIO_SCSI/"
> +run_qemu -device virtio-scsi -device scsi-hd
>
> echo
> echo === Overriding backing file ===
This one failed (but the fix is trivial):
051 fail [05:49:47] [05:50:01] 13.3s output
mismatch (see 051.out.bad)
--- /builds/philmd/qemu2/tests/qemu-iotests/051.pc.out
+++ 051.out.bad
@@ -72,7 +72,7 @@
=== Device without drive ===
-Testing: -device VIRTIO_SCSI -device scsi-hd
+Testing: -device virtio-scsi -device scsi-hd
QEMU X.Y.Z monitor - type 'help' for more information
(qemu) QEMU_PROG: -device scsi-hd: drive property not set
Failures: 051
Failed 1 of 56 iotests
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 4/4] iotests: iothreads need ioeventfd
2021-03-18 22:39 ` [PATCH 4/4] iotests: iothreads need ioeventfd Laurent Vivier
@ 2021-03-19 11:06 ` Paolo Bonzini
2021-03-19 11:27 ` Cornelia Huck
0 siblings, 1 reply; 16+ messages in thread
From: Paolo Bonzini @ 2021-03-19 11:06 UTC (permalink / raw)
To: Laurent Vivier, qemu-devel
Cc: Kevin Wolf, Peter Maydell, Thomas Huth, Daniel P. Berrangé,
Eduardo Habkost, qemu-block, Cornelia Huck, Markus Armbruster,
Max Reitz, qemu-s390x, Philippe Mathieu-Daudé
On 18/03/21 23:39, Laurent Vivier wrote:
> And ioeventfd are only available with virtio-scsi-pci, so don't use the alias
> and add a rule to require virtio-scsi-pci for the tests that use iothreads.
>
> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
> ---
> tests/qemu-iotests/127 | 4 ++--
> tests/qemu-iotests/256 | 2 ++
> tests/qemu-iotests/iotests.py | 5 +++++
> 3 files changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/tests/qemu-iotests/127 b/tests/qemu-iotests/127
> index 98e8e82a8210..a3693533685a 100755
> --- a/tests/qemu-iotests/127
> +++ b/tests/qemu-iotests/127
> @@ -44,7 +44,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
> _supported_fmt qcow2
> _supported_proto file fuse
>
> -_require_devices virtio-scsi scsi-hd
> +_require_devices virtio-scsi-pci scsi-hd
Maybe
_require_devices scsi-hd
_require_devices virtio-scsi-pci || _require_devices virtio-scsi ccw
?
Paolo
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 4/4] iotests: iothreads need ioeventfd
2021-03-19 11:06 ` Paolo Bonzini
@ 2021-03-19 11:27 ` Cornelia Huck
2021-03-19 11:28 ` Laurent Vivier
0 siblings, 1 reply; 16+ messages in thread
From: Cornelia Huck @ 2021-03-19 11:27 UTC (permalink / raw)
To: Paolo Bonzini
Cc: Kevin Wolf, Peter Maydell, Thomas Huth, Daniel P. Berrangé,
Eduardo Habkost, qemu-block, Markus Armbruster, Laurent Vivier,
qemu-devel, qemu-s390x, Max Reitz, Philippe Mathieu-Daudé
On Fri, 19 Mar 2021 12:06:43 +0100
Paolo Bonzini <pbonzini@redhat.com> wrote:
> On 18/03/21 23:39, Laurent Vivier wrote:
> > And ioeventfd are only available with virtio-scsi-pci, so don't use the alias
> > and add a rule to require virtio-scsi-pci for the tests that use iothreads.
> >
> > Signed-off-by: Laurent Vivier <laurent@vivier.eu>
> > ---
> > tests/qemu-iotests/127 | 4 ++--
> > tests/qemu-iotests/256 | 2 ++
> > tests/qemu-iotests/iotests.py | 5 +++++
> > 3 files changed, 9 insertions(+), 2 deletions(-)
> >
> > diff --git a/tests/qemu-iotests/127 b/tests/qemu-iotests/127
> > index 98e8e82a8210..a3693533685a 100755
> > --- a/tests/qemu-iotests/127
> > +++ b/tests/qemu-iotests/127
> > @@ -44,7 +44,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
> > _supported_fmt qcow2
> > _supported_proto file fuse
> >
> > -_require_devices virtio-scsi scsi-hd
> > +_require_devices virtio-scsi-pci scsi-hd
>
> Maybe
>
> _require_devices scsi-hd
> _require_devices virtio-scsi-pci || _require_devices virtio-scsi ccw
>
> ?
>
> Paolo
>
Yes, ioeventfds are also available for ccw; I'd expect only mmio to be
the problem here.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 4/4] iotests: iothreads need ioeventfd
2021-03-19 11:27 ` Cornelia Huck
@ 2021-03-19 11:28 ` Laurent Vivier
0 siblings, 0 replies; 16+ messages in thread
From: Laurent Vivier @ 2021-03-19 11:28 UTC (permalink / raw)
To: Cornelia Huck, Paolo Bonzini
Cc: Kevin Wolf, Peter Maydell, Thomas Huth, Daniel P. Berrangé,
Eduardo Habkost, qemu-block, qemu-devel, Markus Armbruster,
qemu-s390x, Max Reitz, Philippe Mathieu-Daudé
Le 19/03/2021 à 12:27, Cornelia Huck a écrit :
> On Fri, 19 Mar 2021 12:06:43 +0100
> Paolo Bonzini <pbonzini@redhat.com> wrote:
>
>> On 18/03/21 23:39, Laurent Vivier wrote:
>>> And ioeventfd are only available with virtio-scsi-pci, so don't use the alias
>>> and add a rule to require virtio-scsi-pci for the tests that use iothreads.
>>>
>>> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
>>> ---
>>> tests/qemu-iotests/127 | 4 ++--
>>> tests/qemu-iotests/256 | 2 ++
>>> tests/qemu-iotests/iotests.py | 5 +++++
>>> 3 files changed, 9 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/tests/qemu-iotests/127 b/tests/qemu-iotests/127
>>> index 98e8e82a8210..a3693533685a 100755
>>> --- a/tests/qemu-iotests/127
>>> +++ b/tests/qemu-iotests/127
>>> @@ -44,7 +44,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
>>> _supported_fmt qcow2
>>> _supported_proto file fuse
>>>
>>> -_require_devices virtio-scsi scsi-hd
>>> +_require_devices virtio-scsi-pci scsi-hd
>>
>> Maybe
>>
>> _require_devices scsi-hd
>> _require_devices virtio-scsi-pci || _require_devices virtio-scsi ccw
>>
>> ?
>>
>> Paolo
>>
>
> Yes, ioeventfds are also available for ccw; I'd expect only mmio to be
> the problem here.
>
OK, thanks.
I update my patch with the changes from Paolo.
Laurent
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 1/4] m68k: add the virtio devices aliases
2021-03-18 22:39 ` [PATCH 1/4] m68k: add the virtio devices aliases Laurent Vivier
2021-03-18 22:51 ` Philippe Mathieu-Daudé
2021-03-19 6:47 ` Thomas Huth
@ 2021-03-19 11:36 ` Cornelia Huck
2021-03-19 12:07 ` Laurent Vivier
2 siblings, 1 reply; 16+ messages in thread
From: Cornelia Huck @ 2021-03-19 11:36 UTC (permalink / raw)
To: Laurent Vivier
Cc: Kevin Wolf, Peter Maydell, Thomas Huth, Daniel P. Berrangé,
Eduardo Habkost, qemu-block, Markus Armbruster, qemu-devel,
Max Reitz, qemu-s390x, Paolo Bonzini, Philippe Mathieu-Daudé
On Thu, 18 Mar 2021 23:39:04 +0100
Laurent Vivier <laurent@vivier.eu> wrote:
> Similarly to 5f629d943cb0 ("s390x: fix s390 virtio aliases"),
> define the virtio aliases.
>
> This allows to start machines with virtio devices without
> knowledge of the implementation type.
>
> For instance, we can use "-device virtio-scsi" on
> m68k, s390x or PC, and the device will be
> "virtio-scsi-device", "virtio-scsi-ccw" or "virtio-scsi-pci".
>
> This already exists for s390x and -ccw interfaces, adds them
> for m68k and MMIO (-device) interfaces.
>
> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
> ---
> softmmu/qdev-monitor.c | 46 +++++++++++++++++++++++++++---------------
> 1 file changed, 30 insertions(+), 16 deletions(-)
>
> diff --git a/softmmu/qdev-monitor.c b/softmmu/qdev-monitor.c
> index 8dc656becca9..262d38b8c01e 100644
> --- a/softmmu/qdev-monitor.c
> +++ b/softmmu/qdev-monitor.c
> @@ -42,6 +42,8 @@
> #include "hw/qdev-properties.h"
> #include "hw/clock.h"
>
> +#define QEMU_ARCH_NO_PCI (QEMU_ARCH_S390X | QEMU_ARCH_M68K)
The name of the #define is a tad misleading (we do have virtio-pci
devices on s390x, unlike in 2012, we just don't want the aliases to
point to them.) Maybe QEMU_ARCH_NONPCI_DEFAULT?
> +
> /*
> * Aliases were a bad idea from the start. Let's keep them
> * from spreading further.
Otherwise, LGTM.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/4] iotests: Revert "iotests: use -ccw on s390x for 040, 139, and 182"
2021-03-18 22:39 ` [PATCH 2/4] iotests: Revert "iotests: use -ccw on s390x for 040, 139, and 182" Laurent Vivier
2021-03-19 10:39 ` Philippe Mathieu-Daudé
@ 2021-03-19 11:43 ` Cornelia Huck
2021-03-19 12:09 ` Laurent Vivier
1 sibling, 1 reply; 16+ messages in thread
From: Cornelia Huck @ 2021-03-19 11:43 UTC (permalink / raw)
To: Laurent Vivier
Cc: Kevin Wolf, Peter Maydell, Thomas Huth, Daniel P. Berrangé,
Eduardo Habkost, qemu-block, Markus Armbruster, qemu-devel,
Max Reitz, qemu-s390x, Paolo Bonzini, Philippe Mathieu-Daudé
On Thu, 18 Mar 2021 23:39:05 +0100
Laurent Vivier <laurent@vivier.eu> wrote:
> Commit f1d5516ab583 introduces a test in some iotests to check if
> the machine is a s390-ssw-virtio and to select virtio-*-ccw rather
s/ssw/ccw/
> than virtio-*-pci.
>
> We don't need that because QEMU already provides aliases to use the correct
> virtio interface according to the machine type.
Maybe add a comment that this also enables virtio-mmio?
>
> This patch removes all virtio-*-pci and virtio-*-ccw to use virtio-*
> instead.
>
> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
> cc: Cornelia Huck <cohuck@redhat.com>
> ---
> blockdev.c | 6 +-----
Hm, that also tweaks how -drive behaves, IIUC. Intended, I think; but
worth a note as well?
> tests/qemu-iotests/040 | 2 +-
> tests/qemu-iotests/051 | 12 +-----------
> tests/qemu-iotests/068 | 4 +---
> tests/qemu-iotests/093 | 3 +--
> tests/qemu-iotests/139 | 9 ++-------
> tests/qemu-iotests/182 | 13 ++-----------
> tests/qemu-iotests/238 | 4 +---
> tests/qemu-iotests/240 | 10 +++++-----
> tests/qemu-iotests/257 | 4 ++--
> tests/qemu-iotests/307 | 4 +---
> tests/qemu-iotests/iotests.py | 5 -----
> 12 files changed, 18 insertions(+), 58 deletions(-)
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 1/4] m68k: add the virtio devices aliases
2021-03-19 11:36 ` Cornelia Huck
@ 2021-03-19 12:07 ` Laurent Vivier
0 siblings, 0 replies; 16+ messages in thread
From: Laurent Vivier @ 2021-03-19 12:07 UTC (permalink / raw)
To: Cornelia Huck
Cc: Kevin Wolf, Peter Maydell, Thomas Huth, Daniel P. Berrangé,
Eduardo Habkost, qemu-block, Markus Armbruster, qemu-devel,
Max Reitz, qemu-s390x, Paolo Bonzini, Philippe Mathieu-Daudé
Le 19/03/2021 à 12:36, Cornelia Huck a écrit :
> On Thu, 18 Mar 2021 23:39:04 +0100
> Laurent Vivier <laurent@vivier.eu> wrote:
>
>> Similarly to 5f629d943cb0 ("s390x: fix s390 virtio aliases"),
>> define the virtio aliases.
>>
>> This allows to start machines with virtio devices without
>> knowledge of the implementation type.
>>
>> For instance, we can use "-device virtio-scsi" on
>> m68k, s390x or PC, and the device will be
>> "virtio-scsi-device", "virtio-scsi-ccw" or "virtio-scsi-pci".
>>
>> This already exists for s390x and -ccw interfaces, adds them
>> for m68k and MMIO (-device) interfaces.
>>
>> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
>> ---
>> softmmu/qdev-monitor.c | 46 +++++++++++++++++++++++++++---------------
>> 1 file changed, 30 insertions(+), 16 deletions(-)
>>
>> diff --git a/softmmu/qdev-monitor.c b/softmmu/qdev-monitor.c
>> index 8dc656becca9..262d38b8c01e 100644
>> --- a/softmmu/qdev-monitor.c
>> +++ b/softmmu/qdev-monitor.c
>> @@ -42,6 +42,8 @@
>> #include "hw/qdev-properties.h"
>> #include "hw/clock.h"
>>
>> +#define QEMU_ARCH_NO_PCI (QEMU_ARCH_S390X | QEMU_ARCH_M68K)
>
> The name of the #define is a tad misleading (we do have virtio-pci
> devices on s390x, unlike in 2012, we just don't want the aliases to
> point to them.) Maybe QEMU_ARCH_NONPCI_DEFAULT?
I have changed this patch to define QEMU_ARCH_VIRTIO_PCI with the list of archs with virtio-pci
devices, and QEMU_ARCH_VIRTIO_CCW and then QEMU_ARCH_VIRTIO_MMIO
>
>> +
>> /*
>> * Aliases were a bad idea from the start. Let's keep them
>> * from spreading further.
>
> Otherwise, LGTM.
>
Thanks,
Laurent
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/4] iotests: Revert "iotests: use -ccw on s390x for 040, 139, and 182"
2021-03-19 11:43 ` Cornelia Huck
@ 2021-03-19 12:09 ` Laurent Vivier
0 siblings, 0 replies; 16+ messages in thread
From: Laurent Vivier @ 2021-03-19 12:09 UTC (permalink / raw)
To: Cornelia Huck
Cc: Kevin Wolf, Peter Maydell, Thomas Huth, Daniel P. Berrangé,
Eduardo Habkost, qemu-block, Markus Armbruster, qemu-devel,
Max Reitz, qemu-s390x, Paolo Bonzini, Philippe Mathieu-Daudé
Le 19/03/2021 à 12:43, Cornelia Huck a écrit :
> On Thu, 18 Mar 2021 23:39:05 +0100
> Laurent Vivier <laurent@vivier.eu> wrote:
>
>> Commit f1d5516ab583 introduces a test in some iotests to check if
>> the machine is a s390-ssw-virtio and to select virtio-*-ccw rather
>
> s/ssw/ccw/
>
>> than virtio-*-pci.
>>
>> We don't need that because QEMU already provides aliases to use the correct
>> virtio interface according to the machine type.
>
> Maybe add a comment that this also enables virtio-mmio?
ok
>>
>> This patch removes all virtio-*-pci and virtio-*-ccw to use virtio-*
>> instead.
>>
>> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
>> cc: Cornelia Huck <cohuck@redhat.com>
>> ---
>> blockdev.c | 6 +-----
>
> Hm, that also tweaks how -drive behaves, IIUC. Intended, I think; but
> worth a note as well?
>
You're right. I think it needs a separate patch, in fact.
Thanks,
Laurent
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2021-03-19 12:11 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-18 22:39 [PATCH 0/4] iotests: fix failures with non-PCI machines Laurent Vivier
2021-03-18 22:39 ` [PATCH 1/4] m68k: add the virtio devices aliases Laurent Vivier
2021-03-18 22:51 ` Philippe Mathieu-Daudé
2021-03-19 6:47 ` Thomas Huth
2021-03-19 11:36 ` Cornelia Huck
2021-03-19 12:07 ` Laurent Vivier
2021-03-18 22:39 ` [PATCH 2/4] iotests: Revert "iotests: use -ccw on s390x for 040, 139, and 182" Laurent Vivier
2021-03-19 10:39 ` Philippe Mathieu-Daudé
2021-03-19 11:43 ` Cornelia Huck
2021-03-19 12:09 ` Laurent Vivier
2021-03-18 22:39 ` [PATCH 3/4] iotests: test m68k with the virt machine Laurent Vivier
2021-03-18 22:46 ` Philippe Mathieu-Daudé
2021-03-18 22:39 ` [PATCH 4/4] iotests: iothreads need ioeventfd Laurent Vivier
2021-03-19 11:06 ` Paolo Bonzini
2021-03-19 11:27 ` Cornelia Huck
2021-03-19 11:28 ` Laurent Vivier
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).