hw/i386/pc_piix.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-)
In pc_init1(), ISA IDE is initialized without checking if ISAPC or IDE_ISA
configs are enabled. This results in a link error when
CONFIG_ISAPC is set to 'n' in the file default-configs/i386-softmmu.mak:
hw/i386/pc_piix.o: In function `pc_init1':
hw/i386/pc_piix.c:261: undefined reference to `isa_ide_init'
hw/i386/pc_piix.c:261: undefined reference to `isa_ide_init'
Place ide_isa code under #ifdef CONFIG_IDE_ISA to fix linker errors
Signed-off-by: Julio Montes <julio.montes@intel.com>
---
hw/i386/pc_piix.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index c07c4a5b38..b93f9327be 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -61,9 +61,11 @@
#define MAX_IDE_BUS 2
+#ifdef CONFIG_IDE_ISA
static const int ide_iobase[MAX_IDE_BUS] = { 0x1f0, 0x170 };
static const int ide_iobase2[MAX_IDE_BUS] = { 0x3f6, 0x376 };
static const int ide_irq[MAX_IDE_BUS] = { 14, 15 };
+#endif
/* PC hardware initialisation */
static void pc_init1(MachineState *machine,
@@ -254,7 +256,10 @@ static void pc_init1(MachineState *machine,
}
idebus[0] = qdev_get_child_bus(&dev->qdev, "ide.0");
idebus[1] = qdev_get_child_bus(&dev->qdev, "ide.1");
- } else {
+ pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state);
+ }
+#ifdef CONFIG_IDE_ISA
+else {
for(i = 0; i < MAX_IDE_BUS; i++) {
ISADevice *dev;
char busname[] = "ide.0";
@@ -268,9 +273,9 @@ static void pc_init1(MachineState *machine,
busname[4] = '0' + i;
idebus[i] = qdev_get_child_bus(DEVICE(dev), busname);
}
+ pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state);
}
-
- pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state);
+#endif
if (pcmc->pci_enabled && machine_usb(machine)) {
pci_create_simple(pci_bus, piix3_devfn + 2, "piix3-usb-uhci");
--
2.17.2
Patchew URL: https://patchew.org/QEMU/20190703154958.29004-1-julio.montes@intel.com/ Hi, This series failed the asan build test. Please find the testing commands and their output below. If you have Docker installed, you can probably reproduce it locally. === TEST SCRIPT BEGIN === #!/bin/bash make docker-image-fedora V=1 NETWORK=1 time make docker-test-debug@fedora TARGET_LIST=x86_64-softmmu J=14 NETWORK=1 === TEST SCRIPT END === PASS 7 check-qobject /public/qobject_is_equal_conversion PASS 3 fdc-test /x86_64/fdc/read_without_media MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/check-qjson -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="check-qjson" ==7810==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 4 fdc-test /x86_64/fdc/media_change PASS 5 fdc-test /x86_64/fdc/sense_interrupt PASS 6 fdc-test /x86_64/fdc/relative_seek --- PASS 32 test-opts-visitor /visitor/opts/range/beyond PASS 33 test-opts-visitor /visitor/opts/dict/unvisited MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-coroutine -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-coroutine" ==7872==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7872==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffc45d65000; bottom 0x7f16217f8000; size: 0x00e62456d000 (988452147200) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 1 test-coroutine /basic/no-dangling-access --- PASS 12 test-aio /aio/event/flush PASS 13 test-aio /aio/event/wait/no-flush-cb PASS 14 test-aio /aio/timer/schedule ==7888==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 15 test-aio /aio/coroutine/queue-chaining PASS 16 test-aio /aio-gsource/flush PASS 17 test-aio /aio-gsource/bh/schedule --- MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/ide-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="ide-test" PASS 28 test-aio /aio-gsource/timer/schedule MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-aio-multithread -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-aio-multithread" ==7900==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-aio-multithread /aio/multi/lifecycle ==7897==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 ide-test /x86_64/ide/identify PASS 2 test-aio-multithread /aio/multi/schedule ==7918==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 3 test-aio-multithread /aio/multi/mutex/contended PASS 2 ide-test /x86_64/ide/flush ==7934==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 3 ide-test /x86_64/ide/bmdma/simple_rw ==7940==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 4 ide-test /x86_64/ide/bmdma/trim PASS 4 test-aio-multithread /aio/multi/mutex/handoff ==7946==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 5 ide-test /x86_64/ide/bmdma/short_prdt PASS 5 test-aio-multithread /aio/multi/mutex/mcs ==7957==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 6 ide-test /x86_64/ide/bmdma/one_sector_short_prdt PASS 6 test-aio-multithread /aio/multi/mutex/pthread ==7968==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-throttle -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-throttle" ==7976==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 7 ide-test /x86_64/ide/bmdma/long_prdt PASS 1 test-throttle /throttle/leak_bucket PASS 2 test-throttle /throttle/compute_wait --- PASS 14 test-throttle /throttle/config/max PASS 15 test-throttle /throttle/config/iops_size MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-thread-pool -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-thread-pool" ==7982==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==7980==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-thread-pool /thread-pool/submit PASS 2 test-thread-pool /thread-pool/submit-aio PASS 3 test-thread-pool /thread-pool/submit-co PASS 4 test-thread-pool /thread-pool/submit-many ==7980==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffcc4b5f000; bottom 0x7f326c1fe000; size: 0x00ca58961000 (869069623296) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 8 ide-test /x86_64/ide/bmdma/no_busmaster PASS 9 ide-test /x86_64/ide/flush/nodev PASS 5 test-thread-pool /thread-pool/cancel ==8059==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 10 ide-test /x86_64/ide/flush/empty_drive ==8065==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 11 ide-test /x86_64/ide/flush/retry_pci PASS 6 test-thread-pool /thread-pool/cancel-async ==8071==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-hbitmap -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-hbitmap" PASS 12 ide-test /x86_64/ide/flush/retry_isa PASS 1 test-hbitmap /hbitmap/granularity --- PASS 3 test-hbitmap /hbitmap/size/unaligned PASS 4 test-hbitmap /hbitmap/iter/empty PASS 5 test-hbitmap /hbitmap/iter/partial ==8082==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 6 test-hbitmap /hbitmap/iter/granularity PASS 7 test-hbitmap /hbitmap/iter/iter_and_reset PASS 8 test-hbitmap /hbitmap/get/all --- PASS 14 test-hbitmap /hbitmap/set/twice PASS 15 test-hbitmap /hbitmap/set/overlap PASS 16 test-hbitmap /hbitmap/reset/empty ==8088==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 17 test-hbitmap /hbitmap/reset/general PASS 18 test-hbitmap /hbitmap/reset/all PASS 19 test-hbitmap /hbitmap/truncate/nop --- PASS 29 test-hbitmap /hbitmap/truncate/shrink/large PASS 30 test-hbitmap /hbitmap/meta/zero PASS 14 ide-test /x86_64/ide/cdrom/pio_large ==8094==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 15 ide-test /x86_64/ide/cdrom/dma MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/ahci-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="ahci-test" ==8108==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 ahci-test /x86_64/ahci/sanity ==8114==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 2 ahci-test /x86_64/ahci/pci_spec ==8120==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 31 test-hbitmap /hbitmap/meta/one PASS 32 test-hbitmap /hbitmap/meta/byte PASS 33 test-hbitmap /hbitmap/meta/word PASS 3 ahci-test /x86_64/ahci/pci_enable ==8126==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 34 test-hbitmap /hbitmap/meta/sector PASS 35 test-hbitmap /hbitmap/serialize/align PASS 4 ahci-test /x86_64/ahci/hba_spec ==8132==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 5 ahci-test /x86_64/ahci/hba_enable PASS 36 test-hbitmap /hbitmap/serialize/basic PASS 37 test-hbitmap /hbitmap/serialize/part PASS 38 test-hbitmap /hbitmap/serialize/zeroes PASS 39 test-hbitmap /hbitmap/next_zero/next_zero_0 PASS 40 test-hbitmap /hbitmap/next_zero/next_zero_4 ==8138==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 41 test-hbitmap /hbitmap/next_dirty_area/next_dirty_area_0 PASS 42 test-hbitmap /hbitmap/next_dirty_area/next_dirty_area_1 PASS 43 test-hbitmap /hbitmap/next_dirty_area/next_dirty_area_4 MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-bdrv-drain -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-bdrv-drain" ==8145==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-bdrv-drain /bdrv-drain/nested PASS 2 test-bdrv-drain /bdrv-drain/multiparent PASS 3 test-bdrv-drain /bdrv-drain/set_aio_context --- PASS 38 test-bdrv-drain /bdrv-drain/detach/driver_cb PASS 39 test-bdrv-drain /bdrv-drain/attach/drain MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-bdrv-graph-mod -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-bdrv-graph-mod" ==8174==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==8187==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-bdrv-graph-mod /bdrv-graph-mod/update-perm-tree PASS 2 test-bdrv-graph-mod /bdrv-graph-mod/should-update-child MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-blockjob -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-blockjob" PASS 7 ahci-test /x86_64/ahci/max ==8197==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-blockjob /blockjob/ids PASS 2 test-blockjob /blockjob/cancel/created PASS 3 test-blockjob /blockjob/cancel/running --- PASS 7 test-blockjob /blockjob/cancel/pending PASS 8 test-blockjob /blockjob/cancel/concluded MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-blockjob-txn -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-blockjob-txn" ==8203==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-blockjob-txn /single/success PASS 2 test-blockjob-txn /single/failure PASS 3 test-blockjob-txn /single/cancel --- PASS 5 test-blockjob-txn /pair/failure PASS 6 test-blockjob-txn /pair/cancel PASS 7 test-blockjob-txn /pair/fail-cancel-race ==8200==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-block-backend -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-block-backend" ==8212==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-block-backend /block-backend/drain_aio_error PASS 2 test-block-backend /block-backend/drain_all_aio_error MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-block-iothread -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-block-iothread" ==8217==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-block-iothread /sync-op/pread PASS 2 test-block-iothread /sync-op/pwrite PASS 3 test-block-iothread /sync-op/load_vmstate --- PASS 16 test-block-iothread /propagate/mirror MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-image-locking -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-image-locking" PASS 8 ahci-test /x86_64/ahci/reset ==8239==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-image-locking /image-locking/basic PASS 2 test-image-locking /image-locking/set-perm-abort MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-x86-cpuid -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-x86-cpuid" ==8241==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-x86-cpuid /cpuid/topology/basic MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-xbzrle -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-xbzrle" ==8241==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7fffcd0df000; bottom 0x7fd29b9fe000; size: 0x002d316e1000 (194102824960) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 1 test-xbzrle /xbzrle/uleb --- PASS 4 test-xbzrle /xbzrle/encode_decode_1_byte PASS 5 test-xbzrle /xbzrle/encode_decode_overflow PASS 9 ahci-test /x86_64/ahci/io/pio/lba28/simple/zero ==8256==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 6 test-xbzrle /xbzrle/encode_decode ==8256==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffda7d95000; bottom 0x7f62cc9fe000; size: 0x009adb397000 (665102938112) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-vmstate -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-vmstate" --- PASS 133 test-cutils /cutils/strtosz/erange PASS 134 test-cutils /cutils/strtosz/metric MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-shift128 -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-shift128" ==8268==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-shift128 /host-utils/test_lshift PASS 2 test-shift128 /host-utils/test_rshift MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-mul64 -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-mul64" PASS 1 test-mul64 /host-utils/mulu64 PASS 2 test-mul64 /host-utils/muls64 MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-int128 -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-int128" ==8268==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffcae6d1000; bottom 0x7f451a1fe000; size: 0x00b7944d3000 (788467101696) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 1 test-int128 /int128/int128_and --- PASS 10 test-int128 /int128/int128_rshift MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/rcutorture -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="rcutorture" PASS 11 ahci-test /x86_64/ahci/io/pio/lba28/simple/high ==8301==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==8301==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffd9acd4000; bottom 0x7fcc379fe000; size: 0x0031632d6000 (212117315584) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 1 rcutorture /rcu/torture/1reader PASS 12 ahci-test /x86_64/ahci/io/pio/lba28/double/zero ==8323==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 2 rcutorture /rcu/torture/10readers ==8323==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7fff8b209000; bottom 0x7fc8861fe000; size: 0x00370500b000 (236307132416) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-rcu-list -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-rcu-list" PASS 13 ahci-test /x86_64/ahci/io/pio/lba28/double/low ==8336==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-rcu-list /rcu/qlist/single-threaded ==8336==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffe19bf6000; bottom 0x7fb03fbfe000; size: 0x004dd9ff8000 (334369882112) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 14 ahci-test /x86_64/ahci/io/pio/lba28/double/high ==8348==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 2 test-rcu-list /rcu/qlist/short-few ==8348==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffc52bc8000; bottom 0x7fb4ad37c000; size: 0x0047a584c000 (307719618560) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 15 ahci-test /x86_64/ahci/io/pio/lba28/long/zero ==8375==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==8375==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffdb8b92000; bottom 0x7f6d59724000; size: 0x00905f46e000 (620073771008) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 3 test-rcu-list /rcu/qlist/long-many MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-rcu-simpleq -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-rcu-simpleq" PASS 16 ahci-test /x86_64/ahci/io/pio/lba28/long/low ==8388==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-rcu-simpleq /rcu/qsimpleq/single-threaded ==8388==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffe6de01000; bottom 0x7fe191d24000; size: 0x001cdc0dd000 (123950977024) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 17 ahci-test /x86_64/ahci/io/pio/lba28/long/high PASS 2 test-rcu-simpleq /rcu/qsimpleq/short-few ==8400==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 18 ahci-test /x86_64/ahci/io/pio/lba28/short/zero ==8427==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 3 test-rcu-simpleq /rcu/qsimpleq/long-many PASS 19 ahci-test /x86_64/ahci/io/pio/lba28/short/low MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-rcu-tailq -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-rcu-tailq" ==8434==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 20 ahci-test /x86_64/ahci/io/pio/lba28/short/high PASS 1 test-rcu-tailq /rcu/qtailq/single-threaded ==8452==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==8452==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7fffe8c60000; bottom 0x7fb4fa9fe000; size: 0x004aee262000 (321823055872) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 2 test-rcu-tailq /rcu/qtailq/short-few PASS 21 ahci-test /x86_64/ahci/io/pio/lba48/simple/zero ==8476==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==8476==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffe59ead000; bottom 0x7f813b9fe000; size: 0x007d1e4af000 (537379139584) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 22 ahci-test /x86_64/ahci/io/pio/lba48/simple/low ==8485==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==8485==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffed9a48000; bottom 0x7fac1e9fe000; size: 0x0052bb04a000 (355324960768) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 3 test-rcu-tailq /rcu/qtailq/long-many --- PASS 8 test-qdist /qdist/binning/shrink MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-qht -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-qht" PASS 23 ahci-test /x86_64/ahci/io/pio/lba48/simple/high ==8500==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==8500==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffd81df6000; bottom 0x7f02639fe000; size: 0x00fb1e3f8000 (1078544269312) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 24 ahci-test /x86_64/ahci/io/pio/lba48/double/zero ==8506==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==8506==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffcfe673000; bottom 0x7fe24d1fe000; size: 0x001ab1475000 (114643390464) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 25 ahci-test /x86_64/ahci/io/pio/lba48/double/low ==8512==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==8512==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffc184a9000; bottom 0x7f9a617fe000; size: 0x0061b6cab000 (419678564352) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 26 ahci-test /x86_64/ahci/io/pio/lba48/double/high ==8518==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==8518==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffc64f66000; bottom 0x7f7bbbdfe000; size: 0x0080a9168000 (552592637952) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 27 ahci-test /x86_64/ahci/io/pio/lba48/long/zero ==8524==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==8524==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffe99d0d000; bottom 0x7f191bdfe000; size: 0x00e57df0f000 (985660452864) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 28 ahci-test /x86_64/ahci/io/pio/lba48/long/low ==8530==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==8530==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffe3b04d000; bottom 0x7f68c6ffe000; size: 0x00957404f000 (641896607744) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 29 ahci-test /x86_64/ahci/io/pio/lba48/long/high ==8536==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 30 ahci-test /x86_64/ahci/io/pio/lba48/short/zero ==8542==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 31 ahci-test /x86_64/ahci/io/pio/lba48/short/low ==8548==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 32 ahci-test /x86_64/ahci/io/pio/lba48/short/high ==8554==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 33 ahci-test /x86_64/ahci/io/dma/lba28/fragmented ==8560==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-qht /qht/mode/default PASS 34 ahci-test /x86_64/ahci/io/dma/lba28/retry PASS 2 test-qht /qht/mode/resize MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-qht-par -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-qht-par" ==8566==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 35 ahci-test /x86_64/ahci/io/dma/lba28/simple/zero PASS 1 test-qht-par /qht/parallel/2threads-0%updates-1s ==8582==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 36 ahci-test /x86_64/ahci/io/dma/lba28/simple/low PASS 2 test-qht-par /qht/parallel/2threads-20%updates-1s MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-bitops -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-bitops" ==8595==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-bitops /bitops/sextract32 PASS 2 test-bitops /bitops/sextract64 PASS 3 test-bitops /bitops/half_shuffle32 --- PASS 1 check-qom-interface /qom/interface/direct_impl PASS 2 check-qom-interface /qom/interface/intermediate_impl MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/check-qom-proplist -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="check-qom-proplist" ==8619==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 check-qom-proplist /qom/proplist/createlist PASS 2 check-qom-proplist /qom/proplist/createv PASS 3 check-qom-proplist /qom/proplist/createcmdline --- PASS 3 test-write-threshold /write-threshold/multi-set-get PASS 4 test-write-threshold /write-threshold/not-trigger PASS 5 test-write-threshold /write-threshold/trigger ==8644==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-crypto-hash -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-crypto-hash" PASS 1 test-crypto-hash /crypto/hash/iov PASS 2 test-crypto-hash /crypto/hash/alloc --- PASS 15 test-crypto-secret /crypto/secret/crypt/missingiv PASS 16 test-crypto-secret /crypto/secret/crypt/badiv MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-crypto-tlscredsx509 -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-crypto-tlscredsx509" ==8670==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 40 ahci-test /x86_64/ahci/io/dma/lba28/double/high ==8685==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 41 ahci-test /x86_64/ahci/io/dma/lba28/long/zero PASS 1 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/perfectserver PASS 2 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/perfectclient ==8691==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 3 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodca1 PASS 4 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodca2 PASS 42 ahci-test /x86_64/ahci/io/dma/lba28/long/low --- PASS 6 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/badca1 PASS 7 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/badca2 PASS 8 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/badca3 ==8697==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 43 ahci-test /x86_64/ahci/io/dma/lba28/long/high PASS 9 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodserver1 ==8703==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 44 ahci-test /x86_64/ahci/io/dma/lba28/short/zero ==8709==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 10 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodserver2 PASS 45 ahci-test /x86_64/ahci/io/dma/lba28/short/low PASS 11 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodserver3 ==8715==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 12 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodserver4 PASS 46 ahci-test /x86_64/ahci/io/dma/lba28/short/high PASS 13 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodserver5 ==8721==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 47 ahci-test /x86_64/ahci/io/dma/lba48/simple/zero PASS 14 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodserver6 ==8727==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 15 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/goodserver7 PASS 16 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/badserver1 PASS 17 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/badserver2 --- PASS 33 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/inactive2 PASS 34 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/inactive3 PASS 48 ahci-test /x86_64/ahci/io/dma/lba48/simple/low ==8733==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 49 ahci-test /x86_64/ahci/io/dma/lba48/simple/high ==8739==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 35 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/chain1 PASS 36 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/chain2 PASS 37 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/missingca --- PASS 39 test-crypto-tlscredsx509 /qcrypto/tlscredsx509/missingclient MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-crypto-tlssession -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-crypto-tlssession" PASS 50 ahci-test /x86_64/ahci/io/dma/lba48/double/zero ==8750==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-crypto-tlssession /qcrypto/tlssession/psk PASS 51 ahci-test /x86_64/ahci/io/dma/lba48/double/low PASS 2 test-crypto-tlssession /qcrypto/tlssession/basicca ==8756==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 3 test-crypto-tlssession /qcrypto/tlssession/differentca PASS 52 ahci-test /x86_64/ahci/io/dma/lba48/double/high PASS 4 test-crypto-tlssession /qcrypto/tlssession/altname1 ==8762==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 5 test-crypto-tlssession /qcrypto/tlssession/altname2 PASS 53 ahci-test /x86_64/ahci/io/dma/lba48/long/zero PASS 6 test-crypto-tlssession /qcrypto/tlssession/altname3 PASS 7 test-crypto-tlssession /qcrypto/tlssession/altname4 ==8768==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 8 test-crypto-tlssession /qcrypto/tlssession/altname5 PASS 54 ahci-test /x86_64/ahci/io/dma/lba48/long/low ==8774==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 9 test-crypto-tlssession /qcrypto/tlssession/altname6 PASS 55 ahci-test /x86_64/ahci/io/dma/lba48/long/high ==8780==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 56 ahci-test /x86_64/ahci/io/dma/lba48/short/zero PASS 10 test-crypto-tlssession /qcrypto/tlssession/wildcard1 PASS 11 test-crypto-tlssession /qcrypto/tlssession/wildcard2 ==8786==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 57 ahci-test /x86_64/ahci/io/dma/lba48/short/low ==8793==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 58 ahci-test /x86_64/ahci/io/dma/lba48/short/high ==8799==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 12 test-crypto-tlssession /qcrypto/tlssession/wildcard3 PASS 59 ahci-test /x86_64/ahci/io/ncq/simple ==8805==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 13 test-crypto-tlssession /qcrypto/tlssession/wildcard4 PASS 60 ahci-test /x86_64/ahci/io/ncq/retry ==8811==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 14 test-crypto-tlssession /qcrypto/tlssession/wildcard5 PASS 61 ahci-test /x86_64/ahci/flush/simple ==8817==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 15 test-crypto-tlssession /qcrypto/tlssession/wildcard6 PASS 62 ahci-test /x86_64/ahci/flush/retry PASS 16 test-crypto-tlssession /qcrypto/tlssession/cachain MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-qga -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-qga" ==8823==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==8834==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-qga /qga/sync-delimited PASS 2 test-qga /qga/sync PASS 3 test-qga /qga/ping --- PASS 20 test-qga /qga/guest-exec PASS 21 test-qga /qga/guest-exec-invalid PASS 63 ahci-test /x86_64/ahci/flush/migrate ==8851==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 22 test-qga /qga/guest-get-osinfo PASS 23 test-qga /qga/guest-get-host-name PASS 24 test-qga /qga/guest-get-timezone --- PASS 7 test-util-sockets /socket/fd-pass/num/bad PASS 8 test-util-sockets /socket/fd-pass/num/nocli MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-authz-simple -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-authz-simple" ==8864==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-authz-simple /authz/simple MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-authz-list -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-authz-list" PASS 1 test-authz-list /auth/list/complex --- PASS 5 test-io-channel-file /io/channel/pipe/async MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-io-channel-tls -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-io-channel-tls" PASS 64 ahci-test /x86_64/ahci/migrate/sanity ==8959==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-io-channel-tls /qio/channel/tls/basic MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-io-channel-command -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-io-channel-command" ==8968==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-io-channel-command /io/channel/command/fifo/sync PASS 2 test-io-channel-command /io/channel/command/fifo/async PASS 3 test-io-channel-command /io/channel/command/echo/sync --- PASS 1 test-logging /logging/parse_range PASS 2 test-logging /logging/parse_path MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-replication -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-replication" ==9022==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 65 ahci-test /x86_64/ahci/migrate/dma/simple PASS 1 test-replication /replication/primary/read PASS 2 test-replication /replication/primary/write ==9026==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 3 test-replication /replication/primary/start PASS 4 test-replication /replication/primary/stop PASS 5 test-replication /replication/primary/do_checkpoint PASS 6 test-replication /replication/primary/get_error_all ==9031==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 7 test-replication /replication/secondary/read PASS 8 test-replication /replication/secondary/write PASS 66 ahci-test /x86_64/ahci/migrate/dma/halted ==9040==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==9045==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==9022==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffc14a61000; bottom 0x7f5414afc000; size: 0x00a7fff65000 (721553870848) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 9 test-replication /replication/secondary/start PASS 67 ahci-test /x86_64/ahci/migrate/ncq/simple ==9078==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==9083==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 10 test-replication /replication/secondary/stop PASS 68 ahci-test /x86_64/ahci/migrate/ncq/halted PASS 11 test-replication /replication/secondary/do_checkpoint ==9092==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 12 test-replication /replication/secondary/get_error_all MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-bufferiszero -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-bufferiszero" PASS 69 ahci-test /x86_64/ahci/cdrom/eject ==9101==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 70 ahci-test /x86_64/ahci/cdrom/dma/single ==9107==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 71 ahci-test /x86_64/ahci/cdrom/dma/multi ==9113==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 72 ahci-test /x86_64/ahci/cdrom/pio/single ==9119==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! ==9119==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffe3c58e000; bottom 0x7f3e31b9a000; size: 0x00c00a9f4000 (824811929600) False positive error reports may follow For details see https://github.com/google/sanitizers/issues/189 PASS 73 ahci-test /x86_64/ahci/cdrom/pio/multi ==9125==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 74 ahci-test /x86_64/ahci/cdrom/pio/bcl MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/hd-geo-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="hd-geo-test" PASS 1 hd-geo-test /x86_64/hd-geo/ide/none ==9139==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 2 hd-geo-test /x86_64/hd-geo/ide/drive/cd_0 ==9145==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 3 hd-geo-test /x86_64/hd-geo/ide/drive/mbr/blank ==9151==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 4 hd-geo-test /x86_64/hd-geo/ide/drive/mbr/lba ==9157==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 5 hd-geo-test /x86_64/hd-geo/ide/drive/mbr/chs ==9163==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 6 hd-geo-test /x86_64/hd-geo/ide/device/mbr/blank ==9169==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 7 hd-geo-test /x86_64/hd-geo/ide/device/mbr/lba ==9175==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 8 hd-geo-test /x86_64/hd-geo/ide/device/mbr/chs ==9181==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 9 hd-geo-test /x86_64/hd-geo/ide/device/user/chs ==9186==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 10 hd-geo-test /x86_64/hd-geo/ide/device/user/chst MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/boot-order-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="boot-order-test" PASS 1 boot-order-test /x86_64/boot-order/pc --- Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory qemu-system-x86_64: Back to tcg accelerator ==9254==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 1 test-bufferiszero /cutils/bufferiszero MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} tests/test-uuid -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-uuid" PASS 1 test-uuid /uuid/is_null --- Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory qemu-system-x86_64: Back to tcg accelerator ==9277==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 2 bios-tables-test /x86_64/acpi/q35 Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory qemu-system-x86_64: Back to tcg accelerator ==9283==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 3 bios-tables-test /x86_64/acpi/piix4/bridge Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory qemu-system-x86_64: Back to tcg accelerator ==9289==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 4 bios-tables-test /x86_64/acpi/piix4/ipmi Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory qemu-system-x86_64: Back to tcg accelerator ==9295==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 5 bios-tables-test /x86_64/acpi/piix4/cpuhp Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory qemu-system-x86_64: Back to tcg accelerator ==9302==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 6 bios-tables-test /x86_64/acpi/piix4/memhp Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory qemu-system-x86_64: Back to tcg accelerator ==9308==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 7 bios-tables-test /x86_64/acpi/piix4/numamem Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory qemu-system-x86_64: Back to tcg accelerator ==9314==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 8 bios-tables-test /x86_64/acpi/piix4/dimmpxm Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory qemu-system-x86_64: Back to tcg accelerator ==9323==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 9 bios-tables-test /x86_64/acpi/q35/bridge Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory qemu-system-x86_64: Back to tcg accelerator ==9329==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 10 bios-tables-test /x86_64/acpi/q35/mmio64 Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory qemu-system-x86_64: Back to tcg accelerator ==9335==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 11 bios-tables-test /x86_64/acpi/q35/ipmi Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory qemu-system-x86_64: Back to tcg accelerator ==9341==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 12 bios-tables-test /x86_64/acpi/q35/cpuhp Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory qemu-system-x86_64: Back to tcg accelerator ==9348==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 13 bios-tables-test /x86_64/acpi/q35/memhp Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory qemu-system-x86_64: Back to tcg accelerator ==9354==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 14 bios-tables-test /x86_64/acpi/q35/numamem Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory qemu-system-x86_64: Back to tcg accelerator ==9360==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases! PASS 15 bios-tables-test /x86_64/acpi/q35/dimmpxm MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/boot-serial-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="boot-serial-test" /tmp/qemu-test/src/hw/timer/mc146818rtc.c:779:12: runtime error: member access within null pointer of type 'RTCState' (aka 'struct RTCState') SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /tmp/qemu-test/src/hw/timer/mc146818rtc.c:779:12 in AddressSanitizer:DEADLYSIGNAL ================================================================= ==9373==ERROR: AddressSanitizer: SEGV on unknown address 0x0000000002cf (pc 0x55ba96ab2fcb bp 0x7ffdb2b03e40 sp 0x7ffdb2b03df0 T0) ==9373==The signal is caused by a WRITE memory access. ==9373==Hint: address points to the zero page. #0 0x55ba96ab2fca in rtc_set_memory /tmp/qemu-test/src/hw/timer/mc146818rtc.c --- ==9373==ABORTING Broken pipe /tmp/qemu-test/src/tests/libqtest.c:137: kill_qemu() tried to terminate QEMU process but encountered exit status 1 ERROR - too few tests run (expected 2, got 0) make: *** [/tmp/qemu-test/src/tests/Makefile.include:896: check-qtest-x86_64] Error 1 make: *** Waiting for unfinished jobs.... Traceback (most recent call last): The full log is available at http://patchew.org/logs/20190703154958.29004-1-julio.montes@intel.com/testing.asan/?type=message. --- Email generated automatically by Patchew [https://patchew.org/]. Please send your feedback to patchew-devel@redhat.com
On 03/07/19 17:49, Julio Montes wrote: > In pc_init1(), ISA IDE is initialized without checking if ISAPC or IDE_ISA > configs are enabled. This results in a link error when > CONFIG_ISAPC is set to 'n' in the file default-configs/i386-softmmu.mak: > > hw/i386/pc_piix.o: In function `pc_init1': > hw/i386/pc_piix.c:261: undefined reference to `isa_ide_init' > hw/i386/pc_piix.c:261: undefined reference to `isa_ide_init' > > Place ide_isa code under #ifdef CONFIG_IDE_ISA to fix linker errors But there is nothing that defines CONFIG_IDE_ISA, right? Paolo > Signed-off-by: Julio Montes <julio.montes@intel.com> > --- > hw/i386/pc_piix.c | 11 ++++++++--- > 1 file changed, 8 insertions(+), 3 deletions(-) > > diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c > index c07c4a5b38..b93f9327be 100644 > --- a/hw/i386/pc_piix.c > +++ b/hw/i386/pc_piix.c > @@ -61,9 +61,11 @@ > > #define MAX_IDE_BUS 2 > > +#ifdef CONFIG_IDE_ISA > static const int ide_iobase[MAX_IDE_BUS] = { 0x1f0, 0x170 }; > static const int ide_iobase2[MAX_IDE_BUS] = { 0x3f6, 0x376 }; > static const int ide_irq[MAX_IDE_BUS] = { 14, 15 }; > +#endif > > /* PC hardware initialisation */ > static void pc_init1(MachineState *machine, > @@ -254,7 +256,10 @@ static void pc_init1(MachineState *machine, > } > idebus[0] = qdev_get_child_bus(&dev->qdev, "ide.0"); > idebus[1] = qdev_get_child_bus(&dev->qdev, "ide.1"); > - } else { > + pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state); > + } > +#ifdef CONFIG_IDE_ISA > +else { > for(i = 0; i < MAX_IDE_BUS; i++) { > ISADevice *dev; > char busname[] = "ide.0"; > @@ -268,9 +273,9 @@ static void pc_init1(MachineState *machine, > busname[4] = '0' + i; > idebus[i] = qdev_get_child_bus(DEVICE(dev), busname); > } > + pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state); > } > - > - pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state); > +#endif > > if (pcmc->pci_enabled && machine_usb(machine)) { > pci_create_simple(pci_bus, piix3_devfn + 2, "piix3-usb-uhci"); >
On Wed, 2019-07-03 at 18:21 +0200, Paolo Bonzini wrote: > On 03/07/19 17:49, Julio Montes wrote: > > In pc_init1(), ISA IDE is initialized without checking if ISAPC or > > IDE_ISA > > configs are enabled. This results in a link error when > > CONFIG_ISAPC is set to 'n' in the file default-configs/i386- > > softmmu.mak: > > > > hw/i386/pc_piix.o: In function `pc_init1': > > hw/i386/pc_piix.c:261: undefined reference to `isa_ide_init' > > hw/i386/pc_piix.c:261: undefined reference to `isa_ide_init' > > > > Place ide_isa code under #ifdef CONFIG_IDE_ISA to fix linker errors > > But there is nothing that defines CONFIG_IDE_ISA, right? yes I think you're right, do I need to use #ifdef CONFIG_ISAPC instead? or how I can define CONFIG_IDE_ISA at build time? > > Paolo > > > Signed-off-by: Julio Montes <julio.montes@intel.com> > > --- > > hw/i386/pc_piix.c | 11 ++++++++--- > > 1 file changed, 8 insertions(+), 3 deletions(-) > > > > diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c > > index c07c4a5b38..b93f9327be 100644 > > --- a/hw/i386/pc_piix.c > > +++ b/hw/i386/pc_piix.c > > @@ -61,9 +61,11 @@ > > > > #define MAX_IDE_BUS 2 > > > > +#ifdef CONFIG_IDE_ISA > > static const int ide_iobase[MAX_IDE_BUS] = { 0x1f0, 0x170 }; > > static const int ide_iobase2[MAX_IDE_BUS] = { 0x3f6, 0x376 }; > > static const int ide_irq[MAX_IDE_BUS] = { 14, 15 }; > > +#endif > > > > /* PC hardware initialisation */ > > static void pc_init1(MachineState *machine, > > @@ -254,7 +256,10 @@ static void pc_init1(MachineState *machine, > > } > > idebus[0] = qdev_get_child_bus(&dev->qdev, "ide.0"); > > idebus[1] = qdev_get_child_bus(&dev->qdev, "ide.1"); > > - } else { > > + pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state); > > + } > > +#ifdef CONFIG_IDE_ISA > > +else { > > for(i = 0; i < MAX_IDE_BUS; i++) { > > ISADevice *dev; > > char busname[] = "ide.0"; > > @@ -268,9 +273,9 @@ static void pc_init1(MachineState *machine, > > busname[4] = '0' + i; > > idebus[i] = qdev_get_child_bus(DEVICE(dev), busname); > > } > > + pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state); > > } > > - > > - pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state); > > +#endif > > > > if (pcmc->pci_enabled && machine_usb(machine)) { > > pci_create_simple(pci_bus, piix3_devfn + 2, "piix3-usb- > > uhci"); > >
On 03/07/19 18:40, Montes, Julio wrote: > On Wed, 2019-07-03 at 18:21 +0200, Paolo Bonzini wrote: >> On 03/07/19 17:49, Julio Montes wrote: >>> In pc_init1(), ISA IDE is initialized without checking if ISAPC or >>> IDE_ISA >>> configs are enabled. This results in a link error when >>> CONFIG_ISAPC is set to 'n' in the file default-configs/i386- >>> softmmu.mak: >>> >>> hw/i386/pc_piix.o: In function `pc_init1': >>> hw/i386/pc_piix.c:261: undefined reference to `isa_ide_init' >>> hw/i386/pc_piix.c:261: undefined reference to `isa_ide_init' >>> >>> Place ide_isa code under #ifdef CONFIG_IDE_ISA to fix linker errors >> >> But there is nothing that defines CONFIG_IDE_ISA, right? > > yes I think you're right, do I need to use #ifdef CONFIG_ISAPC instead? > or how I can define CONFIG_IDE_ISA at build time? No, Kconfig symbols do not end up in any header. We could have one that is only included in obj-y files though, since hw/i386/pc_piix.c is obj-y rather than common-obj-y. Paolo >> >> Paolo >> >>> Signed-off-by: Julio Montes <julio.montes@intel.com> >>> --- >>> hw/i386/pc_piix.c | 11 ++++++++--- >>> 1 file changed, 8 insertions(+), 3 deletions(-) >>> >>> diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c >>> index c07c4a5b38..b93f9327be 100644 >>> --- a/hw/i386/pc_piix.c >>> +++ b/hw/i386/pc_piix.c >>> @@ -61,9 +61,11 @@ >>> >>> #define MAX_IDE_BUS 2 >>> >>> +#ifdef CONFIG_IDE_ISA >>> static const int ide_iobase[MAX_IDE_BUS] = { 0x1f0, 0x170 }; >>> static const int ide_iobase2[MAX_IDE_BUS] = { 0x3f6, 0x376 }; >>> static const int ide_irq[MAX_IDE_BUS] = { 14, 15 }; >>> +#endif >>> >>> /* PC hardware initialisation */ >>> static void pc_init1(MachineState *machine, >>> @@ -254,7 +256,10 @@ static void pc_init1(MachineState *machine, >>> } >>> idebus[0] = qdev_get_child_bus(&dev->qdev, "ide.0"); >>> idebus[1] = qdev_get_child_bus(&dev->qdev, "ide.1"); >>> - } else { >>> + pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state); >>> + } >>> +#ifdef CONFIG_IDE_ISA >>> +else { >>> for(i = 0; i < MAX_IDE_BUS; i++) { >>> ISADevice *dev; >>> char busname[] = "ide.0"; >>> @@ -268,9 +273,9 @@ static void pc_init1(MachineState *machine, >>> busname[4] = '0' + i; >>> idebus[i] = qdev_get_child_bus(DEVICE(dev), busname); >>> } >>> + pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state); >>> } >>> - >>> - pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state); >>> +#endif >>> >>> if (pcmc->pci_enabled && machine_usb(machine)) { >>> pci_create_simple(pci_bus, piix3_devfn + 2, "piix3-usb- >>> uhci"); >>>
How about a new header file with all devices? (see below patch)
---
Makefile.target | 5 +++++
hw/i386/pc_piix.c | 11 ++++++++---
include/qemu/osdep.h | 1 +
scripts/create_config | 2 ++
4 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/Makefile.target b/Makefile.target
index a6919e0caf..65eda0994d 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -45,6 +45,9 @@ include $(SRC_PATH)/tests/tcg/Makefile.include
config-target.h: config-target.h-timestamp
config-target.h-timestamp: config-target.mak
+config-devices.h: config-devices.h-timestamp
+config-devices.h-timestamp: config-devices.mak
+
ifdef CONFIG_TRACE_SYSTEMTAP
stap: $(QEMU_PROG).stp-installed $(QEMU_PROG).stp $(QEMU_PROG)-simpletrace.stp $(QEMU_PROG)-log.stp
@@ -170,6 +173,8 @@ generated-files-y += hmp-commands.h hmp-commands-info.h
endif # CONFIG_SOFTMMU
+generated-files-y += config-devices.h
+
dummy := $(call unnest-vars,,obj-y)
all-obj-y := $(obj-y)
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index c07c4a5b38..b93f9327be 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -61,9 +61,11 @@
#define MAX_IDE_BUS 2
+#ifdef CONFIG_IDE_ISA
static const int ide_iobase[MAX_IDE_BUS] = { 0x1f0, 0x170 };
static const int ide_iobase2[MAX_IDE_BUS] = { 0x3f6, 0x376 };
static const int ide_irq[MAX_IDE_BUS] = { 14, 15 };
+#endif
/* PC hardware initialisation */
static void pc_init1(MachineState *machine,
@@ -254,7 +256,10 @@ static void pc_init1(MachineState *machine,
}
idebus[0] = qdev_get_child_bus(&dev->qdev, "ide.0");
idebus[1] = qdev_get_child_bus(&dev->qdev, "ide.1");
- } else {
+ pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state);
+ }
+#ifdef CONFIG_IDE_ISA
+else {
for(i = 0; i < MAX_IDE_BUS; i++) {
ISADevice *dev;
char busname[] = "ide.0";
@@ -268,9 +273,9 @@ static void pc_init1(MachineState *machine,
busname[4] = '0' + i;
idebus[i] = qdev_get_child_bus(DEVICE(dev), busname);
}
+ pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state);
}
-
- pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state);
+#endif
if (pcmc->pci_enabled && machine_usb(machine)) {
pci_create_simple(pci_bus, piix3_devfn + 2, "piix3-usb-uhci");
diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
index af2b91f0b8..83b49a1e63 100644
--- a/include/qemu/osdep.h
+++ b/include/qemu/osdep.h
@@ -30,6 +30,7 @@
#include "config-host.h"
#ifdef NEED_CPU_H
#include "config-target.h"
+#include "config-devices.h"
#else
#include "exec/poison.h"
#endif
diff --git a/scripts/create_config b/scripts/create_config
index d727e5e36e..00e86c82b0 100755
--- a/scripts/create_config
+++ b/scripts/create_config
@@ -58,6 +58,8 @@ case $line in
name=${line%=*}
echo "#define $name 1"
;;
+ CONFIG_*=n) # configuration
+ ;;
CONFIG_*=*) # configuration
name=${line%=*}
value=${line#*=}
--
2.17.2
On 04/07/19 20:03, Julio Montes wrote: > How about a new header file with all devices? (see below patch) Yes, looks good. Paolo > --- > Makefile.target | 5 +++++ > hw/i386/pc_piix.c | 11 ++++++++--- > include/qemu/osdep.h | 1 + > scripts/create_config | 2 ++ > 4 files changed, 16 insertions(+), 3 deletions(-) > > diff --git a/Makefile.target b/Makefile.target > index a6919e0caf..65eda0994d 100644 > --- a/Makefile.target > +++ b/Makefile.target > @@ -45,6 +45,9 @@ include $(SRC_PATH)/tests/tcg/Makefile.include > config-target.h: config-target.h-timestamp > config-target.h-timestamp: config-target.mak > > +config-devices.h: config-devices.h-timestamp > +config-devices.h-timestamp: config-devices.mak > + > ifdef CONFIG_TRACE_SYSTEMTAP > stap: $(QEMU_PROG).stp-installed $(QEMU_PROG).stp $(QEMU_PROG)-simpletrace.stp $(QEMU_PROG)-log.stp > > @@ -170,6 +173,8 @@ generated-files-y += hmp-commands.h hmp-commands-info.h > > endif # CONFIG_SOFTMMU > > +generated-files-y += config-devices.h > + > dummy := $(call unnest-vars,,obj-y) > all-obj-y := $(obj-y) > > diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c > index c07c4a5b38..b93f9327be 100644 > --- a/hw/i386/pc_piix.c > +++ b/hw/i386/pc_piix.c > @@ -61,9 +61,11 @@ > > #define MAX_IDE_BUS 2 > > +#ifdef CONFIG_IDE_ISA > static const int ide_iobase[MAX_IDE_BUS] = { 0x1f0, 0x170 }; > static const int ide_iobase2[MAX_IDE_BUS] = { 0x3f6, 0x376 }; > static const int ide_irq[MAX_IDE_BUS] = { 14, 15 }; > +#endif > > /* PC hardware initialisation */ > static void pc_init1(MachineState *machine, > @@ -254,7 +256,10 @@ static void pc_init1(MachineState *machine, > } > idebus[0] = qdev_get_child_bus(&dev->qdev, "ide.0"); > idebus[1] = qdev_get_child_bus(&dev->qdev, "ide.1"); > - } else { > + pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state); > + } > +#ifdef CONFIG_IDE_ISA > +else { > for(i = 0; i < MAX_IDE_BUS; i++) { > ISADevice *dev; > char busname[] = "ide.0"; > @@ -268,9 +273,9 @@ static void pc_init1(MachineState *machine, > busname[4] = '0' + i; > idebus[i] = qdev_get_child_bus(DEVICE(dev), busname); > } > + pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state); > } > - > - pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state); > +#endif > > if (pcmc->pci_enabled && machine_usb(machine)) { > pci_create_simple(pci_bus, piix3_devfn + 2, "piix3-usb-uhci"); > diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h > index af2b91f0b8..83b49a1e63 100644 > --- a/include/qemu/osdep.h > +++ b/include/qemu/osdep.h > @@ -30,6 +30,7 @@ > #include "config-host.h" > #ifdef NEED_CPU_H > #include "config-target.h" > +#include "config-devices.h" > #else > #include "exec/poison.h" > #endif > diff --git a/scripts/create_config b/scripts/create_config > index d727e5e36e..00e86c82b0 100755 > --- a/scripts/create_config > +++ b/scripts/create_config > @@ -58,6 +58,8 @@ case $line in > name=${line%=*} > echo "#define $name 1" > ;; > + CONFIG_*=n) # configuration > + ;; > CONFIG_*=*) # configuration > name=${line%=*} > value=${line#*=} > -- > 2.17.2 >
Patchew URL: https://patchew.org/QEMU/20190704180350.2086-1-julio.montes@intel.com/ Hi, This series failed build test on s390x host. Please find the details below. === TEST SCRIPT BEGIN === #!/bin/bash # Testing script will be invoked under the git checkout with # HEAD pointing to a commit that has the patches applied on top of "base" # branch set -e echo echo "=== ENV ===" env echo echo "=== PACKAGES ===" rpm -qa echo echo "=== UNAME ===" uname -a CC=$HOME/bin/cc INSTALL=$PWD/install BUILD=$PWD/build mkdir -p $BUILD $INSTALL SRC=$PWD cd $BUILD $SRC/configure --cc=$CC --prefix=$INSTALL make -j4 # XXX: we need reliable clean up # make check -j4 V=1 make install === TEST SCRIPT END === The full log is available at http://patchew.org/logs/20190704180350.2086-1-julio.montes@intel.com/testing.s390x/?type=message. --- Email generated automatically by Patchew [https://patchew.org/]. Please send your feedback to patchew-devel@redhat.com
On 7/5/19 7:20 PM, no-reply@patchew.org wrote: > Patchew URL: https://patchew.org/QEMU/20190704180350.2086-1-julio.montes@intel.com/ > > Hi, > > This series failed build test on s390x host. Please find the details below. > > The full log is available at > http://patchew.org/logs/20190704180350.2086-1-julio.montes@intel.com/testing.s390x/?type=message. > --- make[1]: *** No rule to make target 'config-devices.mak', needed by 'config-devices.h-timestamp'. Stop. make: *** [Makefile:472: aarch64_be-linux-user/all] Error 2 make: *** Waiting for unfinished jobs.... I guess linux-user (and bsd-user) doesn't need that header...
On Fri, 2019-07-05 at 19:25 +0200, Philippe Mathieu-Daudé wrote: > On 7/5/19 7:20 PM, no-reply@patchew.org wrote: > > Patchew URL: > > https://patchew.org/QEMU/20190704180350.2086-1-julio.montes@intel.com/ > > > > Hi, > > > > This series failed build test on s390x host. Please find the > > details below. > > > > The full log is available at > > http://patchew.org/logs/20190704180350.2086-1-julio.montes@intel.com/testing.s390x/?type=message. > > --- > > make[1]: *** No rule to make target 'config-devices.mak', needed by > 'config-devices.h-timestamp'. Stop. > make: *** [Makefile:472: aarch64_be-linux-user/all] Error 2 > make: *** Waiting for unfinished jobs.... > > I guess linux-user (and bsd-user) doesn't need that header... Good catch! sending v3 right away, thanks
On 04/07/19 20:03, Julio Montes wrote: > How about a new header file with all devices? (see below patch) Yes, looks good. Paolo > --- > Makefile.target | 5 +++++ > hw/i386/pc_piix.c | 11 ++++++++--- > include/qemu/osdep.h | 1 + > scripts/create_config | 2 ++ > 4 files changed, 16 insertions(+), 3 deletions(-) > > diff --git a/Makefile.target b/Makefile.target > index a6919e0caf..65eda0994d 100644 > --- a/Makefile.target > +++ b/Makefile.target > @@ -45,6 +45,9 @@ include $(SRC_PATH)/tests/tcg/Makefile.include > config-target.h: config-target.h-timestamp > config-target.h-timestamp: config-target.mak > > +config-devices.h: config-devices.h-timestamp > +config-devices.h-timestamp: config-devices.mak > + > ifdef CONFIG_TRACE_SYSTEMTAP > stap: $(QEMU_PROG).stp-installed $(QEMU_PROG).stp $(QEMU_PROG)-simpletrace.stp $(QEMU_PROG)-log.stp > > @@ -170,6 +173,8 @@ generated-files-y += hmp-commands.h hmp-commands-info.h > > endif # CONFIG_SOFTMMU > > +generated-files-y += config-devices.h > + > dummy := $(call unnest-vars,,obj-y) > all-obj-y := $(obj-y) > > diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c > index c07c4a5b38..b93f9327be 100644 > --- a/hw/i386/pc_piix.c > +++ b/hw/i386/pc_piix.c > @@ -61,9 +61,11 @@ > > #define MAX_IDE_BUS 2 > > +#ifdef CONFIG_IDE_ISA > static const int ide_iobase[MAX_IDE_BUS] = { 0x1f0, 0x170 }; > static const int ide_iobase2[MAX_IDE_BUS] = { 0x3f6, 0x376 }; > static const int ide_irq[MAX_IDE_BUS] = { 14, 15 }; > +#endif > > /* PC hardware initialisation */ > static void pc_init1(MachineState *machine, > @@ -254,7 +256,10 @@ static void pc_init1(MachineState *machine, > } > idebus[0] = qdev_get_child_bus(&dev->qdev, "ide.0"); > idebus[1] = qdev_get_child_bus(&dev->qdev, "ide.1"); > - } else { > + pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state); > + } > +#ifdef CONFIG_IDE_ISA > +else { > for(i = 0; i < MAX_IDE_BUS; i++) { > ISADevice *dev; > char busname[] = "ide.0"; > @@ -268,9 +273,9 @@ static void pc_init1(MachineState *machine, > busname[4] = '0' + i; > idebus[i] = qdev_get_child_bus(DEVICE(dev), busname); > } > + pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state); > } > - > - pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state); > +#endif > > if (pcmc->pci_enabled && machine_usb(machine)) { > pci_create_simple(pci_bus, piix3_devfn + 2, "piix3-usb-uhci"); > diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h > index af2b91f0b8..83b49a1e63 100644 > --- a/include/qemu/osdep.h > +++ b/include/qemu/osdep.h > @@ -30,6 +30,7 @@ > #include "config-host.h" > #ifdef NEED_CPU_H > #include "config-target.h" > +#include "config-devices.h" > #else > #include "exec/poison.h" > #endif > diff --git a/scripts/create_config b/scripts/create_config > index d727e5e36e..00e86c82b0 100755 > --- a/scripts/create_config > +++ b/scripts/create_config > @@ -58,6 +58,8 @@ case $line in > name=${line%=*} > echo "#define $name 1" > ;; > + CONFIG_*=n) # configuration > + ;; > CONFIG_*=*) # configuration > name=${line%=*} > value=${line#*=} > -- > 2.17.2 >
Patchew URL: https://patchew.org/QEMU/20190704180350.2086-1-julio.montes@intel.com/ Hi, This series seems to have some coding style problems. See output below for more information: Subject: [Qemu-devel] [PATCH] hw/i386: Fix linker error when ISAPC is disabled Type: series Message-id: 20190704180350.2086-1-julio.montes@intel.com === TEST SCRIPT BEGIN === #!/bin/bash git rev-parse base > /dev/null || exit 0 git config --local diff.renamelimit 0 git config --local diff.renames True git config --local diff.algorithm histogram ./scripts/checkpatch.pl --mailback base.. === TEST SCRIPT END === Switched to a new branch 'test' 66d554b hw/i386: Fix linker error when ISAPC is disabled === OUTPUT BEGIN === ERROR: Missing Signed-off-by: line(s) total: 1 errors, 0 warnings, 65 lines checked Commit 66d554ba6645 (hw/i386: Fix linker error when ISAPC is disabled) has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. === OUTPUT END === Test command exited with code: 1 The full log is available at http://patchew.org/logs/20190704180350.2086-1-julio.montes@intel.com/testing.checkpatch/?type=message. --- Email generated automatically by Patchew [https://patchew.org/]. Please send your feedback to patchew-devel@redhat.com
v2: generate config-devices.h which contains the list of devices enabled
---
config-devices.h is an auto-generated header file that will use
config-devices.mak to define the list of devices enabled.
Configs that are set to 'n' are ignored.
Signed-off-by: Julio Montes <julio.montes@intel.com>
---
Makefile.target | 5 +++++
scripts/clean-includes | 2 +-
scripts/create_config | 2 ++
3 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/Makefile.target b/Makefile.target
index a6919e0caf..65eda0994d 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -45,6 +45,9 @@ include $(SRC_PATH)/tests/tcg/Makefile.include
config-target.h: config-target.h-timestamp
config-target.h-timestamp: config-target.mak
+config-devices.h: config-devices.h-timestamp
+config-devices.h-timestamp: config-devices.mak
+
ifdef CONFIG_TRACE_SYSTEMTAP
stap: $(QEMU_PROG).stp-installed $(QEMU_PROG).stp $(QEMU_PROG)-simpletrace.stp $(QEMU_PROG)-log.stp
@@ -170,6 +173,8 @@ generated-files-y += hmp-commands.h hmp-commands-info.h
endif # CONFIG_SOFTMMU
+generated-files-y += config-devices.h
+
dummy := $(call unnest-vars,,obj-y)
all-obj-y := $(obj-y)
diff --git a/scripts/clean-includes b/scripts/clean-includes
index dd938daa3e..fb05a639d5 100755
--- a/scripts/clean-includes
+++ b/scripts/clean-includes
@@ -161,7 +161,7 @@ for f in "$@"; do
# Remove includes that osdep.h already provides
perl -n -i -e 'print if !/\s*#\s*include\s*(["<][^>"]*[">])/ ||
! (grep { $_ eq $1 } qw (
- "config-host.h" "config-target.h" "qemu/compiler.h"
+ "config-host.h" "config-target.h" "config-devices.h" "qemu/compiler.h"
<setjmp.h> <stdarg.h> <stddef.h> <stdbool.h> <stdint.h> <sys/types.h>
<stdlib.h> <stdio.h> <string.h> <strings.h> <inttypes.h>
<limits.h> <unistd.h> <time.h> <ctype.h> <errno.h> <fcntl.h>
diff --git a/scripts/create_config b/scripts/create_config
index d727e5e36e..00e86c82b0 100755
--- a/scripts/create_config
+++ b/scripts/create_config
@@ -58,6 +58,8 @@ case $line in
name=${line%=*}
echo "#define $name 1"
;;
+ CONFIG_*=n) # configuration
+ ;;
CONFIG_*=*) # configuration
name=${line%=*}
value=${line#*=}
--
2.17.2
Advice for your *next* patch submission (this one's already queued): 1. Use a cover letter for submitting multiple patches together. Julio Montes <julio.montes@intel.com> writes: > v2: generate config-devices.h which contains the list of devices enabled > --- > config-devices.h is an auto-generated header file that will use > config-devices.mak to define the list of devices enabled. > Configs that are set to 'n' are ignored. > > Signed-off-by: Julio Montes <julio.montes@intel.com> 2. Anything below a '---' line will be thrown away on commit. The text describing the patch must go above the '---' line, not below. Additional notes of no permanent interest, such as changes since prior revisions, go below the '---' line.
v2: include config-devices.h to use CONFIG_IDE_ISA
---
In pc_init1(), ISA IDE is initialized without checking if ISAPC or IDE_ISA
configs are enabled. This results in a link error when
CONFIG_ISAPC is set to 'n' in the file default-configs/i386-softmmu.mak:
hw/i386/pc_piix.o: In function `pc_init1':
hw/i386/pc_piix.c:261: undefined reference to `isa_ide_init'
hw/i386/pc_piix.c:261: undefined reference to `isa_ide_init'
Place ide_isa code under #ifdef CONFIG_IDE_ISA to fix linker errors
Signed-off-by: Julio Montes <julio.montes@intel.com>
---
hw/i386/pc_piix.c | 11 ++++++++---
include/qemu/osdep.h | 1 +
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index f29de58636..c7d4645a3f 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -61,9 +61,11 @@
#define MAX_IDE_BUS 2
+#ifdef CONFIG_IDE_ISA
static const int ide_iobase[MAX_IDE_BUS] = { 0x1f0, 0x170 };
static const int ide_iobase2[MAX_IDE_BUS] = { 0x3f6, 0x376 };
static const int ide_irq[MAX_IDE_BUS] = { 14, 15 };
+#endif
/* PC hardware initialisation */
static void pc_init1(MachineState *machine,
@@ -254,7 +256,10 @@ static void pc_init1(MachineState *machine,
}
idebus[0] = qdev_get_child_bus(&dev->qdev, "ide.0");
idebus[1] = qdev_get_child_bus(&dev->qdev, "ide.1");
- } else {
+ pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state);
+ }
+#ifdef CONFIG_IDE_ISA
+else {
for(i = 0; i < MAX_IDE_BUS; i++) {
ISADevice *dev;
char busname[] = "ide.0";
@@ -268,9 +273,9 @@ static void pc_init1(MachineState *machine,
busname[4] = '0' + i;
idebus[i] = qdev_get_child_bus(DEVICE(dev), busname);
}
+ pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state);
}
-
- pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state);
+#endif
if (pcmc->pci_enabled && machine_usb(machine)) {
pci_create_simple(pci_bus, piix3_devfn + 2, "piix3-usb-uhci");
diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
index af2b91f0b8..f1c682e52c 100644
--- a/include/qemu/osdep.h
+++ b/include/qemu/osdep.h
@@ -29,6 +29,7 @@
#include "config-host.h"
#ifdef NEED_CPU_H
+#include "config-devices.h"
#include "config-target.h"
#else
#include "exec/poison.h"
--
2.17.2
Cc'ing Markus, Peter. On 7/5/19 4:35 PM, Julio Montes wrote: > v2: include config-devices.h to use CONFIG_IDE_ISA > > --- > In pc_init1(), ISA IDE is initialized without checking if ISAPC or IDE_ISA > configs are enabled. This results in a link error when > CONFIG_ISAPC is set to 'n' in the file default-configs/i386-softmmu.mak: > > hw/i386/pc_piix.o: In function `pc_init1': > hw/i386/pc_piix.c:261: undefined reference to `isa_ide_init' > hw/i386/pc_piix.c:261: undefined reference to `isa_ide_init' > > Place ide_isa code under #ifdef CONFIG_IDE_ISA to fix linker errors > > Signed-off-by: Julio Montes <julio.montes@intel.com> > --- > hw/i386/pc_piix.c | 11 ++++++++--- > include/qemu/osdep.h | 1 + > 2 files changed, 9 insertions(+), 3 deletions(-) > > diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c > index f29de58636..c7d4645a3f 100644 > --- a/hw/i386/pc_piix.c > +++ b/hw/i386/pc_piix.c > @@ -61,9 +61,11 @@ > > #define MAX_IDE_BUS 2 > > +#ifdef CONFIG_IDE_ISA > static const int ide_iobase[MAX_IDE_BUS] = { 0x1f0, 0x170 }; > static const int ide_iobase2[MAX_IDE_BUS] = { 0x3f6, 0x376 }; > static const int ide_irq[MAX_IDE_BUS] = { 14, 15 }; > +#endif > > /* PC hardware initialisation */ > static void pc_init1(MachineState *machine, > @@ -254,7 +256,10 @@ static void pc_init1(MachineState *machine, > } > idebus[0] = qdev_get_child_bus(&dev->qdev, "ide.0"); > idebus[1] = qdev_get_child_bus(&dev->qdev, "ide.1"); > - } else { > + pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state); > + } > +#ifdef CONFIG_IDE_ISA > +else { > for(i = 0; i < MAX_IDE_BUS; i++) { > ISADevice *dev; > char busname[] = "ide.0"; > @@ -268,9 +273,9 @@ static void pc_init1(MachineState *machine, > busname[4] = '0' + i; > idebus[i] = qdev_get_child_bus(DEVICE(dev), busname); > } > + pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state); > } > - > - pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state); > +#endif > > if (pcmc->pci_enabled && machine_usb(machine)) { > pci_create_simple(pci_bus, piix3_devfn + 2, "piix3-usb-uhci"); > diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h > index af2b91f0b8..f1c682e52c 100644 > --- a/include/qemu/osdep.h > +++ b/include/qemu/osdep.h > @@ -29,6 +29,7 @@ > > #include "config-host.h" > #ifdef NEED_CPU_H > +#include "config-devices.h" So now a Kconfig change will update this header, and all our codebase depends of "osdep.h", so we'll rebuild the whole project... However so far only one (which happens to be arch-specific) file requires this header: pc_piix.c. If we move this header inclusion in "hw/hw.h", this already reduce the impact (of invalidating ccache, and so on). Another (not good enough) idea is to only include it where we need kconfig definitions to be accessible, this single file? > #include "config-target.h" > #else > #include "exec/poison.h" > -- > 2.17.2 >
On 05/07/19 16:35, Julio Montes wrote: > v2: include config-devices.h to use CONFIG_IDE_ISA > > --- > In pc_init1(), ISA IDE is initialized without checking if ISAPC or IDE_ISA > configs are enabled. This results in a link error when > CONFIG_ISAPC is set to 'n' in the file default-configs/i386-softmmu.mak: > > hw/i386/pc_piix.o: In function `pc_init1': > hw/i386/pc_piix.c:261: undefined reference to `isa_ide_init' > hw/i386/pc_piix.c:261: undefined reference to `isa_ide_init' > > Place ide_isa code under #ifdef CONFIG_IDE_ISA to fix linker errors > > Signed-off-by: Julio Montes <julio.montes@intel.com> > --- > hw/i386/pc_piix.c | 11 ++++++++--- > include/qemu/osdep.h | 1 + > 2 files changed, 9 insertions(+), 3 deletions(-) > > diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c > index f29de58636..c7d4645a3f 100644 > --- a/hw/i386/pc_piix.c > +++ b/hw/i386/pc_piix.c > @@ -61,9 +61,11 @@ > > #define MAX_IDE_BUS 2 > > +#ifdef CONFIG_IDE_ISA > static const int ide_iobase[MAX_IDE_BUS] = { 0x1f0, 0x170 }; > static const int ide_iobase2[MAX_IDE_BUS] = { 0x3f6, 0x376 }; > static const int ide_irq[MAX_IDE_BUS] = { 14, 15 }; > +#endif > > /* PC hardware initialisation */ > static void pc_init1(MachineState *machine, > @@ -254,7 +256,10 @@ static void pc_init1(MachineState *machine, > } > idebus[0] = qdev_get_child_bus(&dev->qdev, "ide.0"); > idebus[1] = qdev_get_child_bus(&dev->qdev, "ide.1"); > - } else { > + pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state); > + } > +#ifdef CONFIG_IDE_ISA > +else { > for(i = 0; i < MAX_IDE_BUS; i++) { > ISADevice *dev; > char busname[] = "ide.0"; > @@ -268,9 +273,9 @@ static void pc_init1(MachineState *machine, > busname[4] = '0' + i; > idebus[i] = qdev_get_child_bus(DEVICE(dev), busname); > } > + pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state); > } > - > - pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state); > +#endif > > if (pcmc->pci_enabled && machine_usb(machine)) { > pci_create_simple(pci_bus, piix3_devfn + 2, "piix3-usb-uhci"); > diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h > index af2b91f0b8..f1c682e52c 100644 > --- a/include/qemu/osdep.h > +++ b/include/qemu/osdep.h > @@ -29,6 +29,7 @@ > > #include "config-host.h" > #ifdef NEED_CPU_H > +#include "config-devices.h" > #include "config-target.h" > #else > #include "exec/poison.h" > -- > 2.17.2 > Queued, thanks. Paolo
© 2016 - 2024 Red Hat, Inc.