From 02017ee385ef574133c4a978d368640772978178 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Wed, 23 Jan 2019 14:56:10 +0800 Subject: i386: express dependencies with Kconfig 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 Message-Id: <20190123065618.3520-37-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- hw/i386/Kconfig | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ hw/i386/Makefile.objs | 5 +++-- 2 files changed, 53 insertions(+), 2 deletions(-) (limited to 'hw/i386') diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig index 2269637..b5b2f4f 100644 --- a/hw/i386/Kconfig +++ b/hw/i386/Kconfig @@ -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 diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs index 3de7ca2..27248a0 100644 --- a/hw/i386/Makefile.objs +++ b/hw/i386/Makefile.objs @@ -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 -- cgit v1.1