[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU |
Date: |
Thu, 7 Feb 2019 18:56:43 +0100 |
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
- [Qemu-devel] [PATCH v6 00/51] Support Kconfig in QEMU,
Paolo Bonzini <=
- [Qemu-devel] [PATCH 12/51] build: convert sound.mak to Kconfig, Paolo Bonzini, 2019/02/07
- [Qemu-devel] [PATCH 09/51] ide: express dependencies with Kconfig, Paolo Bonzini, 2019/02/07
- [Qemu-devel] [PATCH 04/51] hw/display: make edid configurable, Paolo Bonzini, 2019/02/07
- [Qemu-devel] [PATCH 10/51] hw/pci/Makefile.objs: make pcie configurable, Paolo Bonzini, 2019/02/07
- [Qemu-devel] [PATCH 08/51] kconfig: introduce CONFIG_TEST_DEVICES, Paolo Bonzini, 2019/02/07
- [Qemu-devel] [PATCH 07/51] minikconfig: implement allnoconfig and defconfig modes, Paolo Bonzini, 2019/02/07
- [Qemu-devel] [PATCH 06/51] build: switch to Kconfig, Paolo Bonzini, 2019/02/07