Message ID | 20240308111152.2856137-21-alistair.francis@wdc.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [PULL,01/34] target/riscv: Update $ra with current $pc in trans_cm_jalt() | expand |
On 08/03/2024 12.11, Alistair Francis wrote: > From: Daniel Henrique Barboza <dbarboza@ventanamicro.com> > > Add a RISC-V 'virt' machine to the graph. This implementation is a > modified copy of the existing arm machine in arm-virt-machine.c > > It contains a virtio-mmio and a generic-pcihost controller. The > generic-pcihost controller hardcodes assumptions from the ARM 'virt' > machine, like ecam and pio_base addresses, so we'll add an extra step to > set its parameters after creating it. > > Our command line is incremented with 'aclint' parameters to allow the > machine to run MSI tests. > > Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com> > Acked-by: Alistair Francis <alistair.francis@wdc.com> > Acked-by: Thomas Huth <thuth@redhat.com> > Message-ID: <20240217192607.32565-7-dbarboza@ventanamicro.com> > Signed-off-by: Alistair Francis <alistair.francis@wdc.com> > --- Hi! I noticed that "make check SPEED=slow" is now failing on the qos-test with both, qemu-system-riscv32 and qemu-system-riscv64. Seems like it fails with the virtio-9p test, when I run the qos-test manually, I get: $ MALLOC_PERTURB_=21 V=2 QTEST_QEMU_BINARY=./qemu-system-riscv64 \ tests/qtest/qos-test -m slow ... # Start of local tests # starting QEMU: exec ./qemu-system-riscv64 -qtest unix:/tmp/qtest-211303.sock -qtest-log /dev/null -chardev socket,path=/tmp/qtest-211303.qmp,id=char0 -mon chardev=char0,mode=control -display none -audio none -M virt,aclint=on,aia=aplic-imsic -fsdev local,id=fsdev0,path='/home/thuth/tmp/qemu-build/qtest-9p-local-MBCML2',security_model=mapped-xattr -device virtio-9p-pci,fsdev=fsdev0,addr=04.0,mount_tag=qtest -accel qtest ok 168 /riscv64/virt/generic-pcihost/pci-bus-generic/pci-bus/virtio-9p-pci/virtio-9p/virtio-9p-tests/local/config Received response 7 (RLERROR) instead of 73 (RMKDIR) Rlerror has errno 17 (File exists) ** ERROR:../../devel/qemu/tests/qtest/libqos/virtio-9p-client.c:275:v9fs_req_recv: assertion failed (hdr.id == id): (7 == 73) not ok /riscv64/virt/generic-pcihost/pci-bus-generic/pci-bus/virtio-9p-pci/virtio-9p/virtio-9p-tests/local/create_dir - ERROR:../../devel/qemu/tests/qtest/libqos/virtio-9p-client.c:275:v9fs_req_recv: assertion failed (hdr.id == id): (7 == 73) Bail out! Aborted (core dumped) Could you please have a look? ... or if it is too cumbersome to fix, could we please always skip the virtio-9p local tests on riscv ? Thomas
On 3/25/24 06:20, Thomas Huth wrote: > On 08/03/2024 12.11, Alistair Francis wrote: >> From: Daniel Henrique Barboza <dbarboza@ventanamicro.com> >> >> Add a RISC-V 'virt' machine to the graph. This implementation is a >> modified copy of the existing arm machine in arm-virt-machine.c >> >> It contains a virtio-mmio and a generic-pcihost controller. The >> generic-pcihost controller hardcodes assumptions from the ARM 'virt' >> machine, like ecam and pio_base addresses, so we'll add an extra step to >> set its parameters after creating it. >> >> Our command line is incremented with 'aclint' parameters to allow the >> machine to run MSI tests. >> >> Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com> >> Acked-by: Alistair Francis <alistair.francis@wdc.com> >> Acked-by: Thomas Huth <thuth@redhat.com> >> Message-ID: <20240217192607.32565-7-dbarboza@ventanamicro.com> >> Signed-off-by: Alistair Francis <alistair.francis@wdc.com> >> --- > > Hi! > > I noticed that "make check SPEED=slow" is now failing on the qos-test with both, qemu-system-riscv32 and qemu-system-riscv64. Seems like it fails with the virtio-9p test, when I run the qos-test manually, I get: > > $ MALLOC_PERTURB_=21 V=2 QTEST_QEMU_BINARY=./qemu-system-riscv64 \ > tests/qtest/qos-test -m slow > ... > # Start of local tests > # starting QEMU: exec ./qemu-system-riscv64 -qtest unix:/tmp/qtest-211303.sock -qtest-log /dev/null -chardev socket,path=/tmp/qtest-211303.qmp,id=char0 -mon chardev=char0,mode=control -display none -audio none -M virt,aclint=on,aia=aplic-imsic -fsdev local,id=fsdev0,path='/home/thuth/tmp/qemu-build/qtest-9p-local-MBCML2',security_model=mapped-xattr -device virtio-9p-pci,fsdev=fsdev0,addr=04.0,mount_tag=qtest -accel qtest > ok 168 /riscv64/virt/generic-pcihost/pci-bus-generic/pci-bus/virtio-9p-pci/virtio-9p/virtio-9p-tests/local/config > Received response 7 (RLERROR) instead of 73 (RMKDIR) > Rlerror has errno 17 (File exists) > ** > ERROR:../../devel/qemu/tests/qtest/libqos/virtio-9p-client.c:275:v9fs_req_recv: assertion failed (hdr.id == id): (7 == 73) > not ok /riscv64/virt/generic-pcihost/pci-bus-generic/pci-bus/virtio-9p-pci/virtio-9p/virtio-9p-tests/local/create_dir - ERROR:../../devel/qemu/tests/qtest/libqos/virtio-9p-client.c:275:v9fs_req_recv: assertion failed (hdr.id == id): (7 == 73) > Bail out! > Aborted (core dumped) > > Could you please have a look? ... or if it is too cumbersome to fix, could we please always skip the virtio-9p local tests on riscv ? I'll take a look. Do we run these slow tests in the Gitlab pipeline? I don't recall this particular test failing when I first introduced the riscv machine nodes. Thanks, Daniel > > Thomas >
On Monday, March 25, 2024 1:35:52 PM CET Daniel Henrique Barboza wrote: > On 3/25/24 06:20, Thomas Huth wrote: > > On 08/03/2024 12.11, Alistair Francis wrote: > >> From: Daniel Henrique Barboza <dbarboza@ventanamicro.com> > >> > >> Add a RISC-V 'virt' machine to the graph. This implementation is a > >> modified copy of the existing arm machine in arm-virt-machine.c > >> > >> It contains a virtio-mmio and a generic-pcihost controller. The > >> generic-pcihost controller hardcodes assumptions from the ARM 'virt' > >> machine, like ecam and pio_base addresses, so we'll add an extra step to > >> set its parameters after creating it. > >> > >> Our command line is incremented with 'aclint' parameters to allow the > >> machine to run MSI tests. > >> > >> Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com> > >> Acked-by: Alistair Francis <alistair.francis@wdc.com> > >> Acked-by: Thomas Huth <thuth@redhat.com> > >> Message-ID: <20240217192607.32565-7-dbarboza@ventanamicro.com> > >> Signed-off-by: Alistair Francis <alistair.francis@wdc.com> > >> --- > > > > Hi! > > > > I noticed that "make check SPEED=slow" is now failing on the qos-test with both, qemu-system-riscv32 and qemu-system-riscv64. Seems like it fails with the virtio-9p test, when I run the qos-test manually, I get: > > > > $ MALLOC_PERTURB_=21 V=2 QTEST_QEMU_BINARY=./qemu-system-riscv64 \ > > tests/qtest/qos-test -m slow > > ... > > # Start of local tests > > # starting QEMU: exec ./qemu-system-riscv64 -qtest unix:/tmp/qtest-211303.sock -qtest-log /dev/null -chardev socket,path=/tmp/qtest-211303.qmp,id=char0 -mon chardev=char0,mode=control -display none -audio none -M virt,aclint=on,aia=aplic-imsic -fsdev local,id=fsdev0,path='/home/thuth/tmp/qemu-build/qtest-9p-local-MBCML2',security_model=mapped-xattr -device virtio-9p-pci,fsdev=fsdev0,addr=04.0,mount_tag=qtest -accel qtest > > ok 168 /riscv64/virt/generic-pcihost/pci-bus-generic/pci-bus/virtio-9p-pci/virtio-9p/virtio-9p-tests/local/config > > Received response 7 (RLERROR) instead of 73 (RMKDIR) > > Rlerror has errno 17 (File exists) > > ** > > ERROR:../../devel/qemu/tests/qtest/libqos/virtio-9p-client.c:275:v9fs_req_recv: assertion failed (hdr.id == id): (7 == 73) > > not ok /riscv64/virt/generic-pcihost/pci-bus-generic/pci-bus/virtio-9p-pci/virtio-9p/virtio-9p-tests/local/create_dir - ERROR:../../devel/qemu/tests/qtest/libqos/virtio-9p-client.c:275:v9fs_req_recv: assertion failed (hdr.id == id): (7 == 73) > > Bail out! > > Aborted (core dumped) > > > > Could you please have a look? ... or if it is too cumbersome to fix, could we please always skip the virtio-9p local tests on riscv ? > > I'll take a look. > > Do we run these slow tests in the Gitlab pipeline? I don't recall this > particular test failing when I first introduced the riscv machine nodes. No, the 'local' 9p tests were taken out by moving them to 'slow', because these particular tests did not pass in the cloud and gitlab doesn't run 'slow': commit 558f5c42efded3e0d0b20a90bce2a9a14580d824 Author: Greg Kurz <groug@kaod.org> Date: Tue Nov 24 08:43:43 2020 +0100 tests/9pfs: Mark "local" tests as "slow" The "local" tests can fail on some automated build systems as reported here: https://lists.nongnu.org/archive/html/qemu-devel/2020-11/msg05510.html This will need to be investigated and addressed later. Let's go for a workaround in the meantime : mark the "local" tests as "slow" so that they aren't executed with a simple "make check" like in the case above. Reported-by: Cole Robinson <crobinso@redhat.com> Signed-off-by: Greg Kurz <groug@kaod.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Acked-by: Christian Schoenebeck <qemu_oss@crudebyte.com> Message-Id: <160620382310.1423262.7364287092069513483.stgit@bahia.lan> Signed-off-by: Greg Kurz <groug@kaod.org> Could be because the 'local' 9p backend needs xattr support which might not be available with gitlab container's filesystem. But I haven't investigated. The test that fails seems to be the same, just the errno is different in your case. Best regards, Christian Schoenebeck
On 25/03/2024 13.35, Daniel Henrique Barboza wrote: > > > On 3/25/24 06:20, Thomas Huth wrote: >> On 08/03/2024 12.11, Alistair Francis wrote: >>> From: Daniel Henrique Barboza <dbarboza@ventanamicro.com> >>> >>> Add a RISC-V 'virt' machine to the graph. This implementation is a >>> modified copy of the existing arm machine in arm-virt-machine.c >>> >>> It contains a virtio-mmio and a generic-pcihost controller. The >>> generic-pcihost controller hardcodes assumptions from the ARM 'virt' >>> machine, like ecam and pio_base addresses, so we'll add an extra step to >>> set its parameters after creating it. >>> >>> Our command line is incremented with 'aclint' parameters to allow the >>> machine to run MSI tests. >>> >>> Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com> >>> Acked-by: Alistair Francis <alistair.francis@wdc.com> >>> Acked-by: Thomas Huth <thuth@redhat.com> >>> Message-ID: <20240217192607.32565-7-dbarboza@ventanamicro.com> >>> Signed-off-by: Alistair Francis <alistair.francis@wdc.com> >>> --- >> >> Hi! >> >> I noticed that "make check SPEED=slow" is now failing on the qos-test with >> both, qemu-system-riscv32 and qemu-system-riscv64. Seems like it fails >> with the virtio-9p test, when I run the qos-test manually, I get: >> >> $ MALLOC_PERTURB_=21 V=2 QTEST_QEMU_BINARY=./qemu-system-riscv64 \ >> tests/qtest/qos-test -m slow >> ... >> # Start of local tests >> # starting QEMU: exec ./qemu-system-riscv64 -qtest >> unix:/tmp/qtest-211303.sock -qtest-log /dev/null -chardev >> socket,path=/tmp/qtest-211303.qmp,id=char0 -mon chardev=char0,mode=control >> -display none -audio none -M virt,aclint=on,aia=aplic-imsic -fsdev >> local,id=fsdev0,path='/home/thuth/tmp/qemu-build/qtest-9p-local-MBCML2',security_model=mapped-xattr -device virtio-9p-pci,fsdev=fsdev0,addr=04.0,mount_tag=qtest -accel qtest >> ok 168 >> /riscv64/virt/generic-pcihost/pci-bus-generic/pci-bus/virtio-9p-pci/virtio-9p/virtio-9p-tests/local/config >> Received response 7 (RLERROR) instead of 73 (RMKDIR) >> Rlerror has errno 17 (File exists) >> ** >> ERROR:../../devel/qemu/tests/qtest/libqos/virtio-9p-client.c:275:v9fs_req_recv: assertion failed (hdr.id == id): (7 == 73) >> not ok >> /riscv64/virt/generic-pcihost/pci-bus-generic/pci-bus/virtio-9p-pci/virtio-9p/virtio-9p-tests/local/create_dir - ERROR:../../devel/qemu/tests/qtest/libqos/virtio-9p-client.c:275:v9fs_req_recv: assertion failed (hdr.id == id): (7 == 73) >> Bail out! >> Aborted (core dumped) >> >> Could you please have a look? ... or if it is too cumbersome to fix, could >> we please always skip the virtio-9p local tests on riscv ? > > I'll take a look. > > Do we run these slow tests in the Gitlab pipeline? I don't recall this > particular test failing when I first introduced the riscv machine nodes. No, we don't run the slow tests in the Gitlab-CI, that's likely why nobody noticed it before. Thomas
On 25/03/2024 14.25, Christian Schoenebeck wrote: > On Monday, March 25, 2024 1:35:52 PM CET Daniel Henrique Barboza wrote: >> On 3/25/24 06:20, Thomas Huth wrote: >>> On 08/03/2024 12.11, Alistair Francis wrote: >>>> From: Daniel Henrique Barboza <dbarboza@ventanamicro.com> >>>> >>>> Add a RISC-V 'virt' machine to the graph. This implementation is a >>>> modified copy of the existing arm machine in arm-virt-machine.c >>>> >>>> It contains a virtio-mmio and a generic-pcihost controller. The >>>> generic-pcihost controller hardcodes assumptions from the ARM 'virt' >>>> machine, like ecam and pio_base addresses, so we'll add an extra step to >>>> set its parameters after creating it. >>>> >>>> Our command line is incremented with 'aclint' parameters to allow the >>>> machine to run MSI tests. >>>> >>>> Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com> >>>> Acked-by: Alistair Francis <alistair.francis@wdc.com> >>>> Acked-by: Thomas Huth <thuth@redhat.com> >>>> Message-ID: <20240217192607.32565-7-dbarboza@ventanamicro.com> >>>> Signed-off-by: Alistair Francis <alistair.francis@wdc.com> >>>> --- >>> >>> Hi! >>> >>> I noticed that "make check SPEED=slow" is now failing on the qos-test with both, qemu-system-riscv32 and qemu-system-riscv64. Seems like it fails with the virtio-9p test, when I run the qos-test manually, I get: >>> >>> $ MALLOC_PERTURB_=21 V=2 QTEST_QEMU_BINARY=./qemu-system-riscv64 \ >>> tests/qtest/qos-test -m slow >>> ... >>> # Start of local tests >>> # starting QEMU: exec ./qemu-system-riscv64 -qtest unix:/tmp/qtest-211303.sock -qtest-log /dev/null -chardev socket,path=/tmp/qtest-211303.qmp,id=char0 -mon chardev=char0,mode=control -display none -audio none -M virt,aclint=on,aia=aplic-imsic -fsdev local,id=fsdev0,path='/home/thuth/tmp/qemu-build/qtest-9p-local-MBCML2',security_model=mapped-xattr -device virtio-9p-pci,fsdev=fsdev0,addr=04.0,mount_tag=qtest -accel qtest >>> ok 168 /riscv64/virt/generic-pcihost/pci-bus-generic/pci-bus/virtio-9p-pci/virtio-9p/virtio-9p-tests/local/config >>> Received response 7 (RLERROR) instead of 73 (RMKDIR) >>> Rlerror has errno 17 (File exists) >>> ** >>> ERROR:../../devel/qemu/tests/qtest/libqos/virtio-9p-client.c:275:v9fs_req_recv: assertion failed (hdr.id == id): (7 == 73) >>> not ok /riscv64/virt/generic-pcihost/pci-bus-generic/pci-bus/virtio-9p-pci/virtio-9p/virtio-9p-tests/local/create_dir - ERROR:../../devel/qemu/tests/qtest/libqos/virtio-9p-client.c:275:v9fs_req_recv: assertion failed (hdr.id == id): (7 == 73) >>> Bail out! >>> Aborted (core dumped) >>> >>> Could you please have a look? ... or if it is too cumbersome to fix, could we please always skip the virtio-9p local tests on riscv ? >> >> I'll take a look. >> >> Do we run these slow tests in the Gitlab pipeline? I don't recall this >> particular test failing when I first introduced the riscv machine nodes. > > No, the 'local' 9p tests were taken out by moving them to 'slow', because > these particular tests did not pass in the cloud and gitlab doesn't run > 'slow': > > commit 558f5c42efded3e0d0b20a90bce2a9a14580d824 > Author: Greg Kurz <groug@kaod.org> > Date: Tue Nov 24 08:43:43 2020 +0100 > > tests/9pfs: Mark "local" tests as "slow" > > The "local" tests can fail on some automated build systems as > reported here: > > https://lists.nongnu.org/archive/html/qemu-devel/2020-11/msg05510.html > > This will need to be investigated and addressed later. Let's go for a > workaround in the meantime : mark the "local" tests as "slow" so that > they aren't executed with a simple "make check" like in the case above. > > Reported-by: Cole Robinson <crobinso@redhat.com> > Signed-off-by: Greg Kurz <groug@kaod.org> > Reviewed-by: Thomas Huth <thuth@redhat.com> > Acked-by: Christian Schoenebeck <qemu_oss@crudebyte.com> > Message-Id: <160620382310.1423262.7364287092069513483.stgit@bahia.lan> > Signed-off-by: Greg Kurz <groug@kaod.org> > > Could be because the 'local' 9p backend needs xattr support which might not be > available with gitlab container's filesystem. But I haven't investigated. I just ran "make check SPEED=slow" locally on my laptop. Only the riscv qos-tests were failing, the other targets worked fine. So this must be something specific to riscv, I think. Thomas
diff --git a/tests/qtest/libqos/riscv-virt-machine.c b/tests/qtest/libqos/riscv-virt-machine.c new file mode 100644 index 0000000000..c4364c9c5d --- /dev/null +++ b/tests/qtest/libqos/riscv-virt-machine.c @@ -0,0 +1,137 @@ +/* + * libqos driver framework for risc-v + * + * Initial version based on arm-virt-machine.c + * + * Copyright (c) 2024 Ventana Micro + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1 as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see <http://www.gnu.org/licenses/> + */ + +#include "qemu/osdep.h" +#include "../libqtest.h" +#include "qemu/module.h" +#include "libqos-malloc.h" +#include "qgraph.h" +#include "virtio-mmio.h" +#include "generic-pcihost.h" +#include "hw/pci/pci_regs.h" + +#define RISCV_PAGE_SIZE 4096 + +/* VIRT_DRAM */ +#define RISCV_VIRT_RAM_ADDR 0x80000000 +#define RISCV_VIRT_RAM_SIZE 0x20000000 + +/* + * VIRT_VIRTIO. BASE_ADDR points to the last + * virtio_mmio device. + */ +#define VIRTIO_MMIO_BASE_ADDR 0x10008000 +#define VIRTIO_MMIO_SIZE 0x00001000 + +/* VIRT_PCIE_PIO */ +#define RISCV_GPEX_PIO_BASE 0x3000000 +#define RISCV_BUS_PIO_LIMIT 0x10000 + +/* VIRT_PCIE_MMIO */ +#define RISCV_BUS_MMIO_ALLOC_PTR 0x40000000 +#define RISCV_BUS_MMIO_LIMIT 0x80000000 + +/* VIRT_PCIE_ECAM */ +#define RISCV_ECAM_ALLOC_PTR 0x30000000 + +typedef struct QVirtMachine QVirtMachine; + +struct QVirtMachine { + QOSGraphObject obj; + QGuestAllocator alloc; + QVirtioMMIODevice virtio_mmio; + QGenericPCIHost bridge; +}; + +static void virt_destructor(QOSGraphObject *obj) +{ + QVirtMachine *machine = (QVirtMachine *) obj; + alloc_destroy(&machine->alloc); +} + +static void *virt_get_driver(void *object, const char *interface) +{ + QVirtMachine *machine = object; + if (!g_strcmp0(interface, "memory")) { + return &machine->alloc; + } + + fprintf(stderr, "%s not present in riscv/virtio\n", interface); + g_assert_not_reached(); +} + +static QOSGraphObject *virt_get_device(void *obj, const char *device) +{ + QVirtMachine *machine = obj; + if (!g_strcmp0(device, "generic-pcihost")) { + return &machine->bridge.obj; + } else if (!g_strcmp0(device, "virtio-mmio")) { + return &machine->virtio_mmio.obj; + } + + fprintf(stderr, "%s not present in riscv/virt\n", device); + g_assert_not_reached(); +} + +static void riscv_config_qpci_bus(QGenericPCIBus *qpci) +{ + qpci->gpex_pio_base = RISCV_GPEX_PIO_BASE; + qpci->bus.pio_limit = RISCV_BUS_PIO_LIMIT; + + qpci->bus.mmio_alloc_ptr = RISCV_BUS_MMIO_ALLOC_PTR; + qpci->bus.mmio_limit = RISCV_BUS_MMIO_LIMIT; + + qpci->ecam_alloc_ptr = RISCV_ECAM_ALLOC_PTR; +} + +static void *qos_create_machine_riscv_virt(QTestState *qts) +{ + QVirtMachine *machine = g_new0(QVirtMachine, 1); + + alloc_init(&machine->alloc, 0, + RISCV_VIRT_RAM_ADDR, + RISCV_VIRT_RAM_ADDR + RISCV_VIRT_RAM_SIZE, + RISCV_PAGE_SIZE); + qvirtio_mmio_init_device(&machine->virtio_mmio, qts, VIRTIO_MMIO_BASE_ADDR, + VIRTIO_MMIO_SIZE); + + qos_create_generic_pcihost(&machine->bridge, qts, &machine->alloc); + riscv_config_qpci_bus(&machine->bridge.pci); + + machine->obj.get_device = virt_get_device; + machine->obj.get_driver = virt_get_driver; + machine->obj.destructor = virt_destructor; + return machine; +} + +static void virt_machine_register_nodes(void) +{ + qos_node_create_machine_args("riscv32/virt", qos_create_machine_riscv_virt, + "aclint=on,aia=aplic-imsic"); + qos_node_contains("riscv32/virt", "virtio-mmio", NULL); + qos_node_contains("riscv32/virt", "generic-pcihost", NULL); + + qos_node_create_machine_args("riscv64/virt", qos_create_machine_riscv_virt, + "aclint=on,aia=aplic-imsic"); + qos_node_contains("riscv64/virt", "virtio-mmio", NULL); + qos_node_contains("riscv64/virt", "generic-pcihost", NULL); +} + +libqos_init(virt_machine_register_nodes); diff --git a/tests/qtest/libqos/meson.build b/tests/qtest/libqos/meson.build index 90aae42a22..3aed6efcb8 100644 --- a/tests/qtest/libqos/meson.build +++ b/tests/qtest/libqos/meson.build @@ -60,6 +60,7 @@ libqos_srcs = files( 'arm-xilinx-zynq-a9-machine.c', 'ppc64_pseries-machine.c', 'x86_64_pc-machine.c', + 'riscv-virt-machine.c', ) if have_virtfs