diff --git a/tests/domaincapsdata/qemu_5.0.0-tcg-virt.riscv64.xml b/tests/domaincapsdata/qemu_5.0.0-tcg-virt.riscv64.xml new file mode 100644 index 0000000000..6218583336 --- /dev/null +++ b/tests/domaincapsdata/qemu_5.0.0-tcg-virt.riscv64.xml @@ -0,0 +1,142 @@ + + /usr/bin/qemu-system-riscv64 + qemu + virt + riscv64 + + + + + + /usr/share/AAVMF/AAVMF_CODE.fd + /usr/share/AAVMF/AAVMF32_CODE.fd + /usr/share/OVMF/OVMF_CODE.fd + + rom + pflash + + + yes + no + + + no + + + + + + + + + + + + file + anonymous + memfd + + + + + + disk + cdrom + floppy + lun + + + fdc + scsi + virtio + usb + sata + + + virtio + virtio-transitional + virtio-non-transitional + + + + + sdl + vnc + spice + egl-headless + + + + + + subsystem + + + default + mandatory + requisite + optional + + + usb + pci + scsi + + + + default + vfio + + + + + virtio + virtio-transitional + virtio-non-transitional + + + random + egd + builtin + + + + + path + handle + virtiofs + + + + + + usb + + + + + pty + unix + spicevmc + + + + + + + + + + + + + diff --git a/tests/domaincapsdata/qemu_5.0.0-virt.riscv64.xml b/tests/domaincapsdata/qemu_5.0.0-virt.riscv64.xml new file mode 100644 index 0000000000..772556d19e --- /dev/null +++ b/tests/domaincapsdata/qemu_5.0.0-virt.riscv64.xml @@ -0,0 +1,145 @@ + + /usr/bin/qemu-system-riscv64 + kvm + virt + riscv64 + + + + + /usr/share/AAVMF/AAVMF_CODE.fd + /usr/share/AAVMF/AAVMF32_CODE.fd + /usr/share/OVMF/OVMF_CODE.fd + + rom + pflash + + + yes + no + + + no + + + + + + + off + + + + + + + + + file + anonymous + memfd + + + + + + disk + cdrom + floppy + lun + + + fdc + scsi + virtio + usb + sata + + + virtio + virtio-transitional + virtio-non-transitional + + + + + sdl + vnc + spice + egl-headless + + + + + + subsystem + + + default + mandatory + requisite + optional + + + usb + pci + scsi + + + + default + vfio + + + + + virtio + virtio-transitional + virtio-non-transitional + + + random + egd + builtin + + + + + path + handle + virtiofs + + + + + + usb + + + + + pty + unix + spicevmc + + + + + + + + + + + + + diff --git a/tests/domaincapsdata/qemu_5.2.0-tcg-virt.riscv64.xml b/tests/domaincapsdata/qemu_5.2.0-tcg-virt.riscv64.xml new file mode 100644 index 0000000000..6218583336 --- /dev/null +++ b/tests/domaincapsdata/qemu_5.2.0-tcg-virt.riscv64.xml @@ -0,0 +1,142 @@ + + /usr/bin/qemu-system-riscv64 + qemu + virt + riscv64 + + + + + + /usr/share/AAVMF/AAVMF_CODE.fd + /usr/share/AAVMF/AAVMF32_CODE.fd + /usr/share/OVMF/OVMF_CODE.fd + + rom + pflash + + + yes + no + + + no + + + + + + + + + + + + file + anonymous + memfd + + + + + + disk + cdrom + floppy + lun + + + fdc + scsi + virtio + usb + sata + + + virtio + virtio-transitional + virtio-non-transitional + + + + + sdl + vnc + spice + egl-headless + + + + + + subsystem + + + default + mandatory + requisite + optional + + + usb + pci + scsi + + + + default + vfio + + + + + virtio + virtio-transitional + virtio-non-transitional + + + random + egd + builtin + + + + + path + handle + virtiofs + + + + + + usb + + + + + pty + unix + spicevmc + + + + + + + + + + + + + diff --git a/tests/domaincapsdata/qemu_5.2.0-virt.riscv64.xml b/tests/domaincapsdata/qemu_5.2.0-virt.riscv64.xml new file mode 100644 index 0000000000..772556d19e --- /dev/null +++ b/tests/domaincapsdata/qemu_5.2.0-virt.riscv64.xml @@ -0,0 +1,145 @@ + + /usr/bin/qemu-system-riscv64 + kvm + virt + riscv64 + + + + + /usr/share/AAVMF/AAVMF_CODE.fd + /usr/share/AAVMF/AAVMF32_CODE.fd + /usr/share/OVMF/OVMF_CODE.fd + + rom + pflash + + + yes + no + + + no + + + + + + + off + + + + + + + + + file + anonymous + memfd + + + + + + disk + cdrom + floppy + lun + + + fdc + scsi + virtio + usb + sata + + + virtio + virtio-transitional + virtio-non-transitional + + + + + sdl + vnc + spice + egl-headless + + + + + + subsystem + + + default + mandatory + requisite + optional + + + usb + pci + scsi + + + + default + vfio + + + + + virtio + virtio-transitional + virtio-non-transitional + + + random + egd + builtin + + + + + path + handle + virtiofs + + + + + + usb + + + + + pty + unix + spicevmc + + + + + + + + + + + + + diff --git a/tests/domaincapsdata/qemu_8.0.0-tcg-virt.riscv64.xml b/tests/domaincapsdata/qemu_8.0.0-tcg-virt.riscv64.xml new file mode 100644 index 0000000000..f5814253b5 --- /dev/null +++ b/tests/domaincapsdata/qemu_8.0.0-tcg-virt.riscv64.xml @@ -0,0 +1,148 @@ + + /usr/bin/qemu-system-riscv64 + qemu + virt + riscv64 + + + + + + /usr/share/AAVMF/AAVMF_CODE.fd + /usr/share/AAVMF/AAVMF32_CODE.fd + /usr/share/OVMF/OVMF_CODE.fd + + rom + pflash + + + yes + no + + + no + + + + + + + + + + + + file + anonymous + memfd + + + + + + disk + cdrom + floppy + lun + + + fdc + scsi + virtio + usb + sata + + + virtio + virtio-transitional + virtio-non-transitional + + + + + vnc + spice + + + + + + subsystem + + + default + mandatory + requisite + optional + + + usb + pci + scsi + + + + default + vfio + + + + + virtio + virtio-transitional + virtio-non-transitional + + + random + egd + builtin + + + + + path + handle + virtiofs + + + + + tpm-tis + + + passthrough + emulator + external + + + 2.0 + + + + + + pty + unix + spicevmc + + + + + + + + + + + + + diff --git a/tests/domaincapsdata/qemu_8.0.0-virt.riscv64.xml b/tests/domaincapsdata/qemu_8.0.0-virt.riscv64.xml new file mode 100644 index 0000000000..b583ba5d63 --- /dev/null +++ b/tests/domaincapsdata/qemu_8.0.0-virt.riscv64.xml @@ -0,0 +1,151 @@ + + /usr/bin/qemu-system-riscv64 + kvm + virt + riscv64 + + + + + /usr/share/AAVMF/AAVMF_CODE.fd + /usr/share/AAVMF/AAVMF32_CODE.fd + /usr/share/OVMF/OVMF_CODE.fd + + rom + pflash + + + yes + no + + + no + + + + + + + off + + + + + + + + + file + anonymous + memfd + + + + + + disk + cdrom + floppy + lun + + + fdc + scsi + virtio + usb + sata + + + virtio + virtio-transitional + virtio-non-transitional + + + + + vnc + spice + + + + + + subsystem + + + default + mandatory + requisite + optional + + + usb + pci + scsi + + + + default + vfio + + + + + virtio + virtio-transitional + virtio-non-transitional + + + random + egd + builtin + + + + + path + handle + virtiofs + + + + + tpm-tis + + + passthrough + emulator + external + + + 2.0 + + + + + + pty + unix + spicevmc + + + + + + + + + + + + + diff --git a/tests/domaincapstest.c b/tests/domaincapstest.c index b3cf4426f3..359ead2d32 100644 --- a/tests/domaincapstest.c +++ b/tests/domaincapstest.c @@ -337,8 +337,18 @@ doTestQemu(const char *inputDir G_GNUC_UNUSED, VIR_DOMAIN_VIRT_KVM, opaque) < 0) ret = -1; } else if (STRPREFIX(arch, "riscv")) { - /* Unfortunately we have to skip RISC-V at the moment */ - return 0; + /* For riscv64 we test two combinations: + * + * - KVM with virt machine + * - TCG with virt machine + */ + if (doTestQemuInternal(version, "virt", arch, + VIR_DOMAIN_VIRT_KVM, opaque) < 0) + ret = -1; + + if (doTestQemuInternal(version, "virt", arch, + VIR_DOMAIN_VIRT_QEMU, opaque) < 0) + ret = -1; } else { if (doTestQemuInternal(version, NULL, arch, VIR_DOMAIN_VIRT_KVM, opaque) < 0) diff --git a/tests/testutilshostcpus.h b/tests/testutilshostcpus.h index e38d7c8b5a..74c6e0d22a 100644 --- a/tests/testutilshostcpus.h +++ b/tests/testutilshostcpus.h @@ -147,6 +147,14 @@ static virCPUDef cpuSparcData = { .threads = 1, }; +static virCPUDef cpuRiscv64Data = { + .type = VIR_CPU_TYPE_HOST, + .arch = VIR_ARCH_RISCV64, + .sockets = 1, + .cores = 4, + .threads = 1, +}; + static inline virCPUDef * testUtilsHostCpusGetDefForModel(const char *model) { @@ -182,6 +190,8 @@ testUtilsHostCpusGetDefForArch(virArch arch) return virCPUDefCopy(&cpuAarch64Data); else if (arch == VIR_ARCH_SPARC) return virCPUDefCopy(&cpuSparcData); + else if (arch == VIR_ARCH_RISCV64) + return virCPUDefCopy(&cpuRiscv64Data); return NULL; }