qemu with hax to log dma reads & writes jcs.org/2018/11/12/vfio
at master 329 lines 16 kB view raw
1# All QTests for now are POSIX-only, but the dependencies are 2# really in libqtest, not in the testcases themselves. 3 4check-qtest-generic-y += cdrom-test 5check-qtest-generic-y += device-introspect-test 6check-qtest-generic-y += machine-none-test 7check-qtest-generic-y += qmp-test 8check-qtest-generic-y += qmp-cmd-test 9check-qtest-generic-y += qom-test 10check-qtest-generic-$(CONFIG_MODULES) += modules-test 11check-qtest-generic-y += test-hmp 12 13check-qtest-pci-$(CONFIG_RTL8139_PCI) += rtl8139-test 14check-qtest-pci-$(CONFIG_VGA) += display-vga-test 15check-qtest-pci-$(CONFIG_HDA) += intel-hda-test 16check-qtest-pci-$(CONFIG_IVSHMEM_DEVICE) += ivshmem-test 17 18DBUS_DAEMON := $(shell which dbus-daemon 2>/dev/null) 19ifneq ($(GDBUS_CODEGEN),) 20ifneq ($(DBUS_DAEMON),) 21# Temporarily disabled due to Patchew failures: 22#check-qtest-pci-$(CONFIG_GIO) += dbus-vmstate-test 23endif 24endif 25 26check-qtest-i386-$(CONFIG_ISA_TESTDEV) = endianness-test 27check-qtest-i386-y += fdc-test 28check-qtest-i386-y += ide-test 29check-qtest-i386-$(CONFIG_TOOLS) += ahci-test 30check-qtest-i386-y += hd-geo-test 31check-qtest-i386-y += boot-order-test 32check-qtest-i386-y += bios-tables-test 33check-qtest-i386-$(CONFIG_SGA) += boot-serial-test 34check-qtest-i386-$(CONFIG_SLIRP) += pxe-test 35check-qtest-i386-y += rtc-test 36check-qtest-i386-$(CONFIG_ISA_IPMI_KCS) += ipmi-kcs-test 37ifdef CONFIG_LINUX 38check-qtest-i386-$(CONFIG_ISA_IPMI_BT) += ipmi-bt-test 39endif 40check-qtest-i386-y += i440fx-test 41check-qtest-i386-y += fw_cfg-test 42check-qtest-i386-y += device-plug-test 43check-qtest-i386-y += drive_del-test 44check-qtest-i386-$(CONFIG_WDT_IB700) += wdt_ib700-test 45check-qtest-i386-y += tco-test 46check-qtest-i386-y += $(check-qtest-pci-y) 47check-qtest-i386-$(CONFIG_PVPANIC) += pvpanic-test 48check-qtest-i386-$(CONFIG_I82801B11) += i82801b11-test 49check-qtest-i386-$(CONFIG_IOH3420) += ioh3420-test 50check-qtest-i386-$(CONFIG_USB_UHCI) += usb-hcd-uhci-test 51check-qtest-i386-$(call land,$(CONFIG_USB_EHCI),$(CONFIG_USB_UHCI)) += usb-hcd-ehci-test 52check-qtest-i386-$(CONFIG_USB_XHCI_NEC) += usb-hcd-xhci-test 53check-qtest-i386-y += cpu-plug-test 54check-qtest-i386-y += q35-test 55check-qtest-i386-y += vmgenid-test 56check-qtest-i386-$(CONFIG_TPM_CRB) += tpm-crb-swtpm-test 57check-qtest-i386-$(CONFIG_TPM_CRB) += tpm-crb-test 58check-qtest-i386-$(CONFIG_TPM_TIS_ISA) += tpm-tis-swtpm-test 59check-qtest-i386-$(CONFIG_TPM_TIS_ISA) += tpm-tis-test 60check-qtest-i386-$(CONFIG_SLIRP) += test-netfilter 61check-qtest-i386-$(CONFIG_POSIX) += test-filter-mirror 62check-qtest-i386-$(CONFIG_RTL8139_PCI) += test-filter-redirector 63check-qtest-i386-y += migration-test 64check-qtest-i386-y += test-x86-cpuid-compat 65check-qtest-i386-y += numa-test 66 67check-qtest-x86_64-y += $(check-qtest-i386-y) 68 69check-qtest-alpha-y += boot-serial-test 70check-qtest-alpha-$(CONFIG_VGA) += display-vga-test 71 72check-qtest-hppa-y += boot-serial-test 73check-qtest-hppa-$(CONFIG_VGA) += display-vga-test 74 75check-qtest-m68k-y = boot-serial-test 76 77check-qtest-microblaze-y += boot-serial-test 78 79check-qtest-mips-$(CONFIG_ISA_TESTDEV) = endianness-test 80check-qtest-mips-$(CONFIG_VGA) += display-vga-test 81 82check-qtest-mips64-$(CONFIG_ISA_TESTDEV) = endianness-test 83check-qtest-mips64-$(CONFIG_VGA) += display-vga-test 84 85check-qtest-mips64el-$(CONFIG_ISA_TESTDEV) = endianness-test 86check-qtest-mips64el-$(CONFIG_VGA) += display-vga-test 87 88check-qtest-moxie-y += boot-serial-test 89 90check-qtest-ppc-$(CONFIG_ISA_TESTDEV) = endianness-test 91check-qtest-ppc-y += boot-order-test 92check-qtest-ppc-y += prom-env-test 93check-qtest-ppc-y += drive_del-test 94check-qtest-ppc-y += boot-serial-test 95check-qtest-ppc-$(CONFIG_M48T59) += m48t59-test 96 97check-qtest-ppc64-y += $(check-qtest-ppc-y) 98check-qtest-ppc64-$(CONFIG_PSERIES) += device-plug-test 99check-qtest-ppc64-$(CONFIG_POWERNV) += pnv-xscom-test 100check-qtest-ppc64-y += migration-test 101check-qtest-ppc64-$(CONFIG_PSERIES) += rtas-test 102check-qtest-ppc64-$(CONFIG_SLIRP) += pxe-test 103check-qtest-ppc64-$(CONFIG_USB_UHCI) += usb-hcd-uhci-test 104check-qtest-ppc64-$(CONFIG_USB_XHCI_NEC) += usb-hcd-xhci-test 105check-qtest-ppc64-$(CONFIG_SLIRP) += test-netfilter 106check-qtest-ppc64-$(CONFIG_POSIX) += test-filter-mirror 107check-qtest-ppc64-$(CONFIG_RTL8139_PCI) += test-filter-redirector 108check-qtest-ppc64-$(CONFIG_VGA) += display-vga-test 109check-qtest-ppc64-y += numa-test 110check-qtest-ppc64-$(CONFIG_IVSHMEM_DEVICE) += ivshmem-test 111check-qtest-ppc64-y += cpu-plug-test 112 113check-qtest-sh4-$(CONFIG_ISA_TESTDEV) = endianness-test 114 115check-qtest-sh4eb-$(CONFIG_ISA_TESTDEV) = endianness-test 116 117check-qtest-sparc-y += prom-env-test 118check-qtest-sparc-y += m48t59-test 119check-qtest-sparc-y += boot-serial-test 120 121check-qtest-sparc64-$(CONFIG_ISA_TESTDEV) = endianness-test 122check-qtest-sparc64-y += prom-env-test 123check-qtest-sparc64-y += boot-serial-test 124 125check-qtest-arm-y += arm-cpu-features 126check-qtest-arm-y += microbit-test 127check-qtest-arm-y += m25p80-test 128check-qtest-arm-y += test-arm-mptimer 129check-qtest-arm-y += boot-serial-test 130check-qtest-arm-y += hexloader-test 131check-qtest-arm-$(CONFIG_PFLASH_CFI02) += pflash-cfi02-test 132 133check-qtest-aarch64-y += arm-cpu-features 134check-qtest-aarch64-$(CONFIG_TPM_TIS_SYSBUS) += tpm-tis-device-test 135check-qtest-aarch64-$(CONFIG_TPM_TIS_SYSBUS) += tpm-tis-device-swtpm-test 136check-qtest-aarch64-y += numa-test 137check-qtest-aarch64-y += boot-serial-test 138check-qtest-aarch64-y += migration-test 139 140# TODO: once aarch64 TCG is fixed on ARM 32 bit host, make test unconditional 141ifneq ($(ARCH),arm) 142check-qtest-aarch64-y += bios-tables-test 143endif 144 145check-qtest-microblazeel-y += $(check-qtest-microblaze-y) 146 147check-qtest-xtensaeb-y += $(check-qtest-xtensa-y) 148 149check-qtest-s390x-y = boot-serial-test 150check-qtest-s390x-$(CONFIG_SLIRP) += pxe-test 151check-qtest-s390x-$(CONFIG_SLIRP) += test-netfilter 152check-qtest-s390x-$(CONFIG_POSIX) += test-filter-mirror 153check-qtest-s390x-$(CONFIG_POSIX) += test-filter-redirector 154check-qtest-s390x-y += drive_del-test 155check-qtest-s390x-y += device-plug-test 156check-qtest-s390x-y += virtio-ccw-test 157check-qtest-s390x-y += cpu-plug-test 158check-qtest-s390x-y += migration-test 159 160# libqos / qgraph : 161libqgraph-obj-y = tests/qtest/libqos/qgraph.o 162 163libqos-core-obj-y = $(libqgraph-obj-y) tests/qtest/libqos/pci.o tests/qtest/libqos/fw_cfg.o 164libqos-core-obj-y += tests/qtest/libqos/malloc.o 165libqos-core-obj-y += tests/qtest/libqos/libqos.o 166libqos-spapr-obj-y = $(libqos-core-obj-y) tests/qtest/libqos/malloc-spapr.o 167libqos-spapr-obj-y += tests/qtest/libqos/libqos-spapr.o 168libqos-spapr-obj-y += tests/qtest/libqos/rtas.o 169libqos-spapr-obj-y += tests/qtest/libqos/pci-spapr.o 170libqos-pc-obj-y = $(libqos-core-obj-y) tests/qtest/libqos/pci-pc.o 171libqos-pc-obj-y += tests/qtest/libqos/malloc-pc.o tests/qtest/libqos/libqos-pc.o 172libqos-pc-obj-y += tests/qtest/libqos/ahci.o 173libqos-usb-obj-y = $(libqos-spapr-obj-y) $(libqos-pc-obj-y) tests/qtest/libqos/usb.o 174 175# qos devices: 176libqos-obj-y = $(libqgraph-obj-y) 177libqos-obj-y += $(libqos-pc-obj-y) $(libqos-spapr-obj-y) 178libqos-obj-y += tests/qtest/libqos/qos_external.o 179libqos-obj-y += tests/qtest/libqos/e1000e.o 180libqos-obj-y += tests/qtest/libqos/i2c.o 181libqos-obj-y += tests/qtest/libqos/i2c-imx.o 182libqos-obj-y += tests/qtest/libqos/i2c-omap.o 183libqos-obj-y += tests/qtest/libqos/sdhci.o 184libqos-obj-y += tests/qtest/libqos/tpci200.o 185libqos-obj-y += tests/qtest/libqos/virtio.o 186libqos-obj-$(CONFIG_VIRTFS) += tests/qtest/libqos/virtio-9p.o 187libqos-obj-y += tests/qtest/libqos/virtio-balloon.o 188libqos-obj-y += tests/qtest/libqos/virtio-blk.o 189libqos-obj-y += tests/qtest/libqos/virtio-mmio.o 190libqos-obj-y += tests/qtest/libqos/virtio-net.o 191libqos-obj-y += tests/qtest/libqos/virtio-pci.o 192libqos-obj-y += tests/qtest/libqos/virtio-pci-modern.o 193libqos-obj-y += tests/qtest/libqos/virtio-rng.o 194libqos-obj-y += tests/qtest/libqos/virtio-scsi.o 195libqos-obj-y += tests/qtest/libqos/virtio-serial.o 196 197# qos machines: 198libqos-obj-y += tests/qtest/libqos/aarch64-xlnx-zcu102-machine.o 199libqos-obj-y += tests/qtest/libqos/arm-imx25-pdk-machine.o 200libqos-obj-y += tests/qtest/libqos/arm-n800-machine.o 201libqos-obj-y += tests/qtest/libqos/arm-raspi2-machine.o 202libqos-obj-y += tests/qtest/libqos/arm-sabrelite-machine.o 203libqos-obj-y += tests/qtest/libqos/arm-smdkc210-machine.o 204libqos-obj-y += tests/qtest/libqos/arm-virt-machine.o 205libqos-obj-y += tests/qtest/libqos/arm-xilinx-zynq-a9-machine.o 206libqos-obj-y += tests/qtest/libqos/ppc64_pseries-machine.o 207libqos-obj-y += tests/qtest/libqos/x86_64_pc-machine.o 208 209# qos tests: 210qos-test-obj-y += tests/qtest/qos-test.o 211qos-test-obj-y += tests/qtest/ac97-test.o 212qos-test-obj-y += tests/qtest/ds1338-test.o 213qos-test-obj-y += tests/qtest/e1000-test.o 214qos-test-obj-y += tests/qtest/e1000e-test.o 215qos-test-obj-y += tests/qtest/eepro100-test.o 216qos-test-obj-y += tests/qtest/es1370-test.o 217qos-test-obj-y += tests/qtest/ipoctal232-test.o 218qos-test-obj-y += tests/qtest/megasas-test.o 219qos-test-obj-y += tests/qtest/ne2000-test.o 220qos-test-obj-y += tests/qtest/tulip-test.o 221qos-test-obj-y += tests/qtest/nvme-test.o 222qos-test-obj-y += tests/qtest/pca9552-test.o 223qos-test-obj-y += tests/qtest/pci-test.o 224qos-test-obj-y += tests/qtest/pcnet-test.o 225qos-test-obj-y += tests/qtest/sdhci-test.o 226qos-test-obj-y += tests/qtest/spapr-phb-test.o 227qos-test-obj-y += tests/qtest/tmp105-test.o 228qos-test-obj-y += tests/qtest/usb-hcd-ohci-test.o $(libqos-usb-obj-y) 229qos-test-obj-$(CONFIG_VHOST_NET_USER) += tests/qtest/vhost-user-test.o $(chardev-obj-y) $(test-io-obj-y) 230qos-test-obj-y += tests/qtest/virtio-test.o 231qos-test-obj-$(CONFIG_VIRTFS) += tests/qtest/virtio-9p-test.o 232qos-test-obj-y += tests/qtest/virtio-blk-test.o 233qos-test-obj-y += tests/qtest/virtio-net-test.o 234qos-test-obj-y += tests/qtest/virtio-rng-test.o 235qos-test-obj-y += tests/qtest/virtio-scsi-test.o 236qos-test-obj-y += tests/qtest/virtio-serial-test.o 237qos-test-obj-y += tests/qtest/vmxnet3-test.o 238 239check-unit-y += tests/test-qgraph$(EXESUF) 240tests/test-qgraph$(EXESUF): tests/test-qgraph.o $(libqgraph-obj-y) 241 242check-qtest-generic-y += qos-test 243tests/qtest/qos-test$(EXESUF): $(qos-test-obj-y) $(libqos-obj-y) 244 245# QTest dependencies: 246tests/qtest/qmp-test$(EXESUF): tests/qtest/qmp-test.o 247tests/qtest/qmp-cmd-test$(EXESUF): tests/qtest/qmp-cmd-test.o 248tests/qtest/device-introspect-test$(EXESUF): tests/qtest/device-introspect-test.o 249tests/qtest/rtc-test$(EXESUF): tests/qtest/rtc-test.o 250tests/qtest/m48t59-test$(EXESUF): tests/qtest/m48t59-test.o 251tests/qtest/hexloader-test$(EXESUF): tests/qtest/hexloader-test.o 252tests/qtest/pflash-cfi02$(EXESUF): tests/qtest/pflash-cfi02-test.o 253tests/qtest/endianness-test$(EXESUF): tests/qtest/endianness-test.o 254tests/qtest/prom-env-test$(EXESUF): tests/qtest/prom-env-test.o $(libqos-obj-y) 255tests/qtest/rtas-test$(EXESUF): tests/qtest/rtas-test.o $(libqos-spapr-obj-y) 256tests/qtest/fdc-test$(EXESUF): tests/qtest/fdc-test.o 257tests/qtest/ide-test$(EXESUF): tests/qtest/ide-test.o $(libqos-pc-obj-y) 258tests/qtest/ahci-test$(EXESUF): tests/qtest/ahci-test.o $(libqos-pc-obj-y) qemu-img$(EXESUF) 259tests/qtest/ipmi-kcs-test$(EXESUF): tests/qtest/ipmi-kcs-test.o 260tests/qtest/ipmi-bt-test$(EXESUF): tests/qtest/ipmi-bt-test.o 261tests/qtest/hd-geo-test$(EXESUF): tests/qtest/hd-geo-test.o $(libqos-obj-y) 262tests/qtest/boot-order-test$(EXESUF): tests/qtest/boot-order-test.o $(libqos-obj-y) 263tests/qtest/boot-serial-test$(EXESUF): tests/qtest/boot-serial-test.o $(libqos-obj-y) 264tests/qtest/bios-tables-test$(EXESUF): tests/qtest/bios-tables-test.o \ 265 tests/qtest/tpm-emu.o $(test-io-obj-y) \ 266 tests/qtest/boot-sector.o tests/qtest/acpi-utils.o $(libqos-obj-y) 267tests/qtest/pxe-test$(EXESUF): tests/qtest/pxe-test.o tests/qtest/boot-sector.o $(libqos-obj-y) 268tests/qtest/microbit-test$(EXESUF): tests/qtest/microbit-test.o 269tests/qtest/m25p80-test$(EXESUF): tests/qtest/m25p80-test.o 270tests/qtest/i440fx-test$(EXESUF): tests/qtest/i440fx-test.o $(libqos-pc-obj-y) 271tests/qtest/q35-test$(EXESUF): tests/qtest/q35-test.o $(libqos-pc-obj-y) 272tests/qtest/fw_cfg-test$(EXESUF): tests/qtest/fw_cfg-test.o $(libqos-pc-obj-y) 273tests/qtest/rtl8139-test$(EXESUF): tests/qtest/rtl8139-test.o $(libqos-pc-obj-y) 274tests/qtest/pnv-xscom-test$(EXESUF): tests/qtest/pnv-xscom-test.o 275tests/qtest/wdt_ib700-test$(EXESUF): tests/qtest/wdt_ib700-test.o 276tests/qtest/tco-test$(EXESUF): tests/qtest/tco-test.o $(libqos-pc-obj-y) 277tests/qtest/virtio-ccw-test$(EXESUF): tests/qtest/virtio-ccw-test.o 278tests/qtest/display-vga-test$(EXESUF): tests/qtest/display-vga-test.o 279tests/qtest/qom-test$(EXESUF): tests/qtest/qom-test.o 280tests/qtest/test-hmp$(EXESUF): tests/qtest/test-hmp.o 281tests/qtest/machine-none-test$(EXESUF): tests/qtest/machine-none-test.o 282tests/qtest/device-plug-test$(EXESUF): tests/qtest/device-plug-test.o 283tests/qtest/drive_del-test$(EXESUF): tests/qtest/drive_del-test.o 284tests/qtest/pvpanic-test$(EXESUF): tests/qtest/pvpanic-test.o 285tests/qtest/i82801b11-test$(EXESUF): tests/qtest/i82801b11-test.o 286tests/qtest/intel-hda-test$(EXESUF): tests/qtest/intel-hda-test.o 287tests/qtest/ioh3420-test$(EXESUF): tests/qtest/ioh3420-test.o 288tests/qtest/usb-hcd-uhci-test$(EXESUF): tests/qtest/usb-hcd-uhci-test.o $(libqos-usb-obj-y) 289tests/qtest/usb-hcd-ehci-test$(EXESUF): tests/qtest/usb-hcd-ehci-test.o $(libqos-usb-obj-y) 290tests/qtest/usb-hcd-xhci-test$(EXESUF): tests/qtest/usb-hcd-xhci-test.o $(libqos-usb-obj-y) 291tests/qtest/cpu-plug-test$(EXESUF): tests/qtest/cpu-plug-test.o 292tests/qtest/migration-test$(EXESUF): tests/qtest/migration-test.o tests/qtest/migration-helpers.o 293tests/qtest/test-netfilter$(EXESUF): tests/qtest/test-netfilter.o $(qtest-obj-y) 294tests/qtest/test-filter-mirror$(EXESUF): tests/qtest/test-filter-mirror.o $(qtest-obj-y) 295tests/qtest/test-filter-redirector$(EXESUF): tests/qtest/test-filter-redirector.o $(qtest-obj-y) 296tests/qtest/test-x86-cpuid-compat$(EXESUF): tests/qtest/test-x86-cpuid-compat.o $(qtest-obj-y) 297tests/qtest/ivshmem-test$(EXESUF): tests/qtest/ivshmem-test.o contrib/ivshmem-server/ivshmem-server.o $(libqos-pc-obj-y) $(libqos-spapr-obj-y) 298tests/qtest/dbus-vmstate-test$(EXESUF): tests/qtest/dbus-vmstate-test.o tests/qtest/migration-helpers.o tests/qtest/dbus-vmstate1.o $(libqos-pc-obj-y) $(libqos-spapr-obj-y) 299tests/qtest/test-arm-mptimer$(EXESUF): tests/qtest/test-arm-mptimer.o 300tests/qtest/numa-test$(EXESUF): tests/qtest/numa-test.o 301tests/qtest/vmgenid-test$(EXESUF): tests/qtest/vmgenid-test.o tests/qtest/boot-sector.o tests/qtest/acpi-utils.o 302tests/qtest/cdrom-test$(EXESUF): tests/qtest/cdrom-test.o tests/qtest/boot-sector.o $(libqos-obj-y) 303tests/qtest/arm-cpu-features$(EXESUF): tests/qtest/arm-cpu-features.o 304tests/qtest/tpm-crb-swtpm-test$(EXESUF): tests/qtest/tpm-crb-swtpm-test.o tests/qtest/tpm-emu.o \ 305 tests/qtest/tpm-util.o tests/qtest/tpm-tests.o $(test-io-obj-y) 306tests/qtest/tpm-crb-test$(EXESUF): tests/qtest/tpm-crb-test.o tests/qtest/tpm-emu.o $(test-io-obj-y) 307tests/qtest/tpm-tis-swtpm-test$(EXESUF): tests/qtest/tpm-tis-swtpm-test.o tests/qtest/tpm-emu.o \ 308 tests/qtest/tpm-util.o tests/qtest/tpm-tests.o $(test-io-obj-y) 309tests/qtest/tpm-tis-device-swtpm-test$(EXESUF): tests/qtest/tpm-tis-device-swtpm-test.o tests/qtest/tpm-emu.o \ 310 tests/qtest/tpm-util.o tests/qtest/tpm-tests.o $(test-io-obj-y) 311tests/qtest/tpm-tis-test$(EXESUF): tests/qtest/tpm-tis-test.o tests/qtest/tpm-tis-util.o tests/qtest/tpm-emu.o $(test-io-obj-y) 312tests/qtest/tpm-tis-device-test$(EXESUF): tests/qtest/tpm-tis-device-test.o tests/qtest/tpm-tis-util.o tests/qtest/tpm-emu.o $(test-io-obj-y) 313 314# QTest rules 315 316TARGETS=$(patsubst %-softmmu,%, $(filter %-softmmu,$(TARGET_DIRS))) 317QTEST_TARGETS = 318# The qtests are not runnable (yet) under TSan due to a known issue. 319# https://github.com/google/sanitizers/issues/1116 320ifndef CONFIG_TSAN 321ifeq ($(CONFIG_POSIX),y) 322QTEST_TARGETS = $(TARGETS) 323check-qtest-y=$(foreach TARGET,$(TARGETS), $(check-qtest-$(TARGET)-y:%=tests/qtest/%$(EXESUF))) 324check-qtest-y += $(check-qtest-generic-y:%=tests/qtest/%$(EXESUF)) 325endif 326endif 327 328qtest-obj-y = tests/qtest/libqtest.o $(test-util-obj-y) 329$(check-qtest-y): $(qtest-obj-y)