All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU
@ 2019-02-07 17:56 Paolo Bonzini
  2019-02-07 17:56 ` [Qemu-devel] [PATCH 01/51] minikconfig: add parser skeleton Paolo Bonzini
                   ` (56 more replies)
  0 siblings, 57 replies; 81+ messages in thread
From: Paolo Bonzini @ 2019-02-07 17:56 UTC (permalink / raw)
  To: qemu-devel; +Cc: thuth, philmd, Aleksandar Markovic, Peter Maydell

Now dropping RFC... Documentation is still lacking, but all targets except
ARM and MIPS are converted.  I'll let the respective maintainers decide what
timeframe they prefer.

defconfig and allnoconfig are supported as configure options, respectively
--with-default-devices (the default) and --without-default-devices.
Optional devices are listed in .mak files as commented-out "#CONFIG_FOO=n"
lines and marked as "imply" directives in Kconfig files.  ("Imply" is
new in this iteration).

For the previous discussions on the Kconfig design, see
http://lists.nongnu.org/archive/html/qemu-devel/2018-09/msg02827.html

The first part, with the Makefile changes, has already been committed.
This is only the second part therefore, with the conversion.

The last patch is needed for now to support --without-default-devices
builds, but it will go away with the other pending patches to revamp
vhost configuration.

Summary of changes from v5:
- new directive "imply" for soft dependencies (really a "reverse
  default y if ..." that is placed under the condition symbol,
  used for PCI_DEVICES and TEST_DEVICES
- conversion of various boards
- TEST_DEVICES patch moved earlier
- new patches for various subsystems and boards
- tested Xen

I still have _not_ procesed Philippe's review though.

Paolo

Paolo Bonzini (39):
  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
  build: convert pci.mak to Kconfig
  build: convert sound.mak to Kconfig
  build: convert usb.mak to Kconfig
  block: fix recursion in hw/block/dataplane
  scsi: express dependencies with Kconfig
  isa: express dependencies with 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
  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
  FIXME vhost: add more stubs

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                            |  27 ++
 Makefile                                |  25 +-
 Makefile.target                         |   7 +-
 configure                               |  18 +-
 default-configs/alpha-softmmu.mak       |  26 +-
 default-configs/arm-softmmu.mak         |  15 +-
 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     |   6 +-
 default-configs/riscv64-softmmu.mak     |   6 +-
 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      |   6 +-
 default-configs/xtensaeb-softmmu.mak    |   7 +-
 docs/devel/build-system.txt             |   1 -
 hw/9pfs/Kconfig                         |   6 +
 hw/Kconfig                              |  73 ++++
 hw/Makefile.objs                        |   2 +-
 hw/acpi/Kconfig                         |  29 ++
 hw/adc/Kconfig                          |   2 +
 hw/alpha/Kconfig                        |  12 +
 hw/arm/Kconfig                          | 123 ++++++
 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                         | 100 +++++
 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                        |  20 +
 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                          |  25 ++
 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/vhost-stub.c                  |  58 +++
 hw/watchdog/Kconfig                     |  16 +
 hw/xtensa/Kconfig                       |   8 +
 rules.mak                               |   2 +-
 scripts/make_device_config.sh           |  30 --
 scripts/minikconf.py                    | 700 ++++++++++++++++++++++++++++++++
 111 files changed, 2917 insertions(+), 465 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 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

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

end of thread, other threads:[~2019-02-28 10:44 UTC | newest]

Thread overview: 81+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-07 17:56 [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU Paolo Bonzini
2019-02-07 17:56 ` [Qemu-devel] [PATCH 01/51] minikconfig: add parser skeleton Paolo Bonzini
2019-02-07 17:56 ` [Qemu-devel] [PATCH 02/51] minikconfig: add AST Paolo Bonzini
2019-02-07 17:56 ` [Qemu-devel] [PATCH 03/51] minikconfig: add semantic analysis Paolo Bonzini
2019-02-07 17:56 ` [Qemu-devel] [PATCH 04/51] hw/display: make edid configurable Paolo Bonzini
2019-02-07 17:56 ` [Qemu-devel] [PATCH 05/51] kconfig: introduce kconfig files Paolo Bonzini
2019-02-07 18:35   ` Thomas Huth
2019-02-20 15:42   ` Thomas Huth
2019-02-20 15:46     ` Paolo Bonzini
2019-02-20 16:55   ` Max Filippov
2019-02-20 17:44     ` Paolo Bonzini
2019-02-21 15:58   ` Stefano Garzarella
2019-02-07 17:56 ` [Qemu-devel] [PATCH 06/51] build: switch to Kconfig Paolo Bonzini
2019-02-21 15:44   ` Stefano Garzarella
2019-02-21 17:59     ` Paolo Bonzini
2019-02-21 20:15       ` Stefano Garzarella
2019-02-07 17:56 ` [Qemu-devel] [PATCH 07/51] minikconfig: implement allnoconfig and defconfig modes Paolo Bonzini
2019-02-07 17:56 ` [Qemu-devel] [PATCH 08/51] kconfig: introduce CONFIG_TEST_DEVICES Paolo Bonzini
2019-02-07 17:56 ` [Qemu-devel] [PATCH 09/51] ide: express dependencies with Kconfig Paolo Bonzini
2019-02-07 17:56 ` [Qemu-devel] [PATCH 10/51] hw/pci/Makefile.objs: make pcie configurable Paolo Bonzini
2019-02-07 17:56 ` [Qemu-devel] [PATCH 11/51] build: convert pci.mak to Kconfig Paolo Bonzini
2019-02-07 17:56 ` [Qemu-devel] [PATCH 12/51] build: convert sound.mak " Paolo Bonzini
2019-02-07 17:56 ` [Qemu-devel] [PATCH 13/51] build: convert usb.mak " Paolo Bonzini
2019-02-07 17:56 ` [Qemu-devel] [PATCH 14/51] block: fix recursion in hw/block/dataplane Paolo Bonzini
2019-02-07 17:56 ` [Qemu-devel] [PATCH 15/51] scsi: express dependencies with Kconfig Paolo Bonzini
2019-02-07 17:56 ` [Qemu-devel] [PATCH 16/51] isa: express dependencies with kconfig Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 17/51] i386: express dependencies with Kconfig Paolo Bonzini
2019-02-25  8:44   ` Stefano Garzarella
2019-02-26 13:23     ` Paolo Bonzini
2019-02-26 13:44       ` Markus Armbruster
2019-02-26 15:25         ` Paolo Bonzini
2019-02-26 17:24           ` Markus Armbruster
2019-02-26 15:42   ` Thomas Huth
2019-02-07 17:57 ` [Qemu-devel] [PATCH 18/51] i2c: " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 19/51] ptimer: " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 20/51] display: express dependencies with kconfig Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 21/51] hyperv: " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 22/51] vfio: express vfio dependencies with Kconfig Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 23/51] virtio: express virtio " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 24/51] tpm: express " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 25/51] isa: express SuperIO " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 26/51] ssi: express dependencies with kconfig Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 27/51] sd: " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 28/51] ipmi: " Paolo Bonzini
2019-02-20 14:06   ` Corey Minyard
2019-02-07 17:57 ` [Qemu-devel] [PATCH 29/51] i386-softmmu.mak: remove all CONFIG_* except boards definitions Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 30/51] ppc64: Express dependencies of 'pseries' and 'powernv' machines with kconfig Paolo Bonzini
2019-02-28 10:44   ` Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 31/51] ppc: Express dependencies of the 'prep' and '40p' " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 32/51] ppc: Express dependencies of the Mac " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 33/51] ppc: Express dependencies of the Sam460EX " Paolo Bonzini
2019-02-07 23:16   ` BALATON Zoltan
2019-02-08  4:30     ` Thomas Huth
2019-02-07 17:57 ` [Qemu-devel] [PATCH 34/51] ppc: Express dependencies of the embedded " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 35/51] alpha-softmmu.mak: express dependencies with Kconfig Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 36/51] cris-softmmu.mak: " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 37/51] hppa-softmmu.mak: " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 38/51] lm32-softmmu.mak: " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 39/51] m68k-softmmu.mak: " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 40/51] microblaze-softmmu.mak: " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 41/51] moxie-softmmu.mak: " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 42/51] nios2-softmmu.mak: " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 43/51] or1k-softmmu.mak: " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 44/51] s390x: " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 45/51] sh4-softmmu.mak: " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 46/51] sparc-softmmu.mak: " Paolo Bonzini
2019-02-08 17:33   ` Mark Cave-Ayland
2019-02-08 17:40     ` Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 47/51] sparc64-softmmu.mak: " Paolo Bonzini
2019-02-08 17:35   ` Mark Cave-Ayland
2019-02-07 17:57 ` [Qemu-devel] [PATCH 48/51] unicore32-softmmu.mak: " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 49/51] xtensa-softmmu.mak: " Paolo Bonzini
2019-02-07 17:57 ` [Qemu-devel] [PATCH 50/51] .travis.yml: test that no-default-device builds do not regress Paolo Bonzini
2019-02-07 18:26   ` Thomas Huth
2019-02-07 17:57 ` [Qemu-devel] [PATCH 51/51] FIXME vhost: add more stubs Paolo Bonzini
2019-02-07 18:52 ` [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU no-reply
2019-02-07 18:56 ` no-reply
2019-02-07 19:37 ` Michael S. Tsirkin
2019-02-07 19:47 ` no-reply
2019-02-07 19:50 ` no-reply
2019-02-08  0:14 ` no-reply

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.