mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
tests: Add test for PCI usage on RISC-V
This shows users can now use PCI for RISC-V guests, as long as they opt into it by manually assigning addresses. Signed-off-by: Andrea Bolognani <abologna@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
e266a41f1e
commit
c5f92bf558
27
tests/qemuxml2argvdata/riscv64-virt-pci.args
Normal file
27
tests/qemuxml2argvdata/riscv64-virt-pci.args
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
LC_ALL=C \
|
||||||
|
PATH=/bin \
|
||||||
|
HOME=/home/test \
|
||||||
|
USER=test \
|
||||||
|
LOGNAME=test \
|
||||||
|
QEMU_AUDIO_DRV=none \
|
||||||
|
/usr/bin/qemu-system-riscv64 \
|
||||||
|
-name riscv64 \
|
||||||
|
-S \
|
||||||
|
-machine virt,accel=tcg,usb=off,dump-guest-core=off \
|
||||||
|
-m 2048 \
|
||||||
|
-smp 1,sockets=1,cores=1,threads=1 \
|
||||||
|
-uuid fd65fc03-8838-4c4d-9d8d-395802488790 \
|
||||||
|
-display none \
|
||||||
|
-no-user-config \
|
||||||
|
-nodefaults \
|
||||||
|
-chardev socket,id=charmonitor,path=/tmp/lib/domain--1-riscv64/monitor.sock,\
|
||||||
|
server,nowait \
|
||||||
|
-mon chardev=charmonitor,id=monitor,mode=control \
|
||||||
|
-rtc base=utc \
|
||||||
|
-no-shutdown \
|
||||||
|
-kernel /var/lib/libvirt/images/riscv64.bbl \
|
||||||
|
-append root=/dev/vda \
|
||||||
|
-drive file=/var/lib/libvirt/images/riscv64.qcow2,format=qcow2,if=none,\
|
||||||
|
id=drive-virtio-disk0 \
|
||||||
|
-device virtio-blk-pci,bus=pcie.0,addr=0x1,drive=drive-virtio-disk0,\
|
||||||
|
id=virtio-disk0,bootindex=1
|
24
tests/qemuxml2argvdata/riscv64-virt-pci.xml
Normal file
24
tests/qemuxml2argvdata/riscv64-virt-pci.xml
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
<domain type='qemu'>
|
||||||
|
<name>riscv64</name>
|
||||||
|
<uuid>fd65fc03-8838-4c4d-9d8d-395802488790</uuid>
|
||||||
|
<memory unit='KiB'>2097152</memory>
|
||||||
|
<vcpu placement='static'>1</vcpu>
|
||||||
|
<os>
|
||||||
|
<type arch='riscv64' machine='virt'>hvm</type>
|
||||||
|
<kernel>/var/lib/libvirt/images/riscv64.bbl</kernel>
|
||||||
|
<cmdline>root=/dev/vda</cmdline>
|
||||||
|
</os>
|
||||||
|
<devices>
|
||||||
|
<emulator>/usr/bin/qemu-system-riscv64</emulator>
|
||||||
|
<disk type='file'>
|
||||||
|
<driver name='qemu' type='qcow2'/>
|
||||||
|
<source file='/var/lib/libvirt/images/riscv64.qcow2'/>
|
||||||
|
<target dev='vda' bus='virtio'/>
|
||||||
|
<!-- We need to manually pick an address on pcie.0 because otherwise
|
||||||
|
libvirt would try to add pcie-root-ports, and QEMU doesn't support
|
||||||
|
PCIe controllers for RISC-V guests yet -->
|
||||||
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
|
||||||
|
</disk>
|
||||||
|
<memballoon model='none'/>
|
||||||
|
</devices>
|
||||||
|
</domain>
|
@ -3072,6 +3072,8 @@ mymain(void)
|
|||||||
|
|
||||||
DO_TEST("riscv64-virt",
|
DO_TEST("riscv64-virt",
|
||||||
QEMU_CAPS_DEVICE_VIRTIO_MMIO);
|
QEMU_CAPS_DEVICE_VIRTIO_MMIO);
|
||||||
|
DO_TEST("riscv64-virt-pci",
|
||||||
|
QEMU_CAPS_OBJECT_GPEX);
|
||||||
|
|
||||||
/* Simple headless guests for various architectures */
|
/* Simple headless guests for various architectures */
|
||||||
DO_TEST_CAPS_ARCH_LATEST("aarch64-virt-headless", "aarch64");
|
DO_TEST_CAPS_ARCH_LATEST("aarch64-virt-headless", "aarch64");
|
||||||
|
28
tests/qemuxml2xmloutdata/riscv64-virt-pci.xml
Normal file
28
tests/qemuxml2xmloutdata/riscv64-virt-pci.xml
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
<domain type='qemu'>
|
||||||
|
<name>riscv64</name>
|
||||||
|
<uuid>fd65fc03-8838-4c4d-9d8d-395802488790</uuid>
|
||||||
|
<memory unit='KiB'>2097152</memory>
|
||||||
|
<currentMemory unit='KiB'>2097152</currentMemory>
|
||||||
|
<vcpu placement='static'>1</vcpu>
|
||||||
|
<os>
|
||||||
|
<type arch='riscv64' machine='virt'>hvm</type>
|
||||||
|
<kernel>/var/lib/libvirt/images/riscv64.bbl</kernel>
|
||||||
|
<cmdline>root=/dev/vda</cmdline>
|
||||||
|
<boot dev='hd'/>
|
||||||
|
</os>
|
||||||
|
<clock offset='utc'/>
|
||||||
|
<on_poweroff>destroy</on_poweroff>
|
||||||
|
<on_reboot>restart</on_reboot>
|
||||||
|
<on_crash>destroy</on_crash>
|
||||||
|
<devices>
|
||||||
|
<emulator>/usr/bin/qemu-system-riscv64</emulator>
|
||||||
|
<disk type='file' device='disk'>
|
||||||
|
<driver name='qemu' type='qcow2'/>
|
||||||
|
<source file='/var/lib/libvirt/images/riscv64.qcow2'/>
|
||||||
|
<target dev='vda' bus='virtio'/>
|
||||||
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
|
||||||
|
</disk>
|
||||||
|
<controller type='pci' index='0' model='pcie-root'/>
|
||||||
|
<memballoon model='none'/>
|
||||||
|
</devices>
|
||||||
|
</domain>
|
@ -1267,6 +1267,8 @@ mymain(void)
|
|||||||
|
|
||||||
DO_TEST("riscv64-virt",
|
DO_TEST("riscv64-virt",
|
||||||
QEMU_CAPS_DEVICE_VIRTIO_MMIO);
|
QEMU_CAPS_DEVICE_VIRTIO_MMIO);
|
||||||
|
DO_TEST("riscv64-virt-pci",
|
||||||
|
QEMU_CAPS_OBJECT_GPEX);
|
||||||
|
|
||||||
if (getenv("LIBVIRT_SKIP_CLEANUP") == NULL)
|
if (getenv("LIBVIRT_SKIP_CLEANUP") == NULL)
|
||||||
virFileDeleteTree(fakerootdir);
|
virFileDeleteTree(fakerootdir);
|
||||||
|
Loading…
Reference in New Issue
Block a user