From nobody Sun Oct 5 01:45:11 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1551727875978995.7404824762751; Mon, 4 Mar 2019 11:31:15 -0800 (PST) Received: from localhost ([127.0.0.1]:59673 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h0tIu-0002Vg-Mh for importer@patchew.org; Mon, 04 Mar 2019 14:31:12 -0500 Received: from eggs.gnu.org ([209.51.188.92]:45755) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h0sCT-0001oV-6X for qemu-devel@nongnu.org; Mon, 04 Mar 2019 13:20:31 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h0sCR-0003on-0c for qemu-devel@nongnu.org; Mon, 04 Mar 2019 13:20:29 -0500 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]:50739) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1h0sCQ-0003mu-Je for qemu-devel@nongnu.org; Mon, 04 Mar 2019 13:20:26 -0500 Received: by mail-wm1-x32c.google.com with SMTP id x7so147388wmj.0 for ; Mon, 04 Mar 2019 10:20:26 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id q5sm8371364wrn.43.2019.03.04.10.20.24 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 04 Mar 2019 10:20:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=4V4I75ADJha8t4SqZ3iup/vvVj2M6WgC+pgPJaLbE7o=; b=lNb4fQDxyrn8bYyK54OvLfajgYMSPflV85wVlZtI3DRddcRxGCWfZrL6GCNDNn4uu5 mfhDORWCVxol5faxUU1RqQl+SOXPJIU953FL4zDeQ0RhlUkyVKxK9ARRSsMHmIqnbZxn FUcKZLDP5n1UGimdbF4HHxQV1NBejsqgPsRqVmfWlmi6pF7JyiHSwwSUAAwgl/zQS++3 4vHhzhk1HuPrDZqE8jvokM308bbebHMetnZsXer2Gz9Aqtjinq4sxzEC/YZ9yAdnGfNR cQ14q0X1BAdu+IyGw2KICDcpIoNxaNYAhY6fft4NTGbb5K0HuIE/1yoYr+tR8KM/S2wg wgtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=4V4I75ADJha8t4SqZ3iup/vvVj2M6WgC+pgPJaLbE7o=; b=NsqAHnP2aY6OkrD5L7qBR8SPgxDycb+J3rSDxqb2cD8wesQXuy86rhyM5T+IBshRud z7VgCC0EEYyaWmQnlHK7nuTGlgv01tn9NP1fUPxVafc2hxEMBX3z96NsEgnCAPNoGC+W MtH1dfynu8x/ptMbNFJi3R19sWHglQbR4bA+voAi3W2WIr1klv5qAmOK9Qjiipcx7J0N YFskRt4NXkZAwnuo0lL1xiMnhzkVQj2uutnKD6wCGrQ+JgOYhXczTkZaSO9A02UHi0u2 H2sa0v7gwpx4I+C96ng8694vGrvuszrBKPkNrGmp1BXtu+O+nkIGB8oBBfnm8Un0HkKl daWQ== X-Gm-Message-State: APjAAAXoRtKg13pfOemMtpIfXXtBMeLlf9+CuzWNEz4w4H8hhxUlwRPz 7RbzVzPKsbNnDkKmla3hd2JUinm8 X-Google-Smtp-Source: APXvYqy1BFpdOWWNKVz8fpYdLCcGa7N0zmWnTqKMtn+yItO1l3/Dmbnba1Lu1wL8Wm2bZ4Y8iyY+Iw== X-Received: by 2002:a1c:80d6:: with SMTP id b205mr268102wmd.109.1551723624981; Mon, 04 Mar 2019 10:20:24 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Mon, 4 Mar 2019 19:19:29 +0100 Message-Id: <1551723614-1823-10-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1551723614-1823-1-git-send-email-pbonzini@redhat.com> References: <1551723614-1823-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::32c Subject: [Qemu-devel] [PULL 09/54] build: switch to Kconfig X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Yang Zhong , thuth@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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 --- Kconfig.host | 6 +++++- Makefile | 26 +++++++++++++++++++++----- Makefile.target | 7 ++++++- configure | 6 ++++++ default-configs/arm-softmmu.mak | 3 --- default-configs/hyperv.mak | 1 - default-configs/i386-softmmu.mak | 5 +---- default-configs/lm32-softmmu.mak | 1 - default-configs/pci.mak | 2 -- default-configs/ppc-softmmu.mak | 1 - default-configs/ppc64-softmmu.mak | 5 ----- default-configs/s390x-softmmu.mak | 4 +--- default-configs/virtio.mak | 4 ---- hw/9pfs/Kconfig | 2 ++ hw/arm/Kconfig | 1 + hw/block/Kconfig | 3 +++ hw/display/Kconfig | 3 +++ hw/hyperv/Kconfig | 1 + hw/i386/Kconfig | 8 ++++++++ hw/input/Kconfig | 5 +++++ hw/intc/Kconfig | 12 ++++++++++++ hw/misc/Kconfig | 2 ++ hw/ppc/Kconfig | 5 +++++ hw/scsi/Kconfig | 8 ++++++++ hw/tpm/Kconfig | 1 + hw/vfio/Kconfig | 9 +++++++++ hw/xtensa/Kconfig | 2 +- rules.mak | 2 +- scripts/make_device_config.sh | 30 ------------------------------ 29 files changed, 102 insertions(+), 63 deletions(-) delete mode 100644 scripts/make_device_config.sh diff --git a/Kconfig.host b/Kconfig.host index 1147e42..f96c77d 100644 --- a/Kconfig.host +++ b/Kconfig.host @@ -1,5 +1,6 @@ # These are "proxy" symbols used to pass config-host.mak values -# down to Kconfig. +# down to Kconfig. See also MINIKCONF_ARGS in the Makefile: +# these two need to be kept in sync. =20 config KVM bool @@ -13,6 +14,9 @@ config LINUX config OPENGL bool =20 +config X11 + bool + config SPICE bool =20 diff --git a/Makefile b/Makefile index 2208bde..0c9cc3e 100644 --- a/Makefile +++ b/Makefile @@ -313,8 +313,8 @@ DOCS=3D endif =20 SUBDIR_MAKEFLAGS=3D$(if $(V),,--no-print-directory --quiet) BUILD_DIR=3D$(= BUILD_DIR) -SUBDIR_DEVICES_MAK=3D$(patsubst %, %/config-devices.mak, $(TARGET_DIRS)) -SUBDIR_DEVICES_MAK_DEP=3D$(patsubst %, %-config-devices.mak.d, $(TARGET_DI= RS)) +SUBDIR_DEVICES_MAK=3D$(patsubst %, %/config-devices.mak, $(filter %-softmm= u, $(TARGET_DIRS))) +SUBDIR_DEVICES_MAK_DEP=3D$(patsubst %, %.d, $(SUBDIR_DEVICES_MAK)) =20 ifeq ($(SUBDIR_DEVICES_MAK),) config-all-devices.mak: @@ -329,9 +329,25 @@ endif =20 -include $(SUBDIR_DEVICES_MAK_DEP) =20 -%/config-devices.mak: default-configs/%.mak $(SRC_PATH)/scripts/make_devic= e_config.sh - $(call quiet-command, \ - $(SHELL) $(SRC_PATH)/scripts/make_device_config.sh $< $*-confi= g-devices.mak.d $@ > $@.tmp,"GEN","$@.tmp") +# This has to be kept in sync with Kconfig.host. +MINIKCONF_ARGS =3D \ + $@ $*-config.devices.mak.d $< $(MINIKCONF_INPUTS) \ + CONFIG_KVM=3D$(CONFIG_KVM) \ + CONFIG_SPICE=3D$(CONFIG_SPICE) \ + CONFIG_IVSHMEM=3D$(CONFIG_IVSHMEM) \ + CONFIG_TPM=3D$(CONFIG_TPM) \ + CONFIG_XEN=3D$(CONFIG_XEN) \ + CONFIG_OPENGL=3D$(CONFIG_OPENGL) \ + CONFIG_X11=3D$(CONFIG_X11) \ + CONFIG_VHOST_USER=3D$(CONFIG_VHOST_USER) \ + CONFIG_VIRTFS=3D$(CONFIG_VIRTFS) \ + CONFIG_LINUX=3D$(CONFIG_LINUX) + +MINIKCONF_INPUTS =3D $(SRC_PATH)/Kconfig.host $(SRC_PATH)/hw/Kconfig +MINIKCONF =3D $(PYTHON) $(SRC_PATH)/scripts/minikconf.py \ + +$(SUBDIR_DEVICES_MAK): %/config-devices.mak: default-configs/%.mak $(MINIK= CONF_INPUTS) $(BUILD_DIR)/config-host.mak + $(call quiet-command, $(MINIKCONF) $(MINIKCONF_ARGS) > $@.tmp, "GEN", "$@= .tmp") $(call quiet-command, if test -f $@; then \ if cmp -s $@.old $@; then \ mv $@.tmp $@; \ diff --git a/Makefile.target b/Makefile.target index 3b79e70..ec72733 100644 --- a/Makefile.target +++ b/Makefile.target @@ -4,9 +4,12 @@ BUILD_DIR?=3D$(CURDIR)/.. =20 include ../config-host.mak include config-target.mak -include config-devices.mak include $(SRC_PATH)/rules.mak =20 +ifdef CONFIG_SOFTMMU +include config-devices.mak +endif + $(call set-vpath, $(SRC_PATH):$(BUILD_DIR)) ifdef CONFIG_LINUX QEMU_CFLAGS +=3D -I../linux-headers @@ -201,7 +204,9 @@ all-obj-$(CONFIG_SOFTMMU) +=3D $(crypto-obj-y) all-obj-$(CONFIG_SOFTMMU) +=3D $(io-obj-y) all-obj-$(CONFIG_SOFTMMU) +=3D $(slirp-obj-y) =20 +ifdef CONFIG_SOFTMMU $(QEMU_PROG_BUILD): config-devices.mak +endif =20 COMMON_LDADDS =3D ../libqemuutil.a =20 diff --git a/configure b/configure index cefeb8f..3cc6a94 100755 --- a/configure +++ b/configure @@ -7427,12 +7427,18 @@ fi =20 if supported_xen_target $target; then echo "CONFIG_XEN=3Dy" >> $config_target_mak + echo "$target/config-devices.mak: CONFIG_XEN=3Dy" >> $config_host_mak if test "$xen_pci_passthrough" =3D yes; then echo "CONFIG_XEN_PCI_PASSTHROUGH=3Dy" >> "$config_target_mak" fi +else + echo "$target/config-devices.mak: CONFIG_XEN=3Dn" >> $config_host_mak fi if supported_kvm_target $target; then echo "CONFIG_KVM=3Dy" >> $config_target_mak + echo "$target/config-devices.mak: CONFIG_KVM=3Dy" >> $config_host_mak +else + echo "$target/config-devices.mak: CONFIG_KVM=3Dn" >> $config_host_mak fi if supported_hax_target $target; then echo "CONFIG_HAX=3Dy" >> $config_target_mak diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.= mak index bd6943b..797bfa5 100644 --- a/default-configs/arm-softmmu.mak +++ b/default-configs/arm-softmmu.mak @@ -51,7 +51,6 @@ CONFIG_ARM_V7M=3Dy CONFIG_NETDUINO2=3Dy =20 CONFIG_ARM_GIC=3Dy -CONFIG_ARM_GIC_KVM=3D$(CONFIG_KVM) CONFIG_ARM_TIMER=3Dy CONFIG_ARM_MPTIMER=3Dy CONFIG_A9_GTIMER=3Dy @@ -126,8 +125,6 @@ CONFIG_VERSATILE_PCI=3Dy CONFIG_VERSATILE_I2C=3Dy =20 CONFIG_PCI_EXPRESS_GENERIC_BRIDGE=3Dy -CONFIG_VFIO=3D$(CONFIG_LINUX) -CONFIG_VFIO_PLATFORM=3Dy CONFIG_VFIO_XGMAC=3Dy CONFIG_VFIO_AMD_XGBE=3Dy =20 diff --git a/default-configs/hyperv.mak b/default-configs/hyperv.mak index 5d0d9fd..bc38061 100644 --- a/default-configs/hyperv.mak +++ b/default-configs/hyperv.mak @@ -1,2 +1 @@ -CONFIG_HYPERV=3D$(CONFIG_KVM) CONFIG_HYPERV_TESTDEV=3Dy diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmm= u.mak index 15b6287..412c8c5 100644 --- a/default-configs/i386-softmmu.mak +++ b/default-configs/i386-softmmu.mak @@ -4,7 +4,6 @@ include pci.mak include sound.mak include usb.mak include hyperv.mak -CONFIG_QXL=3D$(CONFIG_SPICE) CONFIG_VGA_ISA=3Dy CONFIG_VGA_CIRRUS=3Dy CONFIG_VMWARE_VGA=3Dy @@ -37,8 +36,6 @@ CONFIG_HPET=3Dy CONFIG_APPLESMC=3Dy CONFIG_I8259=3Dy CONFIG_PFLASH_CFI01=3Dy -CONFIG_TPM_TIS=3D$(CONFIG_TPM) -CONFIG_TPM_CRB=3D$(CONFIG_TPM) CONFIG_MC146818RTC=3Dy CONFIG_PCI_PIIX=3Dy CONFIG_WDT_IB700=3Dy @@ -66,9 +63,9 @@ CONFIG_ACPI_SMBUS=3Dy CONFIG_SMBUS_EEPROM=3Dy CONFIG_FW_CFG_DMA=3Dy CONFIG_I2C=3Dy -CONFIG_SEV=3D$(CONFIG_KVM) CONFIG_VTD=3Dy CONFIG_AMD_IOMMU=3Dy CONFIG_PAM=3Dy +CONFIG_PC=3Dy CONFIG_I440FX=3Dy CONFIG_Q35=3Dy diff --git a/default-configs/lm32-softmmu.mak b/default-configs/lm32-softmm= u.mak index 4049b23..ef0f4ba 100644 --- a/default-configs/lm32-softmmu.mak +++ b/default-configs/lm32-softmmu.mak @@ -2,7 +2,6 @@ =20 CONFIG_LM32=3Dy CONFIG_MILKYMIST=3Dy -CONFIG_MILKYMIST_TMU2=3D$(call land,$(CONFIG_X11),$(CONFIG_OPENGL)) CONFIG_FRAMEBUFFER=3Dy CONFIG_PTIMER=3Dy CONFIG_PFLASH_CFI01=3Dy diff --git a/default-configs/pci.mak b/default-configs/pci.mak index 0552190..ac01909 100644 --- a/default-configs/pci.mak +++ b/default-configs/pci.mak @@ -45,8 +45,6 @@ CONFIG_EDU=3Dy CONFIG_VGA=3Dy CONFIG_VGA_PCI=3Dy CONFIG_BOCHS_DISPLAY=3Dy -CONFIG_IVSHMEM_DEVICE=3D$(CONFIG_IVSHMEM) CONFIG_ROCKER=3Dy -CONFIG_VFIO=3D$(CONFIG_LINUX) CONFIG_VFIO_PCI=3Dy CONFIG_EDID=3Dy diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.= mak index 52acb7c..90118cb 100644 --- a/default-configs/ppc-softmmu.mak +++ b/default-configs/ppc-softmmu.mak @@ -18,7 +18,6 @@ CONFIG_I8259=3Dy CONFIG_XILINX=3Dy CONFIG_XILINX_ETHLITE=3Dy CONFIG_E500=3Dy -CONFIG_OPENPIC_KVM=3D$(call land,$(CONFIG_E500),$(CONFIG_KVM)) CONFIG_PLATFORM_BUS=3Dy CONFIG_ETSEC=3Dy CONFIG_PPC405=3Dy diff --git a/default-configs/ppc64-softmmu.mak b/default-configs/ppc64-soft= mmu.mak index 7f34ad0..a0a9151 100644 --- a/default-configs/ppc64-softmmu.mak +++ b/default-configs/ppc64-softmmu.mak @@ -13,11 +13,6 @@ CONFIG_ISA_IPMI_BT=3Dy # For pSeries CONFIG_PSERIES=3Dy CONFIG_VIRTIO_VGA=3Dy -CONFIG_XICS=3D$(CONFIG_PSERIES) -CONFIG_XICS_SPAPR=3D$(CONFIG_PSERIES) -CONFIG_XICS_KVM=3D$(call land,$(CONFIG_PSERIES),$(CONFIG_KVM)) -CONFIG_XIVE=3D$(CONFIG_PSERIES) -CONFIG_XIVE_SPAPR=3D$(CONFIG_PSERIES) CONFIG_MEM_DEVICE=3Dy CONFIG_DIMM=3Dy CONFIG_SPAPR_RNG=3Dy diff --git a/default-configs/s390x-softmmu.mak b/default-configs/s390x-soft= mmu.mak index 6f2c6ce..2794ffb 100644 --- a/default-configs/s390x-softmmu.mak +++ b/default-configs/s390x-softmmu.mak @@ -1,12 +1,10 @@ CONFIG_PCI=3Dy -CONFIG_VIRTIO_PCI=3D$(CONFIG_PCI) +CONFIG_VIRTIO_PCI=3Dy include virtio.mak CONFIG_SCLPCONSOLE=3Dy CONFIG_TERMINAL3270=3Dy CONFIG_S390_FLIC=3Dy -CONFIG_S390_FLIC_KVM=3D$(CONFIG_KVM) CONFIG_WDT_DIAG288=3Dy CONFIG_S390_CCW_VIRTIO=3Dy -CONFIG_VFIO=3D$(CONFIG_LINUX) CONFIG_VFIO_CCW=3Dy CONFIG_VFIO_AP=3Dy diff --git a/default-configs/virtio.mak b/default-configs/virtio.mak index 3abf68a..5a2930c 100644 --- a/default-configs/virtio.mak +++ b/default-configs/virtio.mak @@ -1,7 +1,4 @@ -CONFIG_VHOST_USER_SCSI=3D$(CONFIG_VHOST_USER) -CONFIG_VHOST_USER_BLK=3D$(CONFIG_VHOST_USER) CONFIG_VIRTIO=3Dy -CONFIG_VIRTIO_9P=3D$(CONFIG_VIRTFS) CONFIG_VIRTIO_BALLOON=3Dy CONFIG_VIRTIO_BLK=3Dy CONFIG_VIRTIO_CRYPTO=3Dy @@ -13,4 +10,3 @@ CONFIG_VIRTIO_RNG=3Dy CONFIG_SCSI=3Dy CONFIG_VIRTIO_SCSI=3Dy CONFIG_VIRTIO_SERIAL=3Dy -CONFIG_VIRTIO_INPUT_HOST=3D$(CONFIG_LINUX) diff --git a/hw/9pfs/Kconfig b/hw/9pfs/Kconfig index a475099..8c5032c 100644 --- a/hw/9pfs/Kconfig +++ b/hw/9pfs/Kconfig @@ -1,2 +1,4 @@ config VIRTIO_9P bool + default y + depends on VIRTFS && VIRTIO diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig index e4386ce..9eab67b 100644 --- a/hw/arm/Kconfig +++ b/hw/arm/Kconfig @@ -1,5 +1,6 @@ config ARM_VIRT bool + imply VFIO_PLATFORM =20 config DIGIC bool diff --git a/hw/block/Kconfig b/hw/block/Kconfig index 9d418bc..4a64d83 100644 --- a/hw/block/Kconfig +++ b/hw/block/Kconfig @@ -27,3 +27,6 @@ config VIRTIO_BLK =20 config VHOST_USER_BLK bool + # Only PCI devices are provided for now + default y if VIRTIO_PCI + depends on VHOST_USER && LINUX && VIRTIO diff --git a/hw/display/Kconfig b/hw/display/Kconfig index d5c022c..1149ea2 100644 --- a/hw/display/Kconfig +++ b/hw/display/Kconfig @@ -51,6 +51,8 @@ config FRAMEBUFFER =20 config MILKYMIST_TMU2 bool + default y + depends on OPENGL && X11 =20 config SM501 bool @@ -66,6 +68,7 @@ config VGA =20 config QXL bool + depends on SPICE && PCI =20 config VIRTIO_GPU bool diff --git a/hw/hyperv/Kconfig b/hw/hyperv/Kconfig index be724b7..632c3a6 100644 --- a/hw/hyperv/Kconfig +++ b/hw/hyperv/Kconfig @@ -1,5 +1,6 @@ config HYPERV bool + depends on KVM =20 config HYPERV_TESTDEV bool diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig index c851e2b..93f8609 100644 --- a/hw/i386/Kconfig +++ b/hw/i386/Kconfig @@ -1,5 +1,13 @@ config SEV bool + depends on KVM + +config PC + bool + imply HYPERV + imply QXL + imply SEV + imply TPM_TIS =20 config I440FX bool diff --git a/hw/input/Kconfig b/hw/input/Kconfig index 91bae47..c729dcd 100644 --- a/hw/input/Kconfig +++ b/hw/input/Kconfig @@ -19,5 +19,10 @@ config TSC2005 config VIRTIO_INPUT bool =20 +config VIRTIO_INPUT_HOST + bool + default y + depends on LINUX + config TSC210X bool 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 =20 config ARM_GIC_KVM bool + default y + depends on ARM_GIC && KVM =20 config OPENPIC_KVM bool + default y + depends on OPENPIC && KVM =20 config XICS bool + default y + depends on PSERIES =20 config XICS_SPAPR bool + default y + depends on PSERIES =20 config XICS_KVM bool + default y + depends on XICS && KVM =20 config ALLWINNER_A10_PIC bool @@ -42,6 +52,8 @@ config S390_FLIC =20 config S390_FLIC_KVM bool + default y + depends on S390_FLIC && KVM =20 config OMPIC bool diff --git a/hw/misc/Kconfig b/hw/misc/Kconfig index d512634..fc068ef 100644 --- a/hw/misc/Kconfig +++ b/hw/misc/Kconfig @@ -48,6 +48,8 @@ config MACIO =20 config IVSHMEM_DEVICE bool + default y + depends on PCI && LINUX && IVSHMEM =20 config ECCMEMCTL bool diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig index 6087454..1d5d72f 100644 --- a/hw/ppc/Kconfig +++ b/hw/ppc/Kconfig @@ -1,5 +1,6 @@ config PSERIES bool + select VFIO if LINUX =20 config SPAPR_RNG bool @@ -39,6 +40,10 @@ config VIRTEX =20 config XIVE bool + default y + depends on PSERIES =20 config XIVE_SPAPR bool + default y + depends on PSERIES diff --git a/hw/scsi/Kconfig b/hw/scsi/Kconfig index eb78478..982537b 100644 --- a/hw/scsi/Kconfig +++ b/hw/scsi/Kconfig @@ -19,8 +19,16 @@ config ESP config ESP_PCI bool =20 +config SPAPR_VSCSI + bool + default y + depends on PSERIES + config VIRTIO_SCSI bool =20 config VHOST_USER_SCSI bool + # Only PCI devices are provided for now + default y if VIRTIO_PCI + depends on VHOST_USER && LINUX && VIRTIO diff --git a/hw/tpm/Kconfig b/hw/tpm/Kconfig index 00511e2..10a30f8 100644 --- a/hw/tpm/Kconfig +++ b/hw/tpm/Kconfig @@ -1,5 +1,6 @@ config TPM_TIS bool + depends on TPM =20 config TPM_CRB bool diff --git a/hw/vfio/Kconfig b/hw/vfio/Kconfig index 3606967..0fdff10 100644 --- a/hw/vfio/Kconfig +++ b/hw/vfio/Kconfig @@ -1,14 +1,21 @@ config VFIO bool + depends on LINUX =20 config VFIO_PCI bool + select VFIO + depends on LINUX =20 config VFIO_CCW bool + select VFIO + depends on LINUX =20 config VFIO_PLATFORM bool + select VFIO + depends on LINUX =20 config VFIO_XGMAC bool @@ -18,3 +25,5 @@ config VFIO_AMD_XGBE =20 config VFIO_AP bool + select VFIO + depends on LINUX diff --git a/hw/xtensa/Kconfig b/hw/xtensa/Kconfig index 97543a9..dc8eaf6 100644 --- a/hw/xtensa/Kconfig +++ b/hw/xtensa/Kconfig @@ -1,5 +1,5 @@ config XTENSA_SIM bool =20 -config XTENSA_FPGA +config XTENSA_XTFPGA bool diff --git a/rules.mak b/rules.mak index 86e033d..62cf02e 100644 --- a/rules.mak +++ b/rules.mak @@ -144,7 +144,7 @@ cc-option =3D $(if $(shell $(CC) $1 $2 -S -o /dev/null = -xc /dev/null \ cc-c-option =3D $(if $(shell $(CC) $1 $2 -c -o /dev/null -xc /dev/null \ >/dev/null 2>&1 && echo OK), $2, $3) =20 -VPATH_SUFFIXES =3D %.c %.h %.S %.cc %.cpp %.m %.mak %.texi %.sh %.rc +VPATH_SUFFIXES =3D %.c %.h %.S %.cc %.cpp %.m %.mak %.texi %.sh %.rc Kconf= ig% set-vpath =3D $(if $1,$(foreach PATTERN,$(VPATH_SUFFIXES),$(eval vpath $(P= ATTERN) $1))) =20 # install-prog list, dir diff --git a/scripts/make_device_config.sh b/scripts/make_device_config.sh deleted file mode 100644 index 354af31..0000000 --- a/scripts/make_device_config.sh +++ /dev/null @@ -1,30 +0,0 @@ -#! /bin/sh -# Writes a target device config file to stdout, from a default and from -# include directives therein. Also emits Makefile dependencies. -# -# Usage: make_device_config.sh SRC DEPFILE-NAME DEPFILE-TARGET > DEST - -src=3D$1 -dep=3D$2 -target=3D$3 -src_dir=3D$(dirname $src) -all_includes=3D - -process_includes () { - cat $1 | grep '^include' | \ - while read include file ; do - all_includes=3D"$all_includes $src_dir/$file" - process_includes $src_dir/$file - done -} - -f=3D$src -while [ -n "$f" ] ; do - f=3D$(cat $f | tr -d '\r' | awk '/^include / {printf "'$src_dir'/%s ", $= 2}') - [ $? =3D 0 ] || exit 1 - all_includes=3D"$all_includes $f" -done -process_includes $src - -cat $src $all_includes | grep -v '^include' -echo "$target: $all_includes" > $dep --=20 1.8.3.1