[Qemu-devel] [PULL 00/54] Kconfig conversion, excluding ARM and MIPS

Paolo Bonzini posted 54 patches 6 years, 7 months ago
Test asan passed
Test docker-mingw@fedora failed
Test docker-clang@ubuntu failed
Test checkpatch failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/1551723614-1823-1-git-send-email-pbonzini@redhat.com
Maintainers: Alberto Garcia <berto@igalia.com>, "Philippe Mathieu-Daudé" <philmd@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, Greg Kurz <groug@kaod.org>, "Alex Bennée" <alex.bennee@linaro.org>, Peter Maydell <peter.maydell@linaro.org>, Helge Deller <deller@gmx.de>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>, Cleber Rosa <crosa@redhat.com>, Halil Pasic <pasic@linux.ibm.com>, Eduardo Habkost <ehabkost@redhat.com>, Stafford Horne <shorne@gmail.com>, "Michael S. Tsirkin" <mst@redhat.com>, Stefan Hajnoczi <stefanha@redhat.com>, Chris Wulff <crwulff@gmail.com>, Alistair Francis <Alistair.Francis@wdc.com>, Aleksandar Markovic <amarkovic@wavecomp.com>, Corey Minyard <minyard@acm.org>, Cornelia Huck <cohuck@redhat.com>, Richard Henderson <rth@twiddle.net>, Palmer Dabbelt <palmer@sifive.com>, Kevin Wolf <kwolf@redhat.com>, Alex Williamson <alex.williamson@redhat.com>, Guan Xuetao <gxt@mprc.pku.edu.cn>, Sagar Karandikar <sagark@eecs.berkeley.edu>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Anthony Green <green@moxielogic.com>, David Hildenbrand <david@redhat.com>, Jason Wang <jasowang@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Aleksandar Rikalo <arikalo@wavecomp.com>, Igor Mammedov <imammedo@redhat.com>, Max Filippov <jcmvbkbc@gmail.com>, Gerd Hoffmann <kraxel@redhat.com>, Fam Zheng <fam@euphon.net>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, Stefan Berger <stefanb@linux.ibm.com>, Aurelien Jarno <aurelien@aurel32.net>, Bastian Koppelmann <kbastian@mail.uni-paderborn.de>, Max Reitz <mreitz@redhat.com>, Artyom Tarasenko <atar4qemu@gmail.com>, Michael Walle <michael@walle.cc>, Marek Vasut <marex@denx.de>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, David Gibson <david@gibson.dropbear.id.au>, Alistair Francis <alistair@alistair23.me>, Christian Borntraeger <borntraeger@de.ibm.com>, John Snow <jsnow@redhat.com>
There is a newer version of this series
.travis.yml                             |   6 +
Kconfig.host                            |  36 ++
Makefile                                |  27 +-
Makefile.target                         |   7 +-
configure                               |  18 +-
default-configs/alpha-softmmu.mak       |  26 +-
default-configs/arm-softmmu.mak         |  18 +-
default-configs/cris-softmmu.mak        |   6 +-
default-configs/hppa-softmmu.mak        |  20 +-
default-configs/hyperv.mak              |   2 -
default-configs/i386-softmmu.mak        |  93 ++---
default-configs/lm32-softmmu.mak        |  12 +-
default-configs/m68k-softmmu.mak        |   4 +-
default-configs/microblaze-softmmu.mak  |  12 +-
default-configs/mips-softmmu-common.mak |  10 +-
default-configs/mips64el-softmmu.mak    |   2 +
default-configs/moxie-softmmu.mak       |   7 +-
default-configs/nios2-softmmu.mak       |   6 +-
default-configs/or1k-softmmu.mak        |   5 +-
default-configs/pci.mak                 |  51 ---
default-configs/ppc-softmmu.mak         |  60 ---
default-configs/ppc64-softmmu.mak       |  13 -
default-configs/riscv32-softmmu.mak     |  21 +-
default-configs/riscv64-softmmu.mak     |  22 +-
default-configs/s390x-softmmu.mak       |  23 +-
default-configs/sh4-softmmu.mak         |  28 +-
default-configs/sh4eb-softmmu.mak       |  22 +-
default-configs/sound.mak               |   4 -
default-configs/sparc-softmmu.mak       |  24 +-
default-configs/sparc64-softmmu.mak     |  25 +-
default-configs/unicore32-softmmu.mak   |   6 +-
default-configs/usb.mak                 |  11 -
default-configs/virtio.mak              |  15 -
default-configs/xtensa-softmmu.mak      |   8 +-
default-configs/xtensaeb-softmmu.mak    |   7 +-
docs/devel/build-system.txt             |   1 -
docs/devel/kconfig.rst                  | 305 ++++++++++++++
hw/9pfs/Kconfig                         |   4 +
hw/9pfs/Makefile.objs                   |   2 -
hw/Kconfig                              |  73 ++++
hw/Makefile.objs                        |   4 +-
hw/acpi/Kconfig                         |  29 ++
hw/adc/Kconfig                          |   2 +
hw/alpha/Kconfig                        |  12 +
hw/arm/Kconfig                          | 124 ++++++
hw/audio/Kconfig                        |  52 +++
hw/block/Kconfig                        |  39 ++
hw/block/Makefile.objs                  |   3 +-
hw/block/dataplane/Makefile.objs        |   2 +-
hw/bt/Kconfig                           |   2 +
hw/char/Kconfig                         |  42 ++
hw/core/Kconfig                         |  11 +
hw/cpu/Kconfig                          |   8 +
hw/cris/Kconfig                         |   9 +
hw/display/Kconfig                      | 108 +++++
hw/display/Makefile.objs                |   4 +-
hw/dma/Kconfig                          |  21 +
hw/gpio/Kconfig                         |   9 +
hw/hppa/Kconfig                         |  10 +
hw/hyperv/Kconfig                       |   8 +
hw/i2c/Kconfig                          |  27 ++
hw/i2c/Makefile.objs                    |   2 +-
hw/i386/Kconfig                         |  99 +++++
hw/i386/Makefile.objs                   |   5 +-
hw/ide/Kconfig                          |  54 +++
hw/input/Kconfig                        |  33 ++
hw/intc/Kconfig                         |  57 +++
hw/ipack/Kconfig                        |   4 +
hw/ipmi/Kconfig                         |  22 +
hw/isa/Kconfig                          |  53 +++
hw/lm32/Kconfig                         |  13 +
hw/m68k/Kconfig                         |   9 +
hw/mem/Kconfig                          |  11 +
hw/microblaze/Kconfig                   |  20 +
hw/mips/Kconfig                         |  21 +
hw/misc/Kconfig                         | 118 ++++++
hw/misc/macio/Kconfig                   |  11 +
hw/moxie/Kconfig                        |   3 +
hw/net/Kconfig                          | 125 ++++++
hw/nios2/Kconfig                        |   8 +
hw/nvram/Kconfig                        |   9 +
hw/openrisc/Kconfig                     |   5 +
hw/pci-bridge/Kconfig                   |  29 ++
hw/pci-host/Kconfig                     |  51 +++
hw/pci/Kconfig                          |   9 +
hw/pci/Makefile.objs                    |   9 +-
hw/pcmcia/Kconfig                       |   2 +
hw/ppc/Kconfig                          | 121 ++++++
hw/riscv/Kconfig                        |  33 ++
hw/s390x/Kconfig                        |  11 +
hw/s390x/Makefile.objs                  |   4 +-
hw/scsi/Kconfig                         |  54 +++
hw/scsi/Makefile.objs                   |   2 +-
hw/sd/Kconfig                           |  17 +
hw/sh4/Kconfig                          |  23 ++
hw/smbios/Kconfig                       |   2 +
hw/sparc/Kconfig                        |  26 ++
hw/sparc64/Kconfig                      |  19 +
hw/ssi/Kconfig                          |  18 +
hw/timer/Kconfig                        |  63 +++
hw/tpm/Kconfig                          |  23 ++
hw/tricore/Kconfig                      |   2 +
hw/unicore32/Kconfig                    |   5 +
hw/usb/Kconfig                          |  91 ++++
hw/usb/Makefile.objs                    |   2 +-
hw/vfio/Kconfig                         |  36 ++
hw/virtio/Kconfig                       |  31 ++
hw/virtio/Makefile.objs                 |   2 +
hw/watchdog/Kconfig                     |  16 +
hw/xtensa/Kconfig                       |   8 +
hw/xtensa/Makefile.objs                 |   2 +-
rules.mak                               |   2 +-
scripts/make_device_config.sh           |  30 --
scripts/minikconf.py                    | 708 ++++++++++++++++++++++++++++++++
114 files changed, 3199 insertions(+), 502 deletions(-)
create mode 100644 Kconfig.host
delete mode 100644 default-configs/hyperv.mak
delete mode 100644 default-configs/pci.mak
delete mode 100644 default-configs/sound.mak
delete mode 100644 default-configs/usb.mak
delete mode 100644 default-configs/virtio.mak
create mode 100644 docs/devel/kconfig.rst
create mode 100644 hw/9pfs/Kconfig
create mode 100644 hw/Kconfig
create mode 100644 hw/acpi/Kconfig
create mode 100644 hw/adc/Kconfig
create mode 100644 hw/alpha/Kconfig
create mode 100644 hw/arm/Kconfig
create mode 100644 hw/audio/Kconfig
create mode 100644 hw/block/Kconfig
create mode 100644 hw/bt/Kconfig
create mode 100644 hw/char/Kconfig
create mode 100644 hw/core/Kconfig
create mode 100644 hw/cpu/Kconfig
create mode 100644 hw/cris/Kconfig
create mode 100644 hw/display/Kconfig
create mode 100644 hw/dma/Kconfig
create mode 100644 hw/gpio/Kconfig
create mode 100644 hw/hppa/Kconfig
create mode 100644 hw/hyperv/Kconfig
create mode 100644 hw/i2c/Kconfig
create mode 100644 hw/i386/Kconfig
create mode 100644 hw/ide/Kconfig
create mode 100644 hw/input/Kconfig
create mode 100644 hw/intc/Kconfig
create mode 100644 hw/ipack/Kconfig
create mode 100644 hw/ipmi/Kconfig
create mode 100644 hw/isa/Kconfig
create mode 100644 hw/lm32/Kconfig
create mode 100644 hw/m68k/Kconfig
create mode 100644 hw/mem/Kconfig
create mode 100644 hw/microblaze/Kconfig
create mode 100644 hw/mips/Kconfig
create mode 100644 hw/misc/Kconfig
create mode 100644 hw/misc/macio/Kconfig
create mode 100644 hw/moxie/Kconfig
create mode 100644 hw/net/Kconfig
create mode 100644 hw/nios2/Kconfig
create mode 100644 hw/nvram/Kconfig
create mode 100644 hw/openrisc/Kconfig
create mode 100644 hw/pci-bridge/Kconfig
create mode 100644 hw/pci-host/Kconfig
create mode 100644 hw/pci/Kconfig
create mode 100644 hw/pcmcia/Kconfig
create mode 100644 hw/ppc/Kconfig
create mode 100644 hw/riscv/Kconfig
create mode 100644 hw/s390x/Kconfig
create mode 100644 hw/scsi/Kconfig
create mode 100644 hw/sd/Kconfig
create mode 100644 hw/sh4/Kconfig
create mode 100644 hw/smbios/Kconfig
create mode 100644 hw/sparc/Kconfig
create mode 100644 hw/sparc64/Kconfig
create mode 100644 hw/ssi/Kconfig
create mode 100644 hw/timer/Kconfig
create mode 100644 hw/tpm/Kconfig
create mode 100644 hw/tricore/Kconfig
create mode 100644 hw/unicore32/Kconfig
create mode 100644 hw/usb/Kconfig
create mode 100644 hw/vfio/Kconfig
create mode 100644 hw/virtio/Kconfig
create mode 100644 hw/watchdog/Kconfig
create mode 100644 hw/xtensa/Kconfig
delete mode 100644 scripts/make_device_config.sh
create mode 100644 scripts/minikconf.py
[Qemu-devel] [PULL 00/54] Kconfig conversion, excluding ARM and MIPS
Posted by Paolo Bonzini 6 years, 7 months ago
The following changes since commit 1ba530a4ecba6015d52d8f392fd327cfa07bc37a:

  Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20190304' into staging (2019-03-04 13:38:54 +0000)

are available in the git repository at:


  git://github.com/bonzini/qemu.git tags/for-upstream-kconfig

for you to fetch changes up to b1d8b9a6cc37e33dde1873379174de78957830ca:

  kconfig: add documentation (2019-03-04 19:09:35 +0100)

----------------------------------------------------------------
Initial Kconfig work, excluding ARM and MIPS

----------------------------------------------------------------
Paolo Bonzini (42):
      block: fix recursion in hw/block/dataplane
      9pfs: remove unnecessary conditionals
      xtensa: rename CONFIG_XTENSA_FPGA to CONFIG_XTENSA_XTFPGA
      minikconfig: add parser skeleton
      minikconfig: add AST
      minikconfig: add semantic analysis
      kconfig: introduce kconfig files
      build: switch to Kconfig
      minikconfig: implement allnoconfig and defconfig modes
      kconfig: introduce CONFIG_TEST_DEVICES
      ide: express dependencies with Kconfig
      isa: express dependencies with kconfig
      build: convert pci.mak to Kconfig
      build: convert sound.mak to Kconfig
      scsi: express dependencies with Kconfig
      build: convert usb.mak to Kconfig
      i386: express dependencies with Kconfig
      i2c: express dependencies with Kconfig
      ptimer: express dependencies with Kconfig
      vfio: express vfio dependencies with Kconfig
      tpm: express dependencies with Kconfig
      isa: express SuperIO dependencies with Kconfig
      ssi: express dependencies with kconfig
      sd: express dependencies with kconfig
      ipmi: express dependencies with kconfig
      alpha-softmmu.mak: express dependencies with Kconfig
      cris-softmmu.mak: express dependencies with Kconfig
      hppa-softmmu.mak: express dependencies with Kconfig
      lm32-softmmu.mak: express dependencies with Kconfig
      m68k-softmmu.mak: express dependencies with Kconfig
      microblaze-softmmu.mak: express dependencies with Kconfig
      moxie-softmmu.mak: express dependencies with Kconfig
      nios2-softmmu.mak: express dependencies with Kconfig
      or1k-softmmu.mak: express dependencies with Kconfig
      riscv-softmmu.mak: replace CONFIG_* with Kconfig "select" directives
      sh4-softmmu.mak: express dependencies with Kconfig
      sparc-softmmu.mak: express dependencies with Kconfig
      sparc64-softmmu.mak: express dependencies with Kconfig
      unicore32-softmmu.mak: express dependencies with Kconfig
      xtensa-softmmu.mak: express dependencies with Kconfig
      .travis.yml: test that no-default-device builds do not regress
      kconfig: add documentation

Thomas Huth (6):
      ppc64: Express dependencies of 'pseries' and 'powernv' machines with kconfig
      ppc: Express dependencies of the 'prep' and '40p' machines with kconfig
      ppc: Express dependencies of the Mac machines with kconfig
      ppc: Express dependencies of the Sam460EX machines with kconfig
      ppc: Express dependencies of the embedded machines with kconfig
      s390x: express dependencies with Kconfig

Yang Zhong (6):
      hw/display: make edid configurable
      hw/pci/Makefile.objs: make pcie configurable
      display: express dependencies with kconfig
      hyperv: express dependencies with kconfig
      virtio: express virtio dependencies with Kconfig
      i386-softmmu.mak: remove all CONFIG_* except boards definitions

 .travis.yml                             |   6 +
 Kconfig.host                            |  36 ++
 Makefile                                |  27 +-
 Makefile.target                         |   7 +-
 configure                               |  18 +-
 default-configs/alpha-softmmu.mak       |  26 +-
 default-configs/arm-softmmu.mak         |  18 +-
 default-configs/cris-softmmu.mak        |   6 +-
 default-configs/hppa-softmmu.mak        |  20 +-
 default-configs/hyperv.mak              |   2 -
 default-configs/i386-softmmu.mak        |  93 ++---
 default-configs/lm32-softmmu.mak        |  12 +-
 default-configs/m68k-softmmu.mak        |   4 +-
 default-configs/microblaze-softmmu.mak  |  12 +-
 default-configs/mips-softmmu-common.mak |  10 +-
 default-configs/mips64el-softmmu.mak    |   2 +
 default-configs/moxie-softmmu.mak       |   7 +-
 default-configs/nios2-softmmu.mak       |   6 +-
 default-configs/or1k-softmmu.mak        |   5 +-
 default-configs/pci.mak                 |  51 ---
 default-configs/ppc-softmmu.mak         |  60 ---
 default-configs/ppc64-softmmu.mak       |  13 -
 default-configs/riscv32-softmmu.mak     |  21 +-
 default-configs/riscv64-softmmu.mak     |  22 +-
 default-configs/s390x-softmmu.mak       |  23 +-
 default-configs/sh4-softmmu.mak         |  28 +-
 default-configs/sh4eb-softmmu.mak       |  22 +-
 default-configs/sound.mak               |   4 -
 default-configs/sparc-softmmu.mak       |  24 +-
 default-configs/sparc64-softmmu.mak     |  25 +-
 default-configs/unicore32-softmmu.mak   |   6 +-
 default-configs/usb.mak                 |  11 -
 default-configs/virtio.mak              |  15 -
 default-configs/xtensa-softmmu.mak      |   8 +-
 default-configs/xtensaeb-softmmu.mak    |   7 +-
 docs/devel/build-system.txt             |   1 -
 docs/devel/kconfig.rst                  | 305 ++++++++++++++
 hw/9pfs/Kconfig                         |   4 +
 hw/9pfs/Makefile.objs                   |   2 -
 hw/Kconfig                              |  73 ++++
 hw/Makefile.objs                        |   4 +-
 hw/acpi/Kconfig                         |  29 ++
 hw/adc/Kconfig                          |   2 +
 hw/alpha/Kconfig                        |  12 +
 hw/arm/Kconfig                          | 124 ++++++
 hw/audio/Kconfig                        |  52 +++
 hw/block/Kconfig                        |  39 ++
 hw/block/Makefile.objs                  |   3 +-
 hw/block/dataplane/Makefile.objs        |   2 +-
 hw/bt/Kconfig                           |   2 +
 hw/char/Kconfig                         |  42 ++
 hw/core/Kconfig                         |  11 +
 hw/cpu/Kconfig                          |   8 +
 hw/cris/Kconfig                         |   9 +
 hw/display/Kconfig                      | 108 +++++
 hw/display/Makefile.objs                |   4 +-
 hw/dma/Kconfig                          |  21 +
 hw/gpio/Kconfig                         |   9 +
 hw/hppa/Kconfig                         |  10 +
 hw/hyperv/Kconfig                       |   8 +
 hw/i2c/Kconfig                          |  27 ++
 hw/i2c/Makefile.objs                    |   2 +-
 hw/i386/Kconfig                         |  99 +++++
 hw/i386/Makefile.objs                   |   5 +-
 hw/ide/Kconfig                          |  54 +++
 hw/input/Kconfig                        |  33 ++
 hw/intc/Kconfig                         |  57 +++
 hw/ipack/Kconfig                        |   4 +
 hw/ipmi/Kconfig                         |  22 +
 hw/isa/Kconfig                          |  53 +++
 hw/lm32/Kconfig                         |  13 +
 hw/m68k/Kconfig                         |   9 +
 hw/mem/Kconfig                          |  11 +
 hw/microblaze/Kconfig                   |  20 +
 hw/mips/Kconfig                         |  21 +
 hw/misc/Kconfig                         | 118 ++++++
 hw/misc/macio/Kconfig                   |  11 +
 hw/moxie/Kconfig                        |   3 +
 hw/net/Kconfig                          | 125 ++++++
 hw/nios2/Kconfig                        |   8 +
 hw/nvram/Kconfig                        |   9 +
 hw/openrisc/Kconfig                     |   5 +
 hw/pci-bridge/Kconfig                   |  29 ++
 hw/pci-host/Kconfig                     |  51 +++
 hw/pci/Kconfig                          |   9 +
 hw/pci/Makefile.objs                    |   9 +-
 hw/pcmcia/Kconfig                       |   2 +
 hw/ppc/Kconfig                          | 121 ++++++
 hw/riscv/Kconfig                        |  33 ++
 hw/s390x/Kconfig                        |  11 +
 hw/s390x/Makefile.objs                  |   4 +-
 hw/scsi/Kconfig                         |  54 +++
 hw/scsi/Makefile.objs                   |   2 +-
 hw/sd/Kconfig                           |  17 +
 hw/sh4/Kconfig                          |  23 ++
 hw/smbios/Kconfig                       |   2 +
 hw/sparc/Kconfig                        |  26 ++
 hw/sparc64/Kconfig                      |  19 +
 hw/ssi/Kconfig                          |  18 +
 hw/timer/Kconfig                        |  63 +++
 hw/tpm/Kconfig                          |  23 ++
 hw/tricore/Kconfig                      |   2 +
 hw/unicore32/Kconfig                    |   5 +
 hw/usb/Kconfig                          |  91 ++++
 hw/usb/Makefile.objs                    |   2 +-
 hw/vfio/Kconfig                         |  36 ++
 hw/virtio/Kconfig                       |  31 ++
 hw/virtio/Makefile.objs                 |   2 +
 hw/watchdog/Kconfig                     |  16 +
 hw/xtensa/Kconfig                       |   8 +
 hw/xtensa/Makefile.objs                 |   2 +-
 rules.mak                               |   2 +-
 scripts/make_device_config.sh           |  30 --
 scripts/minikconf.py                    | 708 ++++++++++++++++++++++++++++++++
 114 files changed, 3199 insertions(+), 502 deletions(-)
 create mode 100644 Kconfig.host
 delete mode 100644 default-configs/hyperv.mak
 delete mode 100644 default-configs/pci.mak
 delete mode 100644 default-configs/sound.mak
 delete mode 100644 default-configs/usb.mak
 delete mode 100644 default-configs/virtio.mak
 create mode 100644 docs/devel/kconfig.rst
 create mode 100644 hw/9pfs/Kconfig
 create mode 100644 hw/Kconfig
 create mode 100644 hw/acpi/Kconfig
 create mode 100644 hw/adc/Kconfig
 create mode 100644 hw/alpha/Kconfig
 create mode 100644 hw/arm/Kconfig
 create mode 100644 hw/audio/Kconfig
 create mode 100644 hw/block/Kconfig
 create mode 100644 hw/bt/Kconfig
 create mode 100644 hw/char/Kconfig
 create mode 100644 hw/core/Kconfig
 create mode 100644 hw/cpu/Kconfig
 create mode 100644 hw/cris/Kconfig
 create mode 100644 hw/display/Kconfig
 create mode 100644 hw/dma/Kconfig
 create mode 100644 hw/gpio/Kconfig
 create mode 100644 hw/hppa/Kconfig
 create mode 100644 hw/hyperv/Kconfig
 create mode 100644 hw/i2c/Kconfig
 create mode 100644 hw/i386/Kconfig
 create mode 100644 hw/ide/Kconfig
 create mode 100644 hw/input/Kconfig
 create mode 100644 hw/intc/Kconfig
 create mode 100644 hw/ipack/Kconfig
 create mode 100644 hw/ipmi/Kconfig
 create mode 100644 hw/isa/Kconfig
 create mode 100644 hw/lm32/Kconfig
 create mode 100644 hw/m68k/Kconfig
 create mode 100644 hw/mem/Kconfig
 create mode 100644 hw/microblaze/Kconfig
 create mode 100644 hw/mips/Kconfig
 create mode 100644 hw/misc/Kconfig
 create mode 100644 hw/misc/macio/Kconfig
 create mode 100644 hw/moxie/Kconfig
 create mode 100644 hw/net/Kconfig
 create mode 100644 hw/nios2/Kconfig
 create mode 100644 hw/nvram/Kconfig
 create mode 100644 hw/openrisc/Kconfig
 create mode 100644 hw/pci-bridge/Kconfig
 create mode 100644 hw/pci-host/Kconfig
 create mode 100644 hw/pci/Kconfig
 create mode 100644 hw/pcmcia/Kconfig
 create mode 100644 hw/ppc/Kconfig
 create mode 100644 hw/riscv/Kconfig
 create mode 100644 hw/s390x/Kconfig
 create mode 100644 hw/scsi/Kconfig
 create mode 100644 hw/sd/Kconfig
 create mode 100644 hw/sh4/Kconfig
 create mode 100644 hw/smbios/Kconfig
 create mode 100644 hw/sparc/Kconfig
 create mode 100644 hw/sparc64/Kconfig
 create mode 100644 hw/ssi/Kconfig
 create mode 100644 hw/timer/Kconfig
 create mode 100644 hw/tpm/Kconfig
 create mode 100644 hw/tricore/Kconfig
 create mode 100644 hw/unicore32/Kconfig
 create mode 100644 hw/usb/Kconfig
 create mode 100644 hw/vfio/Kconfig
 create mode 100644 hw/virtio/Kconfig
 create mode 100644 hw/watchdog/Kconfig
 create mode 100644 hw/xtensa/Kconfig
 delete mode 100644 scripts/make_device_config.sh
 create mode 100644 scripts/minikconf.py
-- 
1.8.3.1


Re: [Qemu-devel] [PULL 00/54] Kconfig conversion, excluding ARM and MIPS
Posted by no-reply@patchew.org 6 years, 7 months ago
Patchew URL: https://patchew.org/QEMU/1551723614-1823-1-git-send-email-pbonzini@redhat.com/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Type: series
Message-id: 1551723614-1823-1-git-send-email-pbonzini@redhat.com
Subject: [Qemu-devel] [PULL 00/54] Kconfig conversion, excluding ARM and MIPS

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

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 * [new tag]               patchew/1551723614-1823-1-git-send-email-pbonzini@redhat.com -> patchew/1551723614-1823-1-git-send-email-pbonzini@redhat.com
Switched to a new branch 'test'
0a6e26d5e8 kconfig: add documentation
ea170e8fde .travis.yml: test that no-default-device builds do not regress
1b47d6119c xtensa-softmmu.mak: express dependencies with Kconfig
268226f037 unicore32-softmmu.mak: express dependencies with Kconfig
4d127f4b59 sparc64-softmmu.mak: express dependencies with Kconfig
41dc3c5a6f sparc-softmmu.mak: express dependencies with Kconfig
177ea46f90 sh4-softmmu.mak: express dependencies with Kconfig
bfbd16edaa s390x: express dependencies with Kconfig
0da98e9d99 riscv-softmmu.mak: replace CONFIG_* with Kconfig "select" directives
2bd6d98ea7 or1k-softmmu.mak: express dependencies with Kconfig
7ad0eeb7de nios2-softmmu.mak: express dependencies with Kconfig
d8036ee7a8 moxie-softmmu.mak: express dependencies with Kconfig
c23e77f5aa microblaze-softmmu.mak: express dependencies with Kconfig
c1a098f358 m68k-softmmu.mak: express dependencies with Kconfig
0a0ad1fa60 lm32-softmmu.mak: express dependencies with Kconfig
963592bc4d hppa-softmmu.mak: express dependencies with Kconfig
3d236ef789 cris-softmmu.mak: express dependencies with Kconfig
dcd0d9418c alpha-softmmu.mak: express dependencies with Kconfig
34f29f98a6 ppc: Express dependencies of the embedded machines with kconfig
a8403b6d98 ppc: Express dependencies of the Sam460EX machines with kconfig
c9a90ef24e ppc: Express dependencies of the Mac machines with kconfig
31419b35d4 ppc: Express dependencies of the 'prep' and '40p' machines with kconfig
58d83d1eea ppc64: Express dependencies of 'pseries' and 'powernv' machines with kconfig
8f91d4bfd3 i386-softmmu.mak: remove all CONFIG_* except boards definitions
cbf73d8f0c ipmi: express dependencies with kconfig
0dd5fb4d6b sd: express dependencies with kconfig
97325e396a ssi: express dependencies with kconfig
332ad30853 isa: express SuperIO dependencies with Kconfig
6fec955cb3 tpm: express dependencies with Kconfig
45011d7502 virtio: express virtio dependencies with Kconfig
a88bb8c5c0 vfio: express vfio dependencies with Kconfig
8ca215b85e hyperv: express dependencies with kconfig
0463805988 display: express dependencies with kconfig
460da886d6 ptimer: express dependencies with Kconfig
6803092964 i2c: express dependencies with Kconfig
0cc4ae9ed0 i386: express dependencies with Kconfig
0c0f46ceb9 build: convert usb.mak to Kconfig
6937417da4 scsi: express dependencies with Kconfig
cc59241507 build: convert sound.mak to Kconfig
be2d02caf9 build: convert pci.mak to Kconfig
7951601a63 isa: express dependencies with kconfig
409dbbb6f2 hw/pci/Makefile.objs: make pcie configurable
a071d6e98d ide: express dependencies with Kconfig
7f5fdbf41d kconfig: introduce CONFIG_TEST_DEVICES
da6052b249 minikconfig: implement allnoconfig and defconfig modes
e8c2768dce build: switch to Kconfig
f83935e733 kconfig: introduce kconfig files
1f5dc409bc hw/display: make edid configurable
fe7e0fba75 minikconfig: add semantic analysis
c8f1845c7c minikconfig: add AST
194871c17a minikconfig: add parser skeleton
e8f333426c xtensa: rename CONFIG_XTENSA_FPGA to CONFIG_XTENSA_XTFPGA
8f50814206 9pfs: remove unnecessary conditionals
5deb877614 block: fix recursion in hw/block/dataplane

=== OUTPUT BEGIN ===
1/54 Checking commit 5deb87761401 (block: fix recursion in hw/block/dataplane)
2/54 Checking commit 8f5081420656 (9pfs: remove unnecessary conditionals)
3/54 Checking commit e8f333426ca5 (xtensa: rename CONFIG_XTENSA_FPGA to CONFIG_XTENSA_XTFPGA)
4/54 Checking commit 194871c17a47 (minikconfig: add parser skeleton)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#35: 
new file mode 100644

WARNING: line over 80 characters
#259: FILE: scripts/minikconf.py:220:
+                           'Expected identifier starting with "CONFIG_"', TOK_NONE)

WARNING: line over 80 characters
#358: FILE: scripts/minikconf.py:319:
+            raise KconfigParserError(self, 'expected "source", "config", identifier, '

WARNING: line over 80 characters
#384: FILE: scripts/minikconf.py:345:
+            raise KconfigParserError(self, 'expected "source", "config" or identifier')

ERROR: line over 90 characters
#409: FILE: scripts/minikconf.py:370:
+        if self.src[self.cursor + length].isalnum() or self.src[self.cursor + length] == '|':

WARNING: line over 80 characters
#464: FILE: scripts/minikconf.py:425:
+            while self.src[self.cursor].isalnum() or self.src[self.cursor] == '_':

total: 1 errors, 5 warnings, 441 lines checked

Patch 4/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

5/54 Checking commit c8f1845c7c37 (minikconfig: add AST)
WARNING: line over 80 characters
#89: FILE: scripts/minikconf.py:90:
+                return "config %s default %s if %s" % (self.dest, value, self.cond)

total: 0 errors, 1 warnings, 177 lines checked

Patch 5/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
6/54 Checking commit fe7e0fba7561 (minikconfig: add semantic analysis)
ERROR: line over 90 characters
#125: FILE: scripts/minikconf.py:110:
+                raise KconfigDataError('contradiction between clauses when setting %s' % self)

WARNING: line over 80 characters
#228: FILE: scripts/minikconf.py:222:
+            debug_print(i, "->", [str(x) for x in self.referenced_vars[i].outgoing])

total: 1 errors, 1 warnings, 247 lines checked

Patch 6/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

7/54 Checking commit 1f5dc409bcc9 (hw/display: make edid configurable)
8/54 Checking commit f83935e733c1 (kconfig: introduce kconfig files)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#44: 
new file mode 100644

WARNING: line over 80 characters
#1757: FILE: scripts/minikconf.py:657:
+        print ("%s: at least one argument is required" % argv[0], file=sys.stderr)

total: 0 errors, 2 warnings, 1358 lines checked

Patch 8/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
9/54 Checking commit e8c2768dce92 (build: switch to Kconfig)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#553: 
deleted file mode 100644

total: 0 errors, 1 warnings, 374 lines checked

Patch 9/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
10/54 Checking commit da6052b24922 (minikconfig: implement allnoconfig and defconfig modes)
11/54 Checking commit 7f5fdbf41dc2 (kconfig: introduce CONFIG_TEST_DEVICES)
12/54 Checking commit a071d6e98d83 (ide: express dependencies with Kconfig)
13/54 Checking commit 409dbbb6f21d (hw/pci/Makefile.objs: make pcie configurable)
14/54 Checking commit 7951601a6310 (isa: express dependencies with kconfig)
15/54 Checking commit be2d02caf9a3 (build: convert pci.mak to Kconfig)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#145: 
deleted file mode 100644

total: 0 errors, 1 warnings, 493 lines checked

Patch 15/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
16/54 Checking commit cc59241507f0 (build: convert sound.mak to Kconfig)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#68: 
deleted file mode 100644

total: 0 errors, 1 warnings, 49 lines checked

Patch 16/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
17/54 Checking commit 6937417da4f9 (scsi: express dependencies with Kconfig)
18/54 Checking commit 0c0f46ceb9fe (build: convert usb.mak to Kconfig)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#158: 
deleted file mode 100644

total: 0 errors, 1 warnings, 167 lines checked

Patch 18/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
19/54 Checking commit 0cc4ae9ed023 (i386: express dependencies with Kconfig)
20/54 Checking commit 6803092964f0 (i2c: express dependencies with Kconfig)
21/54 Checking commit 460da886d636 (ptimer: express dependencies with Kconfig)
22/54 Checking commit 0463805988e4 (display: express dependencies with kconfig)
23/54 Checking commit 8ca215b85e92 (hyperv: express dependencies with kconfig)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#17: 
deleted file mode 100644

total: 0 errors, 1 warnings, 11 lines checked

Patch 23/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
24/54 Checking commit a88bb8c5c0ca (vfio: express vfio dependencies with Kconfig)
25/54 Checking commit 45011d750284 (virtio: express virtio dependencies with Kconfig)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#37: 
deleted file mode 100644

total: 0 errors, 1 warnings, 97 lines checked

Patch 25/54 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
26/54 Checking commit 6fec955cb359 (tpm: express dependencies with Kconfig)
27/54 Checking commit 332ad3085359 (isa: express SuperIO dependencies with Kconfig)
28/54 Checking commit 97325e396a0b (ssi: express dependencies with kconfig)
29/54 Checking commit 0dd5fb4d6b3d (sd: express dependencies with kconfig)
30/54 Checking commit cbf73d8f0c30 (ipmi: express dependencies with kconfig)
31/54 Checking commit 8f91d4bfd333 (i386-softmmu.mak: remove all CONFIG_* except boards definitions)
32/54 Checking commit 58d83d1eea52 (ppc64: Express dependencies of 'pseries' and 'powernv' machines with kconfig)
33/54 Checking commit 31419b35d46a (ppc: Express dependencies of the 'prep' and '40p' machines with kconfig)
34/54 Checking commit c9a90ef24eb7 (ppc: Express dependencies of the Mac machines with kconfig)
35/54 Checking commit a8403b6d98a8 (ppc: Express dependencies of the Sam460EX machines with kconfig)
36/54 Checking commit 34f29f98a676 (ppc: Express dependencies of the embedded machines with kconfig)
37/54 Checking commit dcd0d9418ca0 (alpha-softmmu.mak: express dependencies with Kconfig)
38/54 Checking commit 3d236ef7896f (cris-softmmu.mak: express dependencies with Kconfig)
39/54 Checking commit 963592bc4d8b (hppa-softmmu.mak: express dependencies with Kconfig)
40/54 Checking commit 0a0ad1fa605c (lm32-softmmu.mak: express dependencies with Kconfig)
41/54 Checking commit c1a098f35829 (m68k-softmmu.mak: express dependencies with Kconfig)
42/54 Checking commit c23e77f5aa26 (microblaze-softmmu.mak: express dependencies with Kconfig)
43/54 Checking commit d8036ee7a82a (moxie-softmmu.mak: express dependencies with Kconfig)
44/54 Checking commit 7ad0eeb7dead (nios2-softmmu.mak: express dependencies with Kconfig)
45/54 Checking commit 2bd6d98ea7c8 (or1k-softmmu.mak: express dependencies with Kconfig)
46/54 Checking commit 0da98e9d9936 (riscv-softmmu.mak: replace CONFIG_* with Kconfig "select" directives)
47/54 Checking commit bfbd16edaa98 (s390x: express dependencies with Kconfig)
48/54 Checking commit 177ea46f90b8 (sh4-softmmu.mak: express dependencies with Kconfig)
49/54 Checking commit 41dc3c5a6ff6 (sparc-softmmu.mak: express dependencies with Kconfig)
50/54 Checking commit 4d127f4b59e5 (sparc64-softmmu.mak: express dependencies with Kconfig)
51/54 Checking commit 268226f03725 (unicore32-softmmu.mak: express dependencies with Kconfig)
52/54 Checking commit 1b47d6119c83 (xtensa-softmmu.mak: express dependencies with Kconfig)
53/54 Checking commit ea170e8fde6a (.travis.yml: test that no-default-device builds do not regress)
54/54 Checking commit 0a6e26d5e85b (kconfig: add documentation)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#11: 
new file mode 100644

total: 0 errors, 1 warnings, 305 lines checked

Patch 54/54 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/1551723614-1823-1-git-send-email-pbonzini@redhat.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
Re: [Qemu-devel] [PULL 00/54] Kconfig conversion, excluding ARM and MIPS
Posted by no-reply@patchew.org 6 years, 7 months ago
Patchew URL: https://patchew.org/QEMU/1551723614-1823-1-git-send-email-pbonzini@redhat.com/



Hi,

This series failed the docker-mingw@fedora 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
time make docker-test-mingw@fedora SHOW_ENV=1 J=14 NETWORK=1
=== TEST SCRIPT END ===

  CC      hw/usb/dev-bluetooth.o
  CC      hw/usb/dev-smartcard-reader.o
In file included from /tmp/qemu-test/src/hw/tpm/tpm_emulator.c:37:
/tmp/qemu-test/src/hw/tpm/tpm_ioctl.h:11:10: fatal error: sys/uio.h: No such file or directory
 #include <sys/uio.h>
          ^~~~~~~~~~~
compilation terminated.


The full log is available at
http://patchew.org/logs/1551723614-1823-1-git-send-email-pbonzini@redhat.com/testing.docker-mingw@fedora/?type=message.
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
Re: [Qemu-devel] [PULL 00/54] Kconfig conversion, excluding ARM and MIPS
Posted by Peter Maydell 6 years, 7 months ago
On Mon, 4 Mar 2019 at 19:25, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> The following changes since commit 1ba530a4ecba6015d52d8f392fd327cfa07bc37a:
>
>   Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20190304' into staging (2019-03-04 13:38:54 +0000)
>
> are available in the git repository at:
>
>
>   git://github.com/bonzini/qemu.git tags/for-upstream-kconfig
>
> for you to fetch changes up to b1d8b9a6cc37e33dde1873379174de78957830ca:
>
>   kconfig: add documentation (2019-03-04 19:09:35 +0100)
>
> ----------------------------------------------------------------
> Initial Kconfig work, excluding ARM and MIPS

Build failure for the Windows builds:

In file included from /home/petmay01/qemu-for-merges/hw/tpm/tpm_emulator.c:37:0:
/home/petmay01/qemu-for-merges/hw/tpm/tpm_ioctl.h:11:21: fatal error:
sys/uio.h: No such file or directory

I'm not sure what's happened here. It looks like the Kconfig machinery
is putting CONFIG_TPM_EMULATOR in build/x86-64-softmmu/config-devices.mak,
but configure is trying to put it into config-host.mak. The configure
code is where the "don't do TPM on windows" check is, but the Kconfig
entry in config-devices.mak overrides that and tries to build this
code on Windows anyway.

All the other builds seemed to run ok (I'm just rerunning one lot
which failed due to an issue on my end; will follow up if there's
any failure there).

thanks
-- PMM

Re: [Qemu-devel] [PULL 00/54] Kconfig conversion, excluding ARM and MIPS
Posted by Philippe Mathieu-Daudé 6 years, 7 months ago
On 3/7/19 2:25 PM, Peter Maydell wrote:
> On Mon, 4 Mar 2019 at 19:25, Paolo Bonzini <pbonzini@redhat.com> wrote:
>>
>> The following changes since commit 1ba530a4ecba6015d52d8f392fd327cfa07bc37a:
>>
>>   Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20190304' into staging (2019-03-04 13:38:54 +0000)
>>
>> are available in the git repository at:
>>
>>
>>   git://github.com/bonzini/qemu.git tags/for-upstream-kconfig
>>
>> for you to fetch changes up to b1d8b9a6cc37e33dde1873379174de78957830ca:
>>
>>   kconfig: add documentation (2019-03-04 19:09:35 +0100)
>>
>> ----------------------------------------------------------------
>> Initial Kconfig work, excluding ARM and MIPS
> 
> Build failure for the Windows builds:
> 
> In file included from /home/petmay01/qemu-for-merges/hw/tpm/tpm_emulator.c:37:0:
> /home/petmay01/qemu-for-merges/hw/tpm/tpm_ioctl.h:11:21: fatal error:
> sys/uio.h: No such file or directory
> 
> I'm not sure what's happened here. It looks like the Kconfig machinery
> is putting CONFIG_TPM_EMULATOR in build/x86-64-softmmu/config-devices.mak,
> but configure is trying to put it into config-host.mak. The configure
> code is where the "don't do TPM on windows" check is, but the Kconfig
> entry in config-devices.mak overrides that and tries to build this
> code on Windows anyway.

Paolo, we might need:

-- >8 --
diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -336,6 +336,7 @@ MINIKCONF_ARGS = \
     CONFIG_SPICE=$(CONFIG_SPICE) \
     CONFIG_IVSHMEM=$(CONFIG_IVSHMEM) \
     CONFIG_TPM=$(CONFIG_TPM) \
+    CONFIG_TPM_EMULATOR=$(CONFIG_TPM_EMULATOR) \
     CONFIG_XEN=$(CONFIG_XEN) \
     CONFIG_OPENGL=$(CONFIG_OPENGL) \
     CONFIG_X11=$(CONFIG_X11) \
---

I'm not sure about CONFIG_TPM_PASSTHROUGH.

> 
> All the other builds seemed to run ok (I'm just rerunning one lot
> which failed due to an issue on my end; will follow up if there's
> any failure there).
> 
> thanks
> -- PMM
> 

Re: [Qemu-devel] [PULL 00/54] Kconfig conversion, excluding ARM and MIPS
Posted by Paolo Bonzini 6 years, 7 months ago
On 07/03/19 14:47, Philippe Mathieu-Daudé wrote:
> Paolo, we might need:
> 
> -- >8 --
> diff --git a/Makefile b/Makefile
> --- a/Makefile
> +++ b/Makefile
> @@ -336,6 +336,7 @@ MINIKCONF_ARGS = \
>      CONFIG_SPICE=$(CONFIG_SPICE) \
>      CONFIG_IVSHMEM=$(CONFIG_IVSHMEM) \
>      CONFIG_TPM=$(CONFIG_TPM) \
> +    CONFIG_TPM_EMULATOR=$(CONFIG_TPM_EMULATOR) \
>      CONFIG_XEN=$(CONFIG_XEN) \
>      CONFIG_OPENGL=$(CONFIG_OPENGL) \
>      CONFIG_X11=$(CONFIG_X11) \
> ---
> 
> I'm not sure about CONFIG_TPM_PASSTHROUGH.

Instead of that I'm disabling tpm completely in configure for mingw:

tpm=""
...
if test "$tpm" = ""; then
  if test "$mingw32" = "yes"; then
    tpm=no
  else
    tpm=yes
  fi
elif test "$tpm" = "yes"; then
  if test "$mingw32" = "yes" ; then
    error_exit "TPM emulation only available on POSIX systems"
  fi
fi

Paolo

Re: [Qemu-devel] [PULL 00/54] Kconfig conversion, excluding ARM and MIPS
Posted by Paolo Bonzini 6 years, 7 months ago
On 07/03/19 14:25, Peter Maydell wrote:
> In file included from /home/petmay01/qemu-for-merges/hw/tpm/tpm_emulator.c:37:0:
> /home/petmay01/qemu-for-merges/hw/tpm/tpm_ioctl.h:11:21: fatal error:
> sys/uio.h: No such file or directory
> 
> I'm not sure what's happened here. It looks like the Kconfig machinery
> is putting CONFIG_TPM_EMULATOR in build/x86-64-softmmu/config-devices.mak,
> but configure is trying to put it into config-host.mak. The configure
> code is where the "don't do TPM on windows" check is, but the Kconfig
> entry in config-devices.mak overrides that and tries to build this
> code on Windows anyway.
> 
> All the other builds seemed to run ok (I'm just rerunning one lot
> which failed due to an issue on my end; will follow up if there's
> any failure there).

I did the final push to github from the wrong machine. :(  Resending.

Paolo


Re: [Qemu-devel] [PULL 00/54] Kconfig conversion, excluding ARM and MIPS
Posted by Peter Maydell 6 years, 7 months ago
On Mon, 4 Mar 2019 at 19:25, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> The following changes since commit 1ba530a4ecba6015d52d8f392fd327cfa07bc37a:
>
>   Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20190304' into staging (2019-03-04 13:38:54 +0000)
>
> are available in the git repository at:
>
>
>   git://github.com/bonzini/qemu.git tags/for-upstream-kconfig
>
> for you to fetch changes up to b1d8b9a6cc37e33dde1873379174de78957830ca:
>
>   kconfig: add documentation (2019-03-04 19:09:35 +0100)
>
> ----------------------------------------------------------------
> Initial Kconfig work, excluding ARM and MIPS

Everything fails to build with errors like
make: *** No rule to make target `config-all-devices.mak', needed by
`subdir-aarch64-softmmu'.  Stop.

or
make: *** No rule to make target
`/home/pm215/qemu/default-configs/pci.mak', needed by
`aarch64-softmmu/config-devices.mak'.  Stop.

If there are special instructions for what to do with
build trees over the transition to kconfig, the pullreq
cover letter would be a good place to mention them :-)


thanks
-- PMM

Re: [Qemu-devel] [PULL 00/54] Kconfig conversion, excluding ARM and MIPS
Posted by Paolo Bonzini 6 years, 7 months ago
On 05/03/19 10:32, Peter Maydell wrote:
> Everything fails to build with errors like
> make: *** No rule to make target `config-all-devices.mak', needed by
> `subdir-aarch64-softmmu'.  Stop.
> 
> or
> make: *** No rule to make target
> `/home/pm215/qemu/default-configs/pci.mak', needed by
> `aarch64-softmmu/config-devices.mak'.  Stop.
> 
> If there are special instructions for what to do with
> build trees over the transition to kconfig, the pullreq
> cover letter would be a good place to mention them :-)

As others mentioned, this is the "usual" stale dependency issue
requiring distclean.

Paolo

Re: [Qemu-devel] [PULL 00/54] Kconfig conversion, excluding ARM and MIPS
Posted by Thomas Huth 6 years, 7 months ago
On 06/03/2019 11.57, Paolo Bonzini wrote:
> On 05/03/19 10:32, Peter Maydell wrote:
>> Everything fails to build with errors like
>> make: *** No rule to make target `config-all-devices.mak', needed by
>> `subdir-aarch64-softmmu'.  Stop.
>>
>> or
>> make: *** No rule to make target
>> `/home/pm215/qemu/default-configs/pci.mak', needed by
>> `aarch64-softmmu/config-devices.mak'.  Stop.
>>
>> If there are special instructions for what to do with
>> build trees over the transition to kconfig, the pullreq
>> cover letter would be a good place to mention them :-)
> 
> As others mentioned, this is the "usual" stale dependency issue
> requiring distclean.

Can't we somehow add a dependency for the *.mak.d file so that they get
regenerated in this case? ... I tried to hack the Makefile, but so far I
failed...

 Thomas

Re: [Qemu-devel] [PULL 00/54] Kconfig conversion, excluding ARM and MIPS
Posted by Philippe Mathieu-Daudé 6 years, 7 months ago
On 3/6/19 12:04 PM, Thomas Huth wrote:
> On 06/03/2019 11.57, Paolo Bonzini wrote:
>> On 05/03/19 10:32, Peter Maydell wrote:
>>> Everything fails to build with errors like
>>> make: *** No rule to make target `config-all-devices.mak', needed by
>>> `subdir-aarch64-softmmu'.  Stop.
>>>
>>> or
>>> make: *** No rule to make target
>>> `/home/pm215/qemu/default-configs/pci.mak', needed by
>>> `aarch64-softmmu/config-devices.mak'.  Stop.
>>>
>>> If there are special instructions for what to do with
>>> build trees over the transition to kconfig, the pullreq
>>> cover letter would be a good place to mention them :-)
>>
>> As others mentioned, this is the "usual" stale dependency issue
>> requiring distclean.
> 
> Can't we somehow add a dependency for the *.mak.d file so that they get
> regenerated in this case? ... I tried to hack the Makefile, but so far I
> failed...

Isn't that ./configure responsibility?

Re: [Qemu-devel] [PULL 00/54] Kconfig conversion, excluding ARM and MIPS
Posted by Paolo Bonzini 6 years, 7 months ago
On 06/03/19 12:04, Thomas Huth wrote:
> On 06/03/2019 11.57, Paolo Bonzini wrote:
>> On 05/03/19 10:32, Peter Maydell wrote:
>>> Everything fails to build with errors like
>>> make: *** No rule to make target `config-all-devices.mak', needed by
>>> `subdir-aarch64-softmmu'.  Stop.
>>>
>>> or
>>> make: *** No rule to make target
>>> `/home/pm215/qemu/default-configs/pci.mak', needed by
>>> `aarch64-softmmu/config-devices.mak'.  Stop.
>>>
>>> If there are special instructions for what to do with
>>> build trees over the transition to kconfig, the pullreq
>>> cover letter would be a good place to mention them :-)
>>
>> As others mentioned, this is the "usual" stale dependency issue
>> requiring distclean.
> 
> Can't we somehow add a dependency for the *.mak.d file so that they get
> regenerated in this case? ... I tried to hack the Makefile, but so far I
> failed...

What we should do is add dummy dependencies for the .mak files, so that
they do not trigger the error messages; this is how gcc -MD avoids the
issue for include files.

With Kconfig it should be a one-line patch, something like

    for fname in data.previously_included:
        print('%s: %s' % (argv[1], fname), file=deps)
        print('%s:' % fname, file=deps)

but it wouldn't fix this case where the stale .mak file is preexisting.

Paolo

Re: [Qemu-devel] [PULL 00/54] Kconfig conversion, excluding ARM and MIPS
Posted by Thomas Huth 6 years, 7 months ago
On 05/03/2019 10.32, Peter Maydell wrote:
> On Mon, 4 Mar 2019 at 19:25, Paolo Bonzini <pbonzini@redhat.com> wrote:
>>
>> The following changes since commit 1ba530a4ecba6015d52d8f392fd327cfa07bc37a:
>>
>>   Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20190304' into staging (2019-03-04 13:38:54 +0000)
>>
>> are available in the git repository at:
>>
>>
>>   git://github.com/bonzini/qemu.git tags/for-upstream-kconfig
>>
>> for you to fetch changes up to b1d8b9a6cc37e33dde1873379174de78957830ca:
>>
>>   kconfig: add documentation (2019-03-04 19:09:35 +0100)
>>
>> ----------------------------------------------------------------
>> Initial Kconfig work, excluding ARM and MIPS
> 
> Everything fails to build with errors like
> make: *** No rule to make target `config-all-devices.mak', needed by
> `subdir-aarch64-softmmu'.  Stop.
> 
> or
> make: *** No rule to make target
> `/home/pm215/qemu/default-configs/pci.mak', needed by
> `aarch64-softmmu/config-devices.mak'.  Stop.
> 
> If there are special instructions for what to do with
> build trees over the transition to kconfig, the pullreq
> cover letter would be a good place to mention them :-)

I think you've got to do a "make distclean" inbetween... that's the old
problem when a default-configs/*.mak file gets added or erased - we do
not properly re-generate the dependencies in that case.

 Thomas

Re: [Qemu-devel] [PULL 00/54] Kconfig conversion, excluding ARM and MIPS
Posted by Eric Blake 6 years, 7 months ago
On 3/5/19 1:45 PM, Thomas Huth wrote:

>> If there are special instructions for what to do with
>> build trees over the transition to kconfig, the pullreq
>> cover letter would be a good place to mention them :-)
> 
> I think you've got to do a "make distclean" inbetween... that's the old
> problem when a default-configs/*.mak file gets added or erased - we do
> not properly re-generate the dependencies in that case.

As in this?

upgrade path:
build old commit
make distclean
git pull/branch/...
build new commit

downgrade path (when bisecting, backporting, ...)
build new commit
make distclean
git branch/reset/...
build old commit

We obviously can't fix old commits to recognize when we are downgrading 
from a new commit, but is there anything we can do when upgrading to a 
newer commit to more gracefully inform the user if they forgot a 'make 
distclean' (or even better, to not make a 'make distclean' on upgrade 
mandatory)?  In particular, once this patch series lands, developers 
doing a blind 'git pull' will end up in the situation:

build old commit
git pull
build new commit # oops

but may not realize that they first have to reset back to the old commit 
prior to 'make distclean' to guarantee that it will work. Unless I'm 
mistaken and 'make distclean' on an incremental build will work in spite 
of the missing dependencies on *.mak files even when you forgot to clean 
before upgrading.

'make distclean' is a heavy hammer, is there anything smaller in scope 
that will fix the problem without nuking everything, such as a strategic 
touch or rm of one particular file?

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3226
Virtualization:  qemu.org | libvirt.org

Re: [Qemu-devel] [PULL 00/54] Kconfig conversion, excluding ARM and MIPS
Posted by Philippe Mathieu-Daudé 6 years, 7 months ago
On 3/5/19 9:08 PM, Eric Blake wrote:
> On 3/5/19 1:45 PM, Thomas Huth wrote:
> 
>>> If there are special instructions for what to do with
>>> build trees over the transition to kconfig, the pullreq
>>> cover letter would be a good place to mention them :-)
>>
>> I think you've got to do a "make distclean" inbetween... that's the old
>> problem when a default-configs/*.mak file gets added or erased - we do
>> not properly re-generate the dependencies in that case.
> 
> As in this?
> 
> upgrade path:
> build old commit
> make distclean
> git pull/branch/...

make distclean again?

> build new commit
> 
> downgrade path (when bisecting, backporting, ...)
> build new commit
> make distclean
> git branch/reset/...

make distclean again?

> build old commit
> 
> We obviously can't fix old commits to recognize when we are downgrading
> from a new commit, but is there anything we can do when upgrading to a
> newer commit to more gracefully inform the user if they forgot a 'make
> distclean' (or even better, to not make a 'make distclean' on upgrade
> mandatory)?  In particular, once this patch series lands, developers
> doing a blind 'git pull' will end up in the situation:
> 
> build old commit
> git pull
> build new commit # oops
> 
> but may not realize that they first have to reset back to the old commit
> prior to 'make distclean' to guarantee that it will work. Unless I'm
> mistaken and 'make distclean' on an incremental build will work in spite
> of the missing dependencies on *.mak files even when you forgot to clean
> before upgrading.
> 
> 'make distclean' is a heavy hammer, is there anything smaller in scope
> that will fix the problem without nuking everything, such as a strategic
> touch or rm of one particular file?
> 

Re: [Qemu-devel] [PULL 00/54] Kconfig conversion, excluding ARM and MIPS
Posted by Thomas Huth 6 years, 7 months ago
On 05/03/2019 21.08, Eric Blake wrote:
[...]
> 'make distclean' is a heavy hammer, is there anything smaller in scope
> that will fix the problem without nuking everything, such as a strategic
> touch or rm of one particular file?

Try this in the top-level folder of your build directory:

 rm *.mak.d

... not sure whether we can somehow integrate that into the Makefile
magic, though...

 Thomas

Re: [Qemu-devel] [PULL 00/54] Kconfig conversion, excluding ARM and MIPS
Posted by Eric Blake 6 years, 7 months ago
On 3/6/19 4:12 AM, Thomas Huth wrote:
> On 05/03/2019 21.08, Eric Blake wrote:
> [...]
>> 'make distclean' is a heavy hammer, is there anything smaller in scope
>> that will fix the problem without nuking everything, such as a strategic
>> touch or rm of one particular file?
> 
> Try this in the top-level folder of your build directory:
> 
>  rm *.mak.d

Worked here, thanks!

> 
> ... not sure whether we can somehow integrate that into the Makefile
> magic, though...

I'm not sure either, nor did I want to spend time today trying.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3226
Virtualization:  qemu.org | libvirt.org