aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rwxr-xr-xconfigure2
-rw-r--r--default-configs/aarch64-softmmu.mak5
-rw-r--r--default-configs/arm-softmmu.mak179
-rw-r--r--docs/devel/kconfig.rst2
-rw-r--r--hw/arm/Kconfig317
-rw-r--r--hw/arm/Makefile.objs25
-rw-r--r--hw/display/Kconfig3
-rw-r--r--hw/i2c/Kconfig2
-rw-r--r--hw/i386/Kconfig2
-rw-r--r--hw/ide/Kconfig6
-rw-r--r--hw/ide/Makefile.objs2
-rw-r--r--hw/misc/Kconfig2
-rw-r--r--hw/pci/pci-stub.c11
14 files changed, 387 insertions, 173 deletions
diff --git a/Makefile b/Makefile
index 4a8ae0ef95..66d5c65156 100644
--- a/Makefile
+++ b/Makefile
@@ -350,7 +350,7 @@ endif
# This has to be kept in sync with Kconfig.host.
MINIKCONF_ARGS = \
$(CONFIG_MINIKCONF_MODE) \
- $@ $*-config.devices.mak.d $< $(MINIKCONF_INPUTS) \
+ $@ $*/config-devices.mak.d $< $(MINIKCONF_INPUTS) \
CONFIG_KVM=$(CONFIG_KVM) \
CONFIG_SPICE=$(CONFIG_SPICE) \
CONFIG_IVSHMEM=$(CONFIG_IVSHMEM) \
diff --git a/configure b/configure
index 63f312bd1f..8999698bc2 100755
--- a/configure
+++ b/configure
@@ -1832,7 +1832,7 @@ exit 0
fi
# Remove old dependency files to make sure that they get properly regenerated
-rm -f *-config-devices.mak.d
+rm -f */config-devices.mak.d
if test -z "$python"
then
diff --git a/default-configs/aarch64-softmmu.mak b/default-configs/aarch64-softmmu.mak
index 4ea9add003..49ff415ee4 100644
--- a/default-configs/aarch64-softmmu.mak
+++ b/default-configs/aarch64-softmmu.mak
@@ -3,10 +3,5 @@
# We support all the 32 bit boards so need all their config
include arm-softmmu.mak
-CONFIG_AUX=y
-CONFIG_DDC=y
-CONFIG_DPCD=y
-CONFIG_XLNX_ZYNQMP=y
CONFIG_XLNX_ZYNQMP_ARM=y
CONFIG_XLNX_VERSAL=y
-CONFIG_ARM_SMMUV3=y
diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
index 613d19a06d..f23ecfd5c5 100644
--- a/default-configs/arm-softmmu.mak
+++ b/default-configs/arm-softmmu.mak
@@ -1,162 +1,41 @@
# Default configuration for arm-softmmu
-CONFIG_PCI=y
-CONFIG_PCI_DEVICES=y
-CONFIG_PCI_TESTDEV=y
-CONFIG_VGA=y
-CONFIG_NAND=y
-CONFIG_ECC=y
-CONFIG_SERIAL=y
-CONFIG_MAX7310=y
-CONFIG_WM8750=y
-CONFIG_TWL92230=y
-CONFIG_TSC2005=y
-CONFIG_LM832X=y
-CONFIG_TMP105=y
-CONFIG_TMP421=y
-CONFIG_PCA9552=y
-CONFIG_STELLARIS=y
-CONFIG_STELLARIS_INPUT=y
-CONFIG_STELLARIS_ENET=y
-CONFIG_SSD0303=y
-CONFIG_SSD0323=y
-CONFIG_DDC=y
-CONFIG_SII9022=y
-CONFIG_ADS7846=y
-CONFIG_MAX111X=y
-CONFIG_SSI_SD=y
-CONFIG_SSI_M25P80=y
-CONFIG_LAN9118=y
-CONFIG_SMC91C111=y
-CONFIG_ALLWINNER_EMAC=y
-CONFIG_IMX_FEC=y
-CONFIG_FTGMAC100=y
-CONFIG_DS1338=y
-CONFIG_PFLASH_CFI01=y
-CONFIG_PFLASH_CFI02=y
-CONFIG_MICRODRIVE=y
-CONFIG_USB_MUSB=y
-CONFIG_USB_EHCI_SYSBUS=y
-CONFIG_PLATFORM_BUS=y
-CONFIG_VIRTIO_MMIO=y
-
-CONFIG_ARM11MPCORE=y
-CONFIG_A9MPCORE=y
-CONFIG_A15MPCORE=y
-
+# TODO: ARM_V7M is currently always required - make this more flexible!
CONFIG_ARM_V7M=y
-CONFIG_NETDUINO2=y
-CONFIG_ARM_GIC=y
-CONFIG_ARM_TIMER=y
-CONFIG_ARM_MPTIMER=y
-CONFIG_A9_GTIMER=y
-CONFIG_PL011=y
-CONFIG_PL022=y
-CONFIG_PL031=y
-CONFIG_PL041=y
-CONFIG_PL050=y
-CONFIG_PL061=y
-CONFIG_PL080=y
-CONFIG_PL110=y
-CONFIG_PL181=y
-CONFIG_PL190=y
-CONFIG_PL310=y
-CONFIG_PL330=y
-CONFIG_CADENCE=y
-CONFIG_XGMAC=y
-CONFIG_EXYNOS4=y
-CONFIG_PXA2XX=y
-CONFIG_BITBANG_I2C=y
-CONFIG_FRAMEBUFFER=y
-CONFIG_XILINX_SPIPS=y
-CONFIG_ZYNQ_DEVCFG=y
+# CONFIG_PCI_DEVICES=n
+# CONFIG_TEST_DEVICES=n
-CONFIG_ARM11SCU=y
-CONFIG_A9SCU=y
-CONFIG_DIGIC=y
-CONFIG_MARVELL_88W8618=y
-CONFIG_OMAP=y
-CONFIG_TSC210X=y
-CONFIG_BLIZZARD=y
-CONFIG_ONENAND=y
-CONFIG_TUSB6010=y
-CONFIG_IMX=y
-CONFIG_MAINSTONE=y
-CONFIG_MPS2=y
+CONFIG_ARM_VIRT=y
+CONFIG_CUBIEBOARD=y
+CONFIG_EXYNOS4=y
+CONFIG_HIGHBANK=y
+CONFIG_INTEGRATOR=y
+CONFIG_FSL_IMX31=y
+CONFIG_MUSICPAL=y
CONFIG_MUSCA=y
+CONFIG_CHEETAH=y
+CONFIG_SX1=y
CONFIG_NSERIES=y
-CONFIG_RASPI=y
+CONFIG_STELLARIS=y
CONFIG_REALVIEW=y
-CONFIG_ZAURUS=y
-CONFIG_ZYNQ=y
-CONFIG_STM32F2XX_TIMER=y
-CONFIG_STM32F2XX_USART=y
-CONFIG_STM32F2XX_SYSCFG=y
-CONFIG_STM32F2XX_ADC=y
-CONFIG_STM32F2XX_SPI=y
-CONFIG_STM32F205_SOC=y
-CONFIG_NRF51_SOC=y
-
-CONFIG_CMSDK_APB_TIMER=y
-CONFIG_CMSDK_APB_DUALTIMER=y
-CONFIG_CMSDK_APB_UART=y
-CONFIG_CMSDK_APB_WATCHDOG=y
-
-CONFIG_MPS2_FPGAIO=y
-CONFIG_MPS2_SCC=y
-
-CONFIG_TZ_MPC=y
-CONFIG_TZ_MSC=y
-CONFIG_TZ_PPC=y
-CONFIG_ARMSSE=y
-CONFIG_IOTKIT_SECCTL=y
-CONFIG_IOTKIT_SYSCTL=y
-CONFIG_IOTKIT_SYSINFO=y
-CONFIG_ARMSSE_CPUID=y
-CONFIG_ARMSSE_MHU=y
-
CONFIG_VERSATILE=y
-CONFIG_VERSATILE_PCI=y
-CONFIG_VERSATILE_I2C=y
-
-CONFIG_PCI_EXPRESS=y
-CONFIG_PCI_EXPRESS_GENERIC_BRIDGE=y
-
-CONFIG_SDHCI=y
-CONFIG_INTEGRATOR=y
-CONFIG_INTEGRATOR_DEBUG=y
-
-CONFIG_ALLWINNER_A10_PIT=y
-CONFIG_ALLWINNER_A10_PIC=y
-CONFIG_ALLWINNER_A10=y
-
-CONFIG_FSL_IMX6=y
-CONFIG_FSL_IMX31=y
+CONFIG_VEXPRESS=y
+CONFIG_ZYNQ=y
+CONFIG_MAINSTONE=y
+CONFIG_GUMSTIX=y
+CONFIG_SPITZ=y
+CONFIG_TOSA=y
+CONFIG_Z2=y
+CONFIG_COLLIE=y
+CONFIG_ASPEED_SOC=y
+CONFIG_NETDUINO2=y
+CONFIG_MPS2=y
+CONFIG_RASPI=y
+CONFIG_DIGIC=y
+CONFIG_SABRELITE=y
+CONFIG_EMCRAFT_SF2=y
+CONFIG_MICROBIT=y
CONFIG_FSL_IMX25=y
CONFIG_FSL_IMX7=y
CONFIG_FSL_IMX6UL=y
-
-CONFIG_IMX_I2C=y
-
-CONFIG_PCIE_PORT=y
-CONFIG_XIO3130=y
-CONFIG_IOH3420=y
-CONFIG_I82801B11=y
-CONFIG_ACPI=y
-CONFIG_ARM_VIRT=y
-CONFIG_SMBIOS=y
-CONFIG_ASPEED_SOC=y
-CONFIG_SMBUS_EEPROM=y
-CONFIG_GPIO_KEY=y
-CONFIG_MSF2=y
-CONFIG_FW_CFG_DMA=y
-CONFIG_XILINX_AXI=y
-CONFIG_PCI_EXPRESS_DESIGNWARE=y
-
-CONFIG_STRONGARM=y
-CONFIG_HIGHBANK=y
-CONFIG_MUSICPAL=y
-
-# for realview and versatilepb
-CONFIG_LSI_SCSI_PCI=y
diff --git a/docs/devel/kconfig.rst b/docs/devel/kconfig.rst
index cce146f87d..d6f8eb0977 100644
--- a/docs/devel/kconfig.rst
+++ b/docs/devel/kconfig.rst
@@ -299,7 +299,7 @@ and also listed as follows in the top-level Makefile's ``MINIKCONF_ARGS``
variable::
MINIKCONF_ARGS = \
- $@ $*-config.devices.mak.d $< $(MINIKCONF_INPUTS) \
+ $@ $*/config-devices.mak.d $< $(MINIKCONF_INPUTS) \
CONFIG_KVM=$(CONFIG_KVM) \
CONFIG_SPICE=$(CONFIG_SPICE) \
CONFIG_TPM=$(CONFIG_TPM) \
diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
index d298fbdc89..af8cffde9c 100644
--- a/hw/arm/Kconfig
+++ b/hw/arm/Kconfig
@@ -1,124 +1,435 @@
config ARM_VIRT
bool
+ imply PCI_DEVICES
+ imply TEST_DEVICES
+ imply VFIO_AMD_XGBE
imply VFIO_PLATFORM
+ imply VFIO_XGMAC
+ select A15MPCORE
+ select ACPI
+ select ARM_SMMUV3
+ select GPIO_KEY
+ select FW_CFG_DMA
+ select PCI_EXPRESS
+ select PCI_EXPRESS_GENERIC_BRIDGE
+ select PFLASH_CFI01
+ select PL011 # UART
+ select PL031 # RTC
+ select PL061 # GPIO
+ select PLATFORM_BUS
+ select SMBIOS
+ select VIRTIO_MMIO
+
+config CHEETAH
+ bool
+ select OMAP
+ select TSC210X
+
+config CUBIEBOARD
+ bool
+ select ALLWINNER_A10
config DIGIC
bool
select PTIMER
+ select PFLASH_CFI02
config EXYNOS4
bool
+ select A9MPCORE
+ select I2C
+ select LAN9118
+ select PL310 # cache controller
select PTIMER
+ select SDHCI
+ select USB_EHCI_SYSBUS
config HIGHBANK
bool
+ select A9MPCORE
+ select A15MPCORE
+ select AHCI
+ select ARM_TIMER # sp804
+ select ARM_V7M
+ select PL011 # UART
+ select PL022 # Serial port
+ select PL031 # RTC
+ select PL061 # GPIO
+ select PL310 # cache controller
+ select XGMAC # ethernet
config INTEGRATOR
bool
+ select ARM_TIMER
+ select INTEGRATOR_DEBUG
+ select PL011 # UART
+ select PL031 # RTC
+ select PL050 # keyboard/mouse
+ select PL110 # pl111 LCD controller
+ select PL181 # display
+ select SMC91C111
config MAINSTONE
bool
+ select PXA2XX
+ select PFLASH_CFI01
+ select SMC91C111
+
+config MUSCA
+ bool
+ select ARMSSE
+ select PL011
+ select PL031
config MUSICPAL
bool
+ select BITBANG_I2C
+ select MARVELL_88W8618
select PTIMER
+ select PFLASH_CFI02
+ select SERIAL
+ select WM8750
config NETDUINO2
bool
+ select STM32F205_SOC
config NSERIES
bool
+ select OMAP
+ select TMP105 # tempature sensor
+ select BLIZZARD # LCD/TV controller
+ select ONENAND
+ select TSC210X # touchscreen/sensors/audio
+ select TSC2005 # touchscreen/sensors/keypad
+ select LM832X # GPIO keyboard chip
+ select TWL92230 # energy-management
+ select TUSB6010
config OMAP
bool
+ select FRAMEBUFFER
+ select I2C
+ select ECC
+ select NAND
+ select PFLASH_CFI01
+ select SD
+ select SERIAL
config PXA2XX
bool
+ select FRAMEBUFFER
+ select I2C
+ select SERIAL
+ select SD
+ select SSI
+ select USB_OHCI
+
+config GUMSTIX
+ bool
+ select PFLASH_CFI01
+ select SMC91C111
+ select PXA2XX
+
+config TOSA
+ bool
+ select ZAURUS # scoop
+ select MICRODRIVE
+ select PXA2XX
+
+config SPITZ
+ bool
+ select ADS7846 # display
+ select MAX111X # A/D converter
+ select WM8750 # audio codec
+ select MAX7310 # GPIO expander
+ select ZAURUS # scoop
+ select NAND # memory
+ select ECC # Error-correcting for NAND
+ select MICRODRIVE
+ select PXA2XX
+
+config Z2
+ bool
+ select PFLASH_CFI01
+ select WM8750
+ select PL011 # UART
+ select PXA2XX
config REALVIEW
bool
+ imply PCI_DEVICES
+ imply PCI_TESTDEV
+ select SMC91C111
+ select LAN9118
+ select A9MPCORE
+ select A15MPCORE
+ select ARM11MPCORE
+ select ARM_TIMER
+ select VERSATILE_PCI
+ select WM8750 # audio codec
+ select LSI_SCSI_PCI
+ select PCI
+ select PL011 # UART
+ select PL031 # RTC
+ select PL041 # audio codec
+ select PL050 # keyboard/mouse
+ select PL061 # GPIO
+ select PL080 # DMA controller
+ select PL110
+ select PL181 # display
+ select PL310 # cache controller
+ select VERSATILE_I2C
+ select DS1338 # I2C RTC+NVRAM
+ select USB_OHCI
+
+config SABRELITE
+ bool
+ select FSL_IMX6
+ select SSI_M25P80
config STELLARIS
bool
+ select ARM_V7M
+ select CMSDK_APB_WATCHDOG
+ select I2C
+ select PL011 # UART
+ select PL022 # Serial port
+ select PL061 # GPIO
+ select SSD0303 # OLED display
+ select SSD0323 # OLED display
+ select SSI_SD
+ select STELLARIS_INPUT
+ select STELLARIS_ENET # ethernet
config STRONGARM
bool
+ select PXA2XX
+
+config COLLIE
+ bool
+ select PFLASH_CFI01
+ select ZAURUS # scoop
+ select STRONGARM
+
+config SX1
+ bool
+ select OMAP
config VERSATILE
bool
+ select ARM_TIMER # sp804
+ select PFLASH_CFI01
+ select LSI_SCSI_PCI
+ select PL050 # keyboard/mouse
+ select PL080 # DMA controller
+ select PL190 # Vector PIC
+ select REALVIEW
+ select USB_OHCI
+
+config VEXPRESS
+ bool
+ select A9MPCORE
+ select A15MPCORE
+ select ARM_MPTIMER
+ select ARM_TIMER # sp804
+ select LAN9118
+ select PFLASH_CFI01
+ select PL011 # UART
+ select PL041 # audio codec
+ select PL181 # display
+ select REALVIEW
+ select SII9022
+ select VIRTIO_MMIO
config ZYNQ
bool
+ select A9MPCORE
+ select CADENCE # UART
+ select PFLASH_CFI02
+ select PL330
+ select SDHCI
+ select SSI_M25P80
+ select USB_EHCI_SYSBUS
+ select XILINX # UART
+ select XILINX_AXI
+ select XILINX_SPI
+ select XILINX_SPIPS
+ select ZYNQ_DEVCFG
config ARM_V7M
bool
config ALLWINNER_A10
bool
+ select AHCI
+ select ALLWINNER_A10_PIT
+ select ALLWINNER_A10_PIC
+ select ALLWINNER_EMAC
+ select SERIAL
config RASPI
bool
+ select FRAMEBUFFER
+ select PL011 # UART
+ select SDHCI
config STM32F205_SOC
bool
+ select ARM_V7M
+ select STM32F2XX_TIMER
+ select STM32F2XX_USART
+ select STM32F2XX_SYSCFG
+ select STM32F2XX_ADC
+ select STM32F2XX_SPI
config XLNX_ZYNQMP_ARM
bool
+ select AHCI
+ select ARM_GIC
+ select CADENCE
+ select DDC
+ select DPCD
+ select SDHCI
+ select SSI
+ select SSI_M25P80
+ select XILINX_AXI
+ select XILINX_SPIPS
+ select XLNX_ZYNQMP
config XLNX_VERSAL
bool
+ select ARM_GIC
+ select PL011
+ select CADENCE
+ select VIRTIO_MMIO
config FSL_IMX25
bool
+ select IMX
+ select IMX_FEC
+ select IMX_I2C
+ select DS1338
config FSL_IMX31
bool
+ select SERIAL
+ select IMX
+ select IMX_I2C
+ select LAN9118
config FSL_IMX6
bool
+ select A9MPCORE
+ select IMX
+ select IMX_FEC
+ select IMX_I2C
+ select SDHCI
config ASPEED_SOC
bool
+ select DS1338
+ select FTGMAC100
+ select I2C
+ select PCA9552
+ select SERIAL
+ select SMBUS_EEPROM
+ select SSI
+ select SSI_M25P80
+ select TMP105
+ select TMP421
config MPS2
bool
+ select ARMSSE
+ select LAN9118
+ select MPS2_FPGAIO
+ select MPS2_SCC
+ select PL022 # Serial port
+ select PL080 # DMA controller
config FSL_IMX7
bool
+ imply PCI_DEVICES
+ imply TEST_DEVICES
+ select A15MPCORE
+ select PCI
+ select IMX
+ select IMX_FEC
+ select IMX_I2C
+ select PCI_EXPRESS_DESIGNWARE
+ select SDHCI
config ARM_SMMUV3
bool
config FSL_IMX6UL
bool
+ select A15MPCORE
+ select IMX
+ select IMX_FEC
+ select IMX_I2C
+ select SDHCI
+
+config MICROBIT
+ bool
+ select NRF51_SOC
config NRF51_SOC
bool
+ select I2C
+ select ARM_V7M
+
+config EMCRAFT_SF2
+ bool
+ select MSF2
+ select SSI_M25P80
config MSF2
bool
+ select ARM_V7M
select PTIMER
+ select SERIAL
+ select SSI
config ZAURUS
bool
+ select NAND
+ select ECC
config A9MPCORE
bool
+ select A9_GTIMER
+ select A9SCU # snoop control unit
+ select ARM_GIC
+ select ARM_MPTIMER
config A15MPCORE
bool
+ select ARM_GIC
config ARM11MPCORE
bool
+ select ARM11SCU
config ARMSSE
bool
+ select ARM_V7M
+ select ARMSSE_CPUID
+ select ARMSSE_MHU
+ select CMSDK_APB_TIMER
+ select CMSDK_APB_DUALTIMER
+ select CMSDK_APB_UART
+ select CMSDK_APB_WATCHDOG
+ select IOTKIT_SECCTL
+ select IOTKIT_SYSCTL
+ select IOTKIT_SYSINFO
+ select TZ_MPC
+ select TZ_MSC
+ select TZ_PPC
config ARMSSE_CPUID
bool
config ARMSSE_MHU
bool
-
-config MUSCA
- bool
diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs
index fa57c7c770..994e67dd0d 100644
--- a/hw/arm/Makefile.objs
+++ b/hw/arm/Makefile.objs
@@ -1,21 +1,30 @@
-obj-y += boot.o sysbus-fdt.o
+obj-y += boot.o
+obj-$(CONFIG_PLATFORM_BUS) += sysbus-fdt.o
obj-$(CONFIG_ARM_VIRT) += virt.o
obj-$(CONFIG_ACPI) += virt-acpi-build.o
obj-$(CONFIG_DIGIC) += digic_boards.o
obj-$(CONFIG_EXYNOS4) += exynos4_boards.o
+obj-$(CONFIG_EMCRAFT_SF2) += msf2-som.o
obj-$(CONFIG_HIGHBANK) += highbank.o
obj-$(CONFIG_INTEGRATOR) += integratorcp.o
obj-$(CONFIG_MAINSTONE) += mainstone.o
+obj-$(CONFIG_MICROBIT) += microbit.o
obj-$(CONFIG_MUSICPAL) += musicpal.o
obj-$(CONFIG_NETDUINO2) += netduino2.o
obj-$(CONFIG_NSERIES) += nseries.o
-obj-$(CONFIG_OMAP) += omap_sx1.o palm.o
-obj-$(CONFIG_PXA2XX) += gumstix.o spitz.o tosa.o z2.o
+obj-$(CONFIG_SX1) += omap_sx1.o
+obj-$(CONFIG_CHEETAH) += palm.o
+obj-$(CONFIG_GUMSTIX) += gumstix.o
+obj-$(CONFIG_SPITZ) += spitz.o
+obj-$(CONFIG_TOSA) += tosa.o
+obj-$(CONFIG_Z2) += z2.o
obj-$(CONFIG_REALVIEW) += realview.o
obj-$(CONFIG_STELLARIS) += stellaris.o
-obj-$(CONFIG_STRONGARM) += collie.o
-obj-$(CONFIG_VERSATILE) += vexpress.o versatilepb.o
+obj-$(CONFIG_COLLIE) += collie.o
+obj-$(CONFIG_VERSATILE) += versatilepb.o
+obj-$(CONFIG_VEXPRESS) += vexpress.o
obj-$(CONFIG_ZYNQ) += xilinx_zynq.o
+obj-$(CONFIG_SABRELITE) += sabrelite.o
obj-$(CONFIG_ARM_V7M) += armv7m.o
obj-$(CONFIG_EXYNOS4) += exynos4210.o
@@ -30,14 +39,14 @@ obj-$(CONFIG_XLNX_ZYNQMP_ARM) += xlnx-zynqmp.o xlnx-zcu102.o
obj-$(CONFIG_XLNX_VERSAL) += xlnx-versal.o xlnx-versal-virt.o
obj-$(CONFIG_FSL_IMX25) += fsl-imx25.o imx25_pdk.o
obj-$(CONFIG_FSL_IMX31) += fsl-imx31.o kzm.o
-obj-$(CONFIG_FSL_IMX6) += fsl-imx6.o sabrelite.o
+obj-$(CONFIG_FSL_IMX6) += fsl-imx6.o
obj-$(CONFIG_ASPEED_SOC) += aspeed_soc.o aspeed.o
obj-$(CONFIG_MPS2) += mps2.o
obj-$(CONFIG_MPS2) += mps2-tz.o
-obj-$(CONFIG_MSF2) += msf2-soc.o msf2-som.o
+obj-$(CONFIG_MSF2) += msf2-soc.o
obj-$(CONFIG_MUSCA) += musca.o
obj-$(CONFIG_ARMSSE) += armsse.o
obj-$(CONFIG_FSL_IMX7) += fsl-imx7.o mcimx7d-sabre.o
obj-$(CONFIG_ARM_SMMUV3) += smmu-common.o smmuv3.o
obj-$(CONFIG_FSL_IMX6UL) += fsl-imx6ul.o mcimx6ul-evk.o
-obj-$(CONFIG_NRF51_SOC) += nrf51_soc.o microbit.o
+obj-$(CONFIG_NRF51_SOC) += nrf51_soc.o
diff --git a/hw/display/Kconfig b/hw/display/Kconfig
index c236cd2d0a..dc1f113df2 100644
--- a/hw/display/Kconfig
+++ b/hw/display/Kconfig
@@ -26,10 +26,12 @@ config JAZZ_LED
config PL110
bool
+ select FRAMEBUFFER
config SII9022
bool
depends on I2C
+ select DDC
config SSD0303
bool
@@ -111,6 +113,7 @@ config VIRTIO_VGA
config DPCD
bool
+ select AUX
config ATI_VGA
bool
diff --git a/hw/i2c/Kconfig b/hw/i2c/Kconfig
index 78a2008e3a..2bbd395813 100644
--- a/hw/i2c/Kconfig
+++ b/hw/i2c/Kconfig
@@ -7,7 +7,7 @@ config SMBUS_EEPROM
config VERSATILE_I2C
bool
- select I2C
+ select BITBANG_I2C
config ACPI_SMBUS
bool
diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig
index a6aed7c131..9817888216 100644
--- a/hw/i386/Kconfig
+++ b/hw/i386/Kconfig
@@ -80,7 +80,7 @@ config Q35
select PC_ACPI
select PCI_EXPRESS_Q35
select LPC_ICH9
- select AHCI
+ select AHCI_ICH9
select DIMM
select SMBIOS
select VMPORT
diff --git a/hw/ide/Kconfig b/hw/ide/Kconfig
index ab47b6a7a3..5d9106b1ac 100644
--- a/hw/ide/Kconfig
+++ b/hw/ide/Kconfig
@@ -44,9 +44,13 @@ config MICRODRIVE
config AHCI
bool
+ select IDE_QDEV
+
+config AHCI_ICH9
+ bool
default y if PCI_DEVICES
depends on PCI
- select IDE_QDEV
+ select AHCI
config IDE_SII3112
bool
diff --git a/hw/ide/Makefile.objs b/hw/ide/Makefile.objs
index a142add90e..faf04e0209 100644
--- a/hw/ide/Makefile.objs
+++ b/hw/ide/Makefile.objs
@@ -9,6 +9,6 @@ common-obj-$(CONFIG_IDE_MMIO) += mmio.o
common-obj-$(CONFIG_IDE_VIA) += via.o
common-obj-$(CONFIG_MICRODRIVE) += microdrive.o
common-obj-$(CONFIG_AHCI) += ahci.o
-common-obj-$(CONFIG_AHCI) += ich.o
+common-obj-$(CONFIG_AHCI_ICH9) += ich.o
common-obj-$(CONFIG_ALLWINNER_A10) += ahci-allwinner.o
common-obj-$(CONFIG_IDE_SII3112) += sii3112.o
diff --git a/hw/misc/Kconfig b/hw/misc/Kconfig
index 5f67d0d6d9..385e1b0cec 100644
--- a/hw/misc/Kconfig
+++ b/hw/misc/Kconfig
@@ -76,6 +76,8 @@ config ECCMEMCTL
config IMX
bool
select PTIMER
+ select SSI
+ select USB_EHCI_SYSBUS
config STM32F2XX_SYSCFG
bool
diff --git a/hw/pci/pci-stub.c b/hw/pci/pci-stub.c
index b941a0e842..c04a5df651 100644
--- a/hw/pci/pci-stub.c
+++ b/hw/pci/pci-stub.c
@@ -53,3 +53,14 @@ uint16_t pci_requester_id(PCIDevice *dev)
g_assert(false);
return 0;
}
+
+/* Required by ahci.c */
+bool msi_enabled(const PCIDevice *dev)
+{
+ return false;
+}
+
+void msi_notify(PCIDevice *dev, unsigned int vector)
+{
+ g_assert_not_reached();
+}