]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
i386: express dependencies with Kconfig
authorPaolo Bonzini <pbonzini@redhat.com>
Wed, 23 Jan 2019 06:56:10 +0000 (14:56 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 7 Mar 2019 20:45:53 +0000 (21:45 +0100)
This way, the default-configs file only need to specify the boards
and any optional devices.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Message-Id: <20190123065618.3520-37-yang.zhong@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
default-configs/i386-softmmu.mak
hw/acpi/Kconfig
hw/i2c/Makefile.objs
hw/i386/Kconfig
hw/i386/Makefile.objs
hw/isa/Kconfig
hw/pci-host/Kconfig
hw/tpm/Kconfig

index 54b571f1aa00e530dd6a72a5685a0a92e54c4f74..ed234c12a9c40b822d947822d782e861a3e56fdf 100644 (file)
@@ -1,12 +1,6 @@
 # Default configuration for i386-softmmu
 
-CONFIG_PCI=y
-CONFIG_PCI_DEVICES=y
-CONFIG_ISA_BUS=y
 include hyperv.mak
-CONFIG_TEST_DEVICES=y
-CONFIG_VGA_ISA=y
-CONFIG_VMWARE_VGA=y
 CONFIG_VMXNET3_PCI=y
 CONFIG_VIRTIO_VGA=y
 CONFIG_IPMI=y
@@ -14,49 +8,28 @@ CONFIG_IPMI_LOCAL=y
 CONFIG_IPMI_EXTERN=y
 CONFIG_ISA_IPMI_KCS=y
 CONFIG_ISA_IPMI_BT=y
-CONFIG_I8254=y
-CONFIG_ACPI=y
-CONFIG_ACPI_X86=y
-CONFIG_ACPI_X86_ICH=y
-CONFIG_ACPI_MEMORY_HOTPLUG=y
-CONFIG_ACPI_CPU_HOTPLUG=y
-CONFIG_APM=y
-CONFIG_I8257=y
-CONFIG_IDE_ISA=y
-CONFIG_IDE_PIIX=y
+
+# Optional devices:
+#
 CONFIG_HPET=y
 CONFIG_APPLESMC=y
-CONFIG_I8259=y
 CONFIG_PFLASH_CFI01=y
-CONFIG_MC146818RTC=y
-CONFIG_PCI_PIIX=y
 CONFIG_ISA_DEBUG=y
 CONFIG_ISA_TESTDEV=y
-CONFIG_VMPORT=y
+CONFIG_TEST_DEVICES=y
 CONFIG_SGA=y
-CONFIG_LPC_ICH9=y
-CONFIG_PCI_EXPRESS=y
-CONFIG_PCI_EXPRESS_Q35=y
-CONFIG_APIC=y
-CONFIG_IOAPIC=y
 CONFIG_PVPANIC=y
 CONFIG_MEM_DEVICE=y
-CONFIG_DIMM=y
 CONFIG_NVDIMM=y
 CONFIG_ACPI_NVDIMM=y
-CONFIG_XIO3130=y
-CONFIG_IOH3420=y
-CONFIG_I82801B11=y
-CONFIG_SMBIOS=y
 CONFIG_PXB=y
 CONFIG_ACPI_VMGENID=y
-CONFIG_ACPI_SMBUS=y
 CONFIG_SMBUS_EEPROM=y
-CONFIG_FW_CFG_DMA=y
 CONFIG_I2C=y
-CONFIG_VTD=y
-CONFIG_AMD_IOMMU=y
-CONFIG_PAM=y
-CONFIG_PC=y
+CONFIG_PCI_DEVICES=y
+
+# Boards:
+#
+CONFIG_ISAPC=y
 CONFIG_I440FX=y
 CONFIG_Q35=y
index c485a3448f133d3307f6e63b618c8548f00a38d0..035a28f751b28e19d7cf817e5c98b65b527f9f7c 100644 (file)
@@ -3,15 +3,18 @@ config ACPI
 
 config ACPI_X86
     bool
+    select ACPI
 
 config ACPI_X86_ICH
     bool
+    select ACPI_X86
 
 config ACPI_CPU_HOTPLUG
     bool
 
 config ACPI_MEMORY_HOTPLUG
     bool
+    select MEM_DEVICE
 
 config ACPI_NVDIMM
     bool
index 9205cbee16c7691b142510717b1cd6817315a443..2a3c106551e10b0faff1ecc563070a154963e257 100644 (file)
@@ -2,7 +2,7 @@ common-obj-$(CONFIG_I2C) += core.o smbus_slave.o smbus_master.o
 common-obj-$(CONFIG_SMBUS_EEPROM) += smbus_eeprom.o
 common-obj-$(CONFIG_DDC) += i2c-ddc.o
 common-obj-$(CONFIG_VERSATILE_I2C) += versatile_i2c.o
-common-obj-$(CONFIG_ACPI_X86) += smbus_ich9.o
+common-obj-$(CONFIG_ACPI_X86_ICH) += smbus_ich9.o
 common-obj-$(CONFIG_ACPI_SMBUS) += pm_smbus.o
 common-obj-$(CONFIG_BITBANG_I2C) += bitbang_i2c.o
 common-obj-$(CONFIG_EXYNOS4) += exynos4210_i2c.o
index 22696376a1b599d9f2f8c7258e0ea7e7a383de7b..b5b2f4f866099ec76e136c0c6d4b584dd57c2c1f 100644 (file)
@@ -8,16 +8,65 @@ config PC
     imply SEV
     imply TPM_CRB
     imply TPM_TIS
+    select FDC
+    select I8259
+    select I8254
+    select PCSPK
+    select I82374
+    select I8257
+    select MC146818RTC
+
+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 IDE_PIIX
+    select DIMM
+    select SMBIOS
+    select VMPORT
+    select VMMOUSE
+    select FW_CFG_DMA
 
 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
 
 config Q35
     bool
+    imply VTD
+    imply AMD_IOMMU
+    select PC_PCI
+    select PC_ACPI
+    select PCI_EXPRESS_Q35
+    select LPC_ICH9
+    select AHCI
+    select DIMM
+    select SMBIOS
+    select VMPORT
+    select VMMOUSE
+    select FW_CFG_DMA
 
 config VTD
     bool
@@ -30,3 +79,4 @@ config VMPORT
 
 config VMMOUSE
     bool
+    depends on VMPORT
index 3de7ca2bb9e5346c869ece4000fbd5791698436f..27248a0777c3fbd9a5cc9ac9f40bbff80741c6e9 100644 (file)
@@ -4,8 +4,9 @@ obj-y += pc.o
 obj-$(CONFIG_I440FX) += pc_piix.o
 obj-$(CONFIG_Q35) += pc_q35.o
 obj-y += pc_sysfw.o
-obj-$(CONFIG_VTD) += x86-iommu.o intel_iommu.o
-obj-$(CONFIG_AMD_IOMMU) += x86-iommu.o amd_iommu.o
+obj-y += x86-iommu.o
+obj-$(CONFIG_VTD) += intel_iommu.o
+obj-$(CONFIG_AMD_IOMMU) += amd_iommu.o
 obj-$(CONFIG_XEN) += ../xenpv/ xen/
 obj-$(CONFIG_VMPORT) += vmport.o
 obj-$(CONFIG_VMMOUSE) += vmmouse.o
index af68af96c97390468b643932270919219f774295..6f0812d270d1a883d61a56947fc57af652a3a1a5 100644 (file)
@@ -27,4 +27,5 @@ config SMC37C669
 config LPC_ICH9
     bool
     select ISA_BUS
+    select ACPI_SMBUS
     select ACPI_X86_ICH
index c01812a316d52c5fb9b6ad9b1d483b527d25367f..ff4080c78c762443935993a8b773dcff72a85c71 100644 (file)
@@ -27,10 +27,14 @@ config PCI_SABRE
 
 config PCI_PIIX
     bool
+    select PCI
+    select PAM
+    select ISA_BUS
 
 config PCI_EXPRESS_Q35
     bool
     select PCI_EXPRESS
+    select PAM
 
 config PCI_EXPRESS_GENERIC_BRIDGE
     bool
index dd27f41ba3ab3b3185d91274494944b71169b418..f654f0fbcec1b07cd3b9e7336e9fdcc931536330 100644 (file)
@@ -7,7 +7,7 @@ config TPM_TIS
 
 config TPM_CRB
     bool
-    depends on TPM
+    depends on TPM && PC
 
 config TPM_PASSTHROUGH
     bool