From 82f5181777ebe04b550fd94a1d04c49dd3f012dc Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Wed, 23 Jan 2019 14:56:00 +0800 Subject: kconfig: introduce kconfig files The Kconfig files were generated mostly with this script: for i in `grep -ho CONFIG_[A-Z0-9_]* default-configs/* | sort -u`; do set fnord `git grep -lw $i -- 'hw/*/Makefile.objs' ` shift if test $# = 1; then cat >> $(dirname $1)/Kconfig << EOF config ${i#CONFIG_} bool EOF git add $(dirname $1)/Kconfig else echo $i $* fi done sed -i '$d' hw/*/Kconfig for i in hw/*; do if test -d $i && ! test -f $i/Kconfig; then touch $i/Kconfig git add $i/Kconfig fi done Whenever a symbol is referenced from multiple subdirectories, the script prints the list of directories that reference the symbol. These symbols have to be added manually to the Kconfig files. Kconfig.host and hw/Kconfig were created manually. Signed-off-by: Paolo Bonzini Signed-off-by: Yang Zhong Message-Id: <20190123065618.3520-27-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- hw/intc/Kconfig | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 hw/intc/Kconfig (limited to 'hw/intc') diff --git a/hw/intc/Kconfig b/hw/intc/Kconfig new file mode 100644 index 0000000..69adbd1 --- /dev/null +++ b/hw/intc/Kconfig @@ -0,0 +1,47 @@ +config HEATHROW_PIC + bool + +config I8259 + bool + +config PL190 + bool + +config IOAPIC + bool + +config ARM_GIC + bool + +config OPENPIC + bool + +config APIC + bool + +config ARM_GIC_KVM + bool + +config OPENPIC_KVM + bool + +config XICS + bool + +config XICS_SPAPR + bool + +config XICS_KVM + bool + +config ALLWINNER_A10_PIC + bool + +config S390_FLIC + bool + +config S390_FLIC_KVM + bool + +config OMPIC + bool -- cgit v1.1 From e0e312f3525ad6ac18ba6633af29190dd9620cbc Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Wed, 23 Jan 2019 14:56:01 +0800 Subject: build: switch to Kconfig The make_device_config.sh script is replaced by minikconf, which is modified to support the same command line as its predecessor. The roots of the parsing are default-configs/*.mak, Kconfig.host and hw/Kconfig. One difference with make_device_config.sh is that all symbols have to be defined in a Kconfig file, including those coming from the configure script. This is the reason for the Kconfig.host file introduced in the previous patch. Whenever a file in default-configs/*.mak used $(...) to refer to a config-host.mak symbol, this is replaced by a Kconfig dependency; this part must be done already in this patch for bisectability. Signed-off-by: Paolo Bonzini Signed-off-by: Yang Zhong Acked-by: Thomas Huth Message-Id: <20190123065618.3520-28-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- hw/intc/Kconfig | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'hw/intc') diff --git a/hw/intc/Kconfig b/hw/intc/Kconfig index 69adbd1..6eea14e 100644 --- a/hw/intc/Kconfig +++ b/hw/intc/Kconfig @@ -21,18 +21,28 @@ config APIC config ARM_GIC_KVM bool + default y + depends on ARM_GIC && KVM config OPENPIC_KVM bool + default y + depends on OPENPIC && KVM config XICS bool + default y + depends on PSERIES config XICS_SPAPR bool + default y + depends on PSERIES config XICS_KVM bool + default y + depends on XICS && KVM config ALLWINNER_A10_PIC bool @@ -42,6 +52,8 @@ config S390_FLIC config S390_FLIC_KVM bool + default y + depends on S390_FLIC && KVM config OMPIC bool -- cgit v1.1 From 87f9108bad0c5f307902466cf9e2920d1718ea09 Mon Sep 17 00:00:00 2001 From: Thomas Huth Date: Thu, 31 Jan 2019 14:53:26 +0100 Subject: ppc64: Express dependencies of 'pseries' and 'powernv' machines with kconfig The POWERNV switch should always select ISA_IPMI_BT, then the other IPMI options are turned on automatically now. CONFIG_DIMM should always be selected by the pseries machine, which in turn depends on CONFIG_MEM_DEVICE since DIMM implements this interface. CONFIG_VIRTIO_VGA can be dropped from default-configs/ppc64-softmmu.mak completely since this device is already automatically enabled via hw/display/Kconfig now. Signed-off-by: Thomas Huth Signed-off-by: Paolo Bonzini --- hw/intc/Kconfig | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'hw/intc') diff --git a/hw/intc/Kconfig b/hw/intc/Kconfig index 6eea14e..de10a6b 100644 --- a/hw/intc/Kconfig +++ b/hw/intc/Kconfig @@ -31,13 +31,11 @@ config OPENPIC_KVM config XICS bool - default y - depends on PSERIES + depends on POWERNV || PSERIES config XICS_SPAPR bool - default y - depends on PSERIES + select XICS config XICS_KVM bool -- cgit v1.1