From nobody Sat Sep 28 15:00:47 2024 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; 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=intel.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1548228513046245.53035604793968; Tue, 22 Jan 2019 23:28:33 -0800 (PST) Received: from localhost ([127.0.0.1]:57177 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gmCxb-0001J3-Tc for importer@patchew.org; Wed, 23 Jan 2019 02:28:31 -0500 Received: from eggs.gnu.org ([209.51.188.92]:60270) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gmCWa-0005H4-Ub for qemu-devel@nongnu.org; Wed, 23 Jan 2019 02:00:38 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gmCWZ-0003xl-MX for qemu-devel@nongnu.org; Wed, 23 Jan 2019 02:00:36 -0500 Received: from mga18.intel.com ([134.134.136.126]:36921) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gmCWX-0002NF-2n for qemu-devel@nongnu.org; Wed, 23 Jan 2019 02:00:35 -0500 Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 Jan 2019 22:59:40 -0800 Received: from he.bj.intel.com ([10.238.157.85]) by orsmga001.jf.intel.com with ESMTP; 22 Jan 2019 22:59:38 -0800 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,510,1539673200"; d="scan'208";a="129981029" From: Yang Zhong To: qemu-devel@nongnu.org Date: Wed, 23 Jan 2019 14:56:10 +0800 Message-Id: <20190123065618.3520-37-yang.zhong@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190123065618.3520-1-yang.zhong@intel.com> References: <20190123065618.3520-1-yang.zhong@intel.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 134.134.136.126 Subject: [Qemu-devel] [RFC PATCH v4 36/44] i386: express dependencies with 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@intel.com, peter.maydell@linaro.org, thuth@redhat.com, ehabkost@redhat.com, pbonzini@redhat.com, sameo@linux.intel.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Paolo Bonzini This way, the default-configs file only need to specify the boards and any optional devices. Signed-off-by: Paolo Bonzini Signed-off-by: Yang Zhong --- default-configs/i386-softmmu.mak | 39 ++++---------------- hw/acpi/Kconfig | 3 ++ hw/display/Kconfig | 1 + hw/i2c/Makefile.objs | 4 +- hw/i386/Kconfig | 63 +++++++++++++++++++++++++++++--- hw/isa/Kconfig | 1 + hw/pci-host/Kconfig | 5 +++ hw/tpm/Kconfig | 5 ++- 8 files changed, 80 insertions(+), 41 deletions(-) diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-softmm= u.mak index d818796840..23ea6a3888 100644 --- a/default-configs/i386-softmmu.mak +++ b/default-configs/i386-softmmu.mak @@ -1,10 +1,6 @@ # Default configuration for i386-softmmu =20 -CONFIG_PCI=3Dy -CONFIG_ISA_BUS=3Dy include hyperv.mak -CONFIG_VGA_ISA=3Dy -CONFIG_VMWARE_VGA=3Dy CONFIG_VMXNET3_PCI=3Dy CONFIG_VIRTIO_VGA=3Dy CONFIG_IPMI=3Dy @@ -12,46 +8,25 @@ CONFIG_IPMI_LOCAL=3Dy CONFIG_IPMI_EXTERN=3Dy CONFIG_ISA_IPMI_KCS=3Dy CONFIG_ISA_IPMI_BT=3Dy -CONFIG_I8254=3Dy -CONFIG_ACPI=3Dy -CONFIG_ACPI_X86=3Dy -CONFIG_ACPI_X86_ICH=3Dy -CONFIG_ACPI_MEMORY_HOTPLUG=3Dy -CONFIG_ACPI_CPU_HOTPLUG=3Dy -CONFIG_APM=3Dy -CONFIG_I8257=3Dy -CONFIG_IDE_ISA=3Dy -CONFIG_IDE_PIIX=3Dy + +# Optional devices: +# CONFIG_HPET=3Dy CONFIG_APPLESMC=3Dy -CONFIG_I8259=3Dy CONFIG_PFLASH_CFI01=3Dy -CONFIG_MC146818RTC=3Dy -CONFIG_PCI_PIIX=3Dy -CONFIG_ISA_DEBUG=3Dy CONFIG_ISA_TESTDEV=3Dy -CONFIG_VMPORT=3Dy CONFIG_SGA=3Dy -CONFIG_LPC_ICH9=3Dy -CONFIG_PCI_EXPRESS_Q35=3Dy -CONFIG_APIC=3Dy -CONFIG_IOAPIC=3Dy CONFIG_PVPANIC=3Dy CONFIG_MEM_DEVICE=3Dy -CONFIG_DIMM=3Dy CONFIG_NVDIMM=3Dy CONFIG_ACPI_NVDIMM=3Dy -CONFIG_XIO3130=3Dy -CONFIG_IOH3420=3Dy -CONFIG_I82801B11=3Dy -CONFIG_SMBIOS=3Dy CONFIG_PXB=3Dy CONFIG_ACPI_VMGENID=3Dy -CONFIG_FW_CFG_DMA=3Dy CONFIG_I2C=3Dy CONFIG_SEV=3D$(CONFIG_KVM) -CONFIG_VTD=3Dy -CONFIG_AMD_IOMMU=3Dy -CONFIG_PAM=3Dy + +# Boards: +# +CONFIG_ISAPC=3Dy CONFIG_I440FX=3Dy CONFIG_Q35=3Dy diff --git a/hw/acpi/Kconfig b/hw/acpi/Kconfig index 2f4871c10a..98bb3539e1 100644 --- a/hw/acpi/Kconfig +++ b/hw/acpi/Kconfig @@ -3,15 +3,18 @@ config ACPI =20 config ACPI_X86 bool + select ACPI =20 config ACPI_X86_ICH bool + select ACPI_X86 =20 config ACPI_CPU_HOTPLUG bool =20 config ACPI_MEMORY_HOTPLUG bool + select MEM_DEVICE =20 config ACPI_NVDIMM bool diff --git a/hw/display/Kconfig b/hw/display/Kconfig index a53ca4601a..3d69435982 100644 --- a/hw/display/Kconfig +++ b/hw/display/Kconfig @@ -82,6 +82,7 @@ config VGA =20 config QXL bool + default y if PC depends on SPICE && PCI select VGA =20 diff --git a/hw/i2c/Makefile.objs b/hw/i2c/Makefile.objs index 37cacde978..48f7760379 100644 --- a/hw/i2c/Makefile.objs +++ b/hw/i2c/Makefile.objs @@ -1,8 +1,8 @@ common-obj-$(CONFIG_I2C) +=3D core.o smbus.o smbus_eeprom.o common-obj-$(CONFIG_DDC) +=3D i2c-ddc.o common-obj-$(CONFIG_VERSATILE_I2C) +=3D versatile_i2c.o -common-obj-$(CONFIG_ACPI_X86) +=3D smbus_ich9.o -common-obj-$(CONFIG_APM) +=3D pm_smbus.o +common-obj-$(CONFIG_ACPI_X86_ICH) +=3D smbus_ich9.o +common-obj-$(CONFIG_ACPI_SMBUS) +=3D pm_smbus.o common-obj-$(CONFIG_BITBANG_I2C) +=3D bitbang_i2c.o common-obj-$(CONFIG_EXYNOS4) +=3D exynos4210_i2c.o common-obj-$(CONFIG_IMX_I2C) +=3D imx_i2c.o diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig index 68a9064558..bb3b023b95 100644 --- a/hw/i386/Kconfig +++ b/hw/i386/Kconfig @@ -1,21 +1,71 @@ config KVM bool =20 -config I440FX +config PC bool - select QXL if SPICE + select ISA_DEBUG + select I8259 + select I8254 + select PCSPK + select I82374 + select I8257 + select MC146818RTC select TPM_TIS if TPM - select XEN_I386 if XEN + +config PC_PCI + bool + select APIC + select IOAPIC + select APM + select PC + +config PC_ACPI + bool + select ACPI_X86 + select ACPI_CPU_HOTPLUG + select ACPI_MEMORY_HOTPLUG + depends on ACPI_SMBUS + +config I440FX + bool + select PC_PCI + select PC_ACPI + select ACPI_SMBUS + select PCI_PIIX + select FDC + select IDE_PIIX + select PAM + select DIMM + select SMBIOS + select VMPORT + select VMMOUSE + select FW_CFG_DMA =20 config ISAPC bool select ISA_BUS + select PC + select IDE_ISA + select VGA_ISA + # FIXME: it is in the same file as i440fx, and does not compile + # if separated + depends on I440FX =20 config Q35 bool - select QXL if SPICE - select TPM_TIS if TPM - select XEN_I386 if XEN + select PC_PCI + select PC_ACPI + select PCI_EXPRESS_Q35 + select LPC_ICH9 + select AHCI + select PAM + select AMD_IOMMU + select DIMM + select SMBIOS + select VMPORT + select VMMOUSE + select FW_CFG_DMA + select VTD =20 config VTD bool @@ -28,3 +78,4 @@ config VMPORT =20 config VMMOUSE bool + depends on VMPORT diff --git a/hw/isa/Kconfig b/hw/isa/Kconfig index 3f451ef006..bf72e4fef2 100644 --- a/hw/isa/Kconfig +++ b/hw/isa/Kconfig @@ -25,4 +25,5 @@ config SMC37C669 config LPC_ICH9 bool select ISA_BUS + select ACPI_SMBUS select ACPI_X86_ICH diff --git a/hw/pci-host/Kconfig b/hw/pci-host/Kconfig index 80d483e0e9..a33dcf26dd 100644 --- a/hw/pci-host/Kconfig +++ b/hw/pci-host/Kconfig @@ -21,10 +21,15 @@ config PCI_SABRE =20 config PCI_PIIX bool + select PCI =20 config PCI_EXPRESS_Q35 bool select PCI_EXPRESS + select PCI + select XIO3130 + select IOH3420 + select I82801B11 =20 config PCI_EXPRESS_GENERIC_BRIDGE bool diff --git a/hw/tpm/Kconfig b/hw/tpm/Kconfig index da4bb5b6c7..28acdb745e 100644 --- a/hw/tpm/Kconfig +++ b/hw/tpm/Kconfig @@ -3,10 +3,13 @@ config TPM =20 config TPM_TIS bool - depends on TPM + default y + depends on TPM && PC =20 config TPM_CRB bool + default y + depends on TPM && PC =20 config TPM_PASSTHROUGH bool --=20 2.17.1