All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] hw/i386: Fix linker error when ISAPC is disabled
@ 2019-07-03 15:49 Julio Montes
  2019-07-03 16:21 ` Paolo Bonzini
                   ` (2 more replies)
  0 siblings, 3 replies; 17+ messages in thread
From: Julio Montes @ 2019-07-03 15:49 UTC (permalink / raw)
  To: qemu-devel; +Cc: Julio Montes, pbonzini, sgarzare, mst

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



^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [Qemu-devel] [PATCH] hw/i386: Fix linker error when ISAPC is disabled
  2019-07-03 15:49 [Qemu-devel] [PATCH] hw/i386: Fix linker error when ISAPC is disabled Julio Montes
@ 2019-07-03 16:21 ` Paolo Bonzini
  2019-07-03 16:40   ` Montes, Julio
  2019-07-03 20:09 ` no-reply
  2019-07-05 14:35 ` [Qemu-devel] [PATCH v2 1/2] Makefile: generate header file with the list of devices enabled Julio Montes
  2 siblings, 1 reply; 17+ messages in thread
From: Paolo Bonzini @ 2019-07-03 16:21 UTC (permalink / raw)
  To: Julio Montes, qemu-devel; +Cc: sgarzare, mst

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");
> 



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Qemu-devel] [PATCH] hw/i386: Fix linker error when ISAPC is disabled
  2019-07-03 16:21 ` Paolo Bonzini
@ 2019-07-03 16:40   ` Montes, Julio
  2019-07-03 21:09     ` Paolo Bonzini
  0 siblings, 1 reply; 17+ messages in thread
From: Montes, Julio @ 2019-07-03 16:40 UTC (permalink / raw)
  To: qemu-devel, pbonzini; +Cc: mst, sgarzare

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");
> > 

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Qemu-devel] [PATCH] hw/i386: Fix linker error when ISAPC is disabled
  2019-07-03 15:49 [Qemu-devel] [PATCH] hw/i386: Fix linker error when ISAPC is disabled Julio Montes
  2019-07-03 16:21 ` Paolo Bonzini
@ 2019-07-03 20:09 ` no-reply
  2019-07-05 14:35 ` [Qemu-devel] [PATCH v2 1/2] Makefile: generate header file with the list of devices enabled Julio Montes
  2 siblings, 0 replies; 17+ messages in thread
From: no-reply @ 2019-07-03 20:09 UTC (permalink / raw)
  To: julio.montes; +Cc: julio.montes, pbonzini, mst, qemu-devel, sgarzare

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Qemu-devel] [PATCH] hw/i386: Fix linker error when ISAPC is disabled
  2019-07-03 16:40   ` Montes, Julio
@ 2019-07-03 21:09     ` Paolo Bonzini
  2019-07-04 18:03       ` Julio Montes
  0 siblings, 1 reply; 17+ messages in thread
From: Paolo Bonzini @ 2019-07-03 21:09 UTC (permalink / raw)
  To: Montes, Julio, qemu-devel; +Cc: mst, sgarzare

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");
>>>



^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Qemu-devel] [PATCH] hw/i386: Fix linker error when ISAPC is disabled
  2019-07-03 21:09     ` Paolo Bonzini
@ 2019-07-04 18:03       ` Julio Montes
  2019-07-04 19:36         ` no-reply
                           ` (3 more replies)
  0 siblings, 4 replies; 17+ messages in thread
From: Julio Montes @ 2019-07-04 18:03 UTC (permalink / raw)
  To: pbonzini, qemu-devel; +Cc: Julio Montes

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


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [Qemu-devel] [PATCH] hw/i386: Fix linker error when ISAPC is disabled
  2019-07-04 18:03       ` Julio Montes
@ 2019-07-04 19:36         ` no-reply
  2019-07-05  8:25         ` Paolo Bonzini
                           ` (2 subsequent siblings)
  3 siblings, 0 replies; 17+ messages in thread
From: no-reply @ 2019-07-04 19:36 UTC (permalink / raw)
  To: julio.montes; +Cc: julio.montes, pbonzini, qemu-devel

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Qemu-devel] [PATCH] hw/i386: Fix linker error when ISAPC is disabled
  2019-07-04 18:03       ` Julio Montes
  2019-07-04 19:36         ` no-reply
@ 2019-07-05  8:25         ` Paolo Bonzini
  2019-07-05  8:25         ` Paolo Bonzini
  2019-07-05 17:20         ` no-reply
  3 siblings, 0 replies; 17+ messages in thread
From: Paolo Bonzini @ 2019-07-05  8:25 UTC (permalink / raw)
  To: Julio Montes, qemu-devel

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
> 



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Qemu-devel] [PATCH] hw/i386: Fix linker error when ISAPC is disabled
  2019-07-04 18:03       ` Julio Montes
  2019-07-04 19:36         ` no-reply
  2019-07-05  8:25         ` Paolo Bonzini
@ 2019-07-05  8:25         ` Paolo Bonzini
  2019-07-05 17:20         ` no-reply
  3 siblings, 0 replies; 17+ messages in thread
From: Paolo Bonzini @ 2019-07-05  8:25 UTC (permalink / raw)
  To: Julio Montes, qemu-devel

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
> 



^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Qemu-devel] [PATCH v2 1/2] Makefile: generate header file with the list of devices enabled
  2019-07-03 15:49 [Qemu-devel] [PATCH] hw/i386: Fix linker error when ISAPC is disabled Julio Montes
  2019-07-03 16:21 ` Paolo Bonzini
  2019-07-03 20:09 ` no-reply
@ 2019-07-05 14:35 ` Julio Montes
  2019-07-05 14:35   ` [Qemu-devel] [PATCH v2 2/2] hw/i386: Fix linker error when ISAPC is disabled Julio Montes
  2019-07-06  4:21   ` [Qemu-devel] [PATCH v2 1/2] Makefile: generate header file with the list of devices enabled Markus Armbruster
  2 siblings, 2 replies; 17+ messages in thread
From: Julio Montes @ 2019-07-05 14:35 UTC (permalink / raw)
  To: qemu-devel; +Cc: Julio Montes, pbonzini, sgarzare, mst

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


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [Qemu-devel] [PATCH v2 2/2] hw/i386: Fix linker error when ISAPC is disabled
  2019-07-05 14:35 ` [Qemu-devel] [PATCH v2 1/2] Makefile: generate header file with the list of devices enabled Julio Montes
@ 2019-07-05 14:35   ` Julio Montes
  2019-07-05 16:34     ` Paolo Bonzini
  2019-07-05 19:40     ` Philippe Mathieu-Daudé
  2019-07-06  4:21   ` [Qemu-devel] [PATCH v2 1/2] Makefile: generate header file with the list of devices enabled Markus Armbruster
  1 sibling, 2 replies; 17+ messages in thread
From: Julio Montes @ 2019-07-05 14:35 UTC (permalink / raw)
  To: qemu-devel; +Cc: Julio Montes, pbonzini, sgarzare, mst

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


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [Qemu-devel] [PATCH v2 2/2] hw/i386: Fix linker error when ISAPC is disabled
  2019-07-05 14:35   ` [Qemu-devel] [PATCH v2 2/2] hw/i386: Fix linker error when ISAPC is disabled Julio Montes
@ 2019-07-05 16:34     ` Paolo Bonzini
  2019-07-05 19:40     ` Philippe Mathieu-Daudé
  1 sibling, 0 replies; 17+ messages in thread
From: Paolo Bonzini @ 2019-07-05 16:34 UTC (permalink / raw)
  To: Julio Montes, qemu-devel; +Cc: sgarzare, mst

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


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Qemu-devel] [PATCH] hw/i386: Fix linker error when ISAPC is disabled
  2019-07-04 18:03       ` Julio Montes
                           ` (2 preceding siblings ...)
  2019-07-05  8:25         ` Paolo Bonzini
@ 2019-07-05 17:20         ` no-reply
  2019-07-05 17:25           ` Philippe Mathieu-Daudé
  3 siblings, 1 reply; 17+ messages in thread
From: no-reply @ 2019-07-05 17:20 UTC (permalink / raw)
  To: julio.montes; +Cc: julio.montes, pbonzini, qemu-devel

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Qemu-devel] [PATCH] hw/i386: Fix linker error when ISAPC is disabled
  2019-07-05 17:20         ` no-reply
@ 2019-07-05 17:25           ` Philippe Mathieu-Daudé
  2019-07-05 19:23             ` Montes, Julio
  0 siblings, 1 reply; 17+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-07-05 17:25 UTC (permalink / raw)
  To: qemu-devel, no-reply, julio.montes; +Cc: pbonzini, Laurent Vivier

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...


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Qemu-devel] [PATCH] hw/i386: Fix linker error when ISAPC is disabled
  2019-07-05 17:25           ` Philippe Mathieu-Daudé
@ 2019-07-05 19:23             ` Montes, Julio
  0 siblings, 0 replies; 17+ messages in thread
From: Montes, Julio @ 2019-07-05 19:23 UTC (permalink / raw)
  To: no-reply, qemu-devel, philmd; +Cc: pbonzini, laurent

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


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Qemu-devel] [PATCH v2 2/2] hw/i386: Fix linker error when ISAPC is disabled
  2019-07-05 14:35   ` [Qemu-devel] [PATCH v2 2/2] hw/i386: Fix linker error when ISAPC is disabled Julio Montes
  2019-07-05 16:34     ` Paolo Bonzini
@ 2019-07-05 19:40     ` Philippe Mathieu-Daudé
  1 sibling, 0 replies; 17+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-07-05 19:40 UTC (permalink / raw)
  To: Julio Montes, qemu-devel, Peter Maydell
  Cc: pbonzini, mst, Markus Armbruster, sgarzare

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
> 


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Qemu-devel] [PATCH v2 1/2] Makefile: generate header file with the list of devices enabled
  2019-07-05 14:35 ` [Qemu-devel] [PATCH v2 1/2] Makefile: generate header file with the list of devices enabled Julio Montes
  2019-07-05 14:35   ` [Qemu-devel] [PATCH v2 2/2] hw/i386: Fix linker error when ISAPC is disabled Julio Montes
@ 2019-07-06  4:21   ` Markus Armbruster
  1 sibling, 0 replies; 17+ messages in thread
From: Markus Armbruster @ 2019-07-06  4:21 UTC (permalink / raw)
  To: Julio Montes; +Cc: pbonzini, mst, qemu-devel, sgarzare

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.


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2019-07-06  4:22 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-03 15:49 [Qemu-devel] [PATCH] hw/i386: Fix linker error when ISAPC is disabled Julio Montes
2019-07-03 16:21 ` Paolo Bonzini
2019-07-03 16:40   ` Montes, Julio
2019-07-03 21:09     ` Paolo Bonzini
2019-07-04 18:03       ` Julio Montes
2019-07-04 19:36         ` no-reply
2019-07-05  8:25         ` Paolo Bonzini
2019-07-05  8:25         ` Paolo Bonzini
2019-07-05 17:20         ` no-reply
2019-07-05 17:25           ` Philippe Mathieu-Daudé
2019-07-05 19:23             ` Montes, Julio
2019-07-03 20:09 ` no-reply
2019-07-05 14:35 ` [Qemu-devel] [PATCH v2 1/2] Makefile: generate header file with the list of devices enabled Julio Montes
2019-07-05 14:35   ` [Qemu-devel] [PATCH v2 2/2] hw/i386: Fix linker error when ISAPC is disabled Julio Montes
2019-07-05 16:34     ` Paolo Bonzini
2019-07-05 19:40     ` Philippe Mathieu-Daudé
2019-07-06  4:21   ` [Qemu-devel] [PATCH v2 1/2] Makefile: generate header file with the list of devices enabled Markus Armbruster

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.