Here are some more Kconfig patches that clean up the switches of existing devices and introduce proper config switches for some other devices that were always enabled before. v3: - Added Philippe's Reviewed-bys - The MUSCA and MPS2 switches now also select the "unimplemented" device v2: - Included Philippe's patches to avoid a conflict with XLNX_ZYNQMP - Don't rely on indirect dependencies, always "select XYZ" if it is adequate - Added patch for the generic loader device Philippe Mathieu-Daudé (3): hw/Kconfig: Move the generic XLNX_ZYNQMP to the root hw/Kconfig hw/intc: Only build the xlnx-iomod-intc device for the MicroBlaze PMU hw/dma: Do not build the xlnx_dpdma device for the MicroBlaze machines Thomas Huth (5): hw/core: Add a config switch for the "register" device hw/core: Add a config switch for the "or-irq" device hw/core: Add a config switch for the "split-irq" device hw/misc: Add a config switch for the "unimplemented" device hw/core: Add a config switch for the generic loader device hw/Kconfig | 4 ++++ hw/arm/Kconfig | 17 +++++++++++++++++ hw/core/Kconfig | 13 +++++++++++++ hw/core/Makefile.objs | 8 ++++---- hw/dma/Kconfig | 1 + hw/dma/Makefile.objs | 1 - hw/intc/Makefile.objs | 2 +- hw/microblaze/Kconfig | 1 + hw/misc/Kconfig | 3 +++ hw/misc/Makefile.objs | 2 +- hw/pci-host/Kconfig | 3 ++- hw/sparc64/Kconfig | 1 + hw/timer/Kconfig | 3 --- 13 files changed, 48 insertions(+), 11 deletions(-) -- 2.18.1
From: Philippe Mathieu-Daudé <philmd@redhat.com> The XLNX_ZYNQMP config is used in multiple subdirectories (timer, intc). Move it to the root hw/Kconfig. Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20190427141459.19728-2-philmd@redhat.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Signed-off-by: Thomas Huth <thuth@redhat.com> --- hw/Kconfig | 3 +++ hw/timer/Kconfig | 3 --- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/hw/Kconfig b/hw/Kconfig index 195f541e50..dbae1c0852 100644 --- a/hw/Kconfig +++ b/hw/Kconfig @@ -73,3 +73,6 @@ config XILINX config XILINX_AXI bool select PTIMER # for hw/dma/xilinx_axidma.c + +config XLNX_ZYNQMP + bool diff --git a/hw/timer/Kconfig b/hw/timer/Kconfig index 51921eb63f..eefc95f35e 100644 --- a/hw/timer/Kconfig +++ b/hw/timer/Kconfig @@ -34,9 +34,6 @@ config TWL92230 bool depends on I2C -config XLNX_ZYNQMP - bool - config ALTERA_TIMER bool select PTIMER -- 2.18.1
From: Philippe Mathieu-Daudé <philmd@redhat.com> The Xilinx I/O Module Interrupt Controller is only used by the MicroBlaze PMU, not by the AArch64 machine. Move it from the generic ZynqMP object list to the PMU specific. Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20190427141459.19728-3-philmd@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Signed-off-by: Thomas Huth <thuth@redhat.com> --- hw/intc/Makefile.objs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/intc/Makefile.objs b/hw/intc/Makefile.objs index 03019b9a03..f726d87532 100644 --- a/hw/intc/Makefile.objs +++ b/hw/intc/Makefile.objs @@ -3,7 +3,7 @@ common-obj-$(CONFIG_I8259) += i8259_common.o i8259.o common-obj-$(CONFIG_PL190) += pl190.o common-obj-$(CONFIG_PUV3) += puv3_intc.o common-obj-$(CONFIG_XILINX) += xilinx_intc.o -common-obj-$(CONFIG_XLNX_ZYNQMP) += xlnx-pmu-iomod-intc.o +common-obj-$(CONFIG_XLNX_ZYNQMP_PMU) += xlnx-pmu-iomod-intc.o common-obj-$(CONFIG_XLNX_ZYNQMP) += xlnx-zynqmp-ipi.o common-obj-$(CONFIG_ETRAXFS) += etraxfs_pic.o common-obj-$(CONFIG_IMX) += imx_avic.o imx_gpcv2.o -- 2.18.1
From: Philippe Mathieu-Daudé <philmd@redhat.com> The xlnx_dpdma device is only used by the ZynqMP AArch64 machine (not the MicroBlaze PMU). Remove it from the ZynqMP generic objects. (Note, this entry was duplicated for the AArch64). Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20190427141459.19728-4-philmd@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Signed-off-by: Thomas Huth <thuth@redhat.com> --- hw/dma/Makefile.objs | 1 - 1 file changed, 1 deletion(-) diff --git a/hw/dma/Makefile.objs b/hw/dma/Makefile.objs index 8b39f9c600..b672e7a522 100644 --- a/hw/dma/Makefile.objs +++ b/hw/dma/Makefile.objs @@ -8,7 +8,6 @@ common-obj-$(CONFIG_XILINX_AXI) += xilinx_axidma.o common-obj-$(CONFIG_ZYNQ_DEVCFG) += xlnx-zynq-devcfg.o common-obj-$(CONFIG_ETRAXFS) += etraxfs_dma.o common-obj-$(CONFIG_STP2000) += sparc32_dma.o -obj-$(CONFIG_XLNX_ZYNQMP) += xlnx_dpdma.o obj-$(CONFIG_XLNX_ZYNQMP_ARM) += xlnx_dpdma.o common-obj-$(CONFIG_XLNX_ZYNQMP_ARM) += xlnx-zdma.o -- 2.18.1
The "register" device is only used by certain machines. Let's add a proper config switch for it so that it only gets compiled when we really need it. Signed-off-by: Thomas Huth <thuth@redhat.com> --- hw/Kconfig | 1 + hw/core/Kconfig | 3 +++ hw/core/Makefile.objs | 2 +- hw/dma/Kconfig | 1 + 4 files changed, 6 insertions(+), 1 deletion(-) diff --git a/hw/Kconfig b/hw/Kconfig index dbae1c0852..b45db3c813 100644 --- a/hw/Kconfig +++ b/hw/Kconfig @@ -76,3 +76,4 @@ config XILINX_AXI config XLNX_ZYNQMP bool + select REGISTER diff --git a/hw/core/Kconfig b/hw/core/Kconfig index c2a1ae8122..d11920fcb3 100644 --- a/hw/core/Kconfig +++ b/hw/core/Kconfig @@ -9,3 +9,6 @@ config FITLOADER config PLATFORM_BUS bool + +config REGISTER + bool diff --git a/hw/core/Makefile.objs b/hw/core/Makefile.objs index f8481d959f..d6cfb2a81b 100644 --- a/hw/core/Makefile.objs +++ b/hw/core/Makefile.objs @@ -17,7 +17,7 @@ common-obj-$(CONFIG_SOFTMMU) += machine.o common-obj-$(CONFIG_SOFTMMU) += loader.o common-obj-$(CONFIG_FITLOADER) += loader-fit.o common-obj-$(CONFIG_SOFTMMU) += qdev-properties-system.o -common-obj-$(CONFIG_SOFTMMU) += register.o +common-obj-$(CONFIG_REGISTER) += register.o common-obj-$(CONFIG_SOFTMMU) += or-irq.o common-obj-$(CONFIG_SOFTMMU) += split-irq.o common-obj-$(CONFIG_PLATFORM_BUS) += platform-bus.o diff --git a/hw/dma/Kconfig b/hw/dma/Kconfig index 751dec5426..5c61b67bc0 100644 --- a/hw/dma/Kconfig +++ b/hw/dma/Kconfig @@ -16,6 +16,7 @@ config I8257 config ZYNQ_DEVCFG bool + select REGISTER config STP2000 bool -- 2.18.1
The "or-irq" device is only used by certain machines. Let's add a proper config switch for it so that it only gets compiled when we really need it. Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com> --- hw/arm/Kconfig | 3 +++ hw/core/Kconfig | 3 +++ hw/core/Makefile.objs | 2 +- hw/pci-host/Kconfig | 3 ++- 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig index ab65ecd216..849195c3f6 100644 --- a/hw/arm/Kconfig +++ b/hw/arm/Kconfig @@ -292,6 +292,7 @@ config RASPI config STM32F205_SOC bool select ARM_V7M + select OR_IRQ select STM32F2XX_TIMER select STM32F2XX_USART select STM32F2XX_SYSCFG @@ -360,6 +361,7 @@ config MPS2 select LAN9118 select MPS2_FPGAIO select MPS2_SCC + select OR_IRQ select PL022 # Serial port select PL080 # DMA controller @@ -439,6 +441,7 @@ config ARMSSE select IOTKIT_SECCTL select IOTKIT_SYSCTL select IOTKIT_SYSINFO + select OR_IRQ select TZ_MPC select TZ_MSC select TZ_PPC diff --git a/hw/core/Kconfig b/hw/core/Kconfig index d11920fcb3..984143456a 100644 --- a/hw/core/Kconfig +++ b/hw/core/Kconfig @@ -7,6 +7,9 @@ config PTIMER config FITLOADER bool +config OR_IRQ + bool + config PLATFORM_BUS bool diff --git a/hw/core/Makefile.objs b/hw/core/Makefile.objs index d6cfb2a81b..ce337bd7c9 100644 --- a/hw/core/Makefile.objs +++ b/hw/core/Makefile.objs @@ -18,7 +18,7 @@ common-obj-$(CONFIG_SOFTMMU) += loader.o common-obj-$(CONFIG_FITLOADER) += loader-fit.o common-obj-$(CONFIG_SOFTMMU) += qdev-properties-system.o common-obj-$(CONFIG_REGISTER) += register.o -common-obj-$(CONFIG_SOFTMMU) += or-irq.o +common-obj-$(CONFIG_OR_IRQ) += or-irq.o common-obj-$(CONFIG_SOFTMMU) += split-irq.o common-obj-$(CONFIG_PLATFORM_BUS) += platform-bus.o common-obj-$(CONFIG_SOFTMMU) += generic-loader.o diff --git a/hw/pci-host/Kconfig b/hw/pci-host/Kconfig index 8c16d96b3f..1edc1a31d4 100644 --- a/hw/pci-host/Kconfig +++ b/hw/pci-host/Kconfig @@ -2,8 +2,9 @@ config PAM bool config PREP_PCI - select PCI bool + select PCI + select OR_IRQ config GRACKLE_PCI select PCI -- 2.18.1
The "split-irq" device is currently only used by machines that use CONFIG_ARMSSE. Let's add a proper CONFIG_SPLIT_IRQ switch for this so that it only gets compiled when we really need it. Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com> --- hw/arm/Kconfig | 3 +++ hw/core/Kconfig | 3 +++ hw/core/Makefile.objs | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig index 849195c3f6..6e24c73b54 100644 --- a/hw/arm/Kconfig +++ b/hw/arm/Kconfig @@ -81,6 +81,7 @@ config MUSCA select ARMSSE select PL011 select PL031 + select SPLIT_IRQ config MUSICPAL bool @@ -364,6 +365,7 @@ config MPS2 select OR_IRQ select PL022 # Serial port select PL080 # DMA controller + select SPLIT_IRQ config FSL_IMX7 bool @@ -442,6 +444,7 @@ config ARMSSE select IOTKIT_SYSCTL select IOTKIT_SYSINFO select OR_IRQ + select SPLIT_IRQ select TZ_MPC select TZ_MSC select TZ_PPC diff --git a/hw/core/Kconfig b/hw/core/Kconfig index 984143456a..fffb3d62b2 100644 --- a/hw/core/Kconfig +++ b/hw/core/Kconfig @@ -15,3 +15,6 @@ config PLATFORM_BUS config REGISTER bool + +config SPLIT_IRQ + bool diff --git a/hw/core/Makefile.objs b/hw/core/Makefile.objs index ce337bd7c9..bb1afe422a 100644 --- a/hw/core/Makefile.objs +++ b/hw/core/Makefile.objs @@ -19,7 +19,7 @@ common-obj-$(CONFIG_FITLOADER) += loader-fit.o common-obj-$(CONFIG_SOFTMMU) += qdev-properties-system.o common-obj-$(CONFIG_REGISTER) += register.o common-obj-$(CONFIG_OR_IRQ) += or-irq.o -common-obj-$(CONFIG_SOFTMMU) += split-irq.o +common-obj-$(CONFIG_SPLIT_IRQ) += split-irq.o common-obj-$(CONFIG_PLATFORM_BUS) += platform-bus.o common-obj-$(CONFIG_SOFTMMU) += generic-loader.o common-obj-$(CONFIG_SOFTMMU) += null-machine.o -- 2.18.1
The device is only used by some few boards. Let's use a proper Kconfig switch so that we only compile this code if we really need it. Signed-off-by: Thomas Huth <thuth@redhat.com> --- hw/arm/Kconfig | 11 +++++++++++ hw/microblaze/Kconfig | 1 + hw/misc/Kconfig | 3 +++ hw/misc/Makefile.objs | 2 +- hw/sparc64/Kconfig | 1 + 5 files changed, 17 insertions(+), 1 deletion(-) diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig index 6e24c73b54..76a2a6bcbf 100644 --- a/hw/arm/Kconfig +++ b/hw/arm/Kconfig @@ -82,6 +82,7 @@ config MUSCA select PL011 select PL031 select SPLIT_IRQ + select UNIMP config MUSICPAL bool @@ -217,6 +218,7 @@ config STELLARIS select SSI_SD select STELLARIS_INPUT select STELLARIS_ENET # ethernet + select UNIMP config STRONGARM bool @@ -283,6 +285,7 @@ config ALLWINNER_A10 select ALLWINNER_A10_PIC select ALLWINNER_EMAC select SERIAL + select UNIMP config RASPI bool @@ -320,6 +323,7 @@ config XLNX_VERSAL select PL011 select CADENCE select VIRTIO_MMIO + select UNIMP config FSL_IMX25 bool @@ -355,6 +359,7 @@ config ASPEED_SOC select SSI_M25P80 select TMP105 select TMP421 + select UNIMP config MPS2 bool @@ -366,6 +371,7 @@ config MPS2 select PL022 # Serial port select PL080 # DMA controller select SPLIT_IRQ + select UNIMP config FSL_IMX7 bool @@ -378,6 +384,7 @@ config FSL_IMX7 select IMX_I2C select PCI_EXPRESS_DESIGNWARE select SDHCI + select UNIMP config ARM_SMMUV3 bool @@ -389,6 +396,7 @@ config FSL_IMX6UL select IMX_FEC select IMX_I2C select SDHCI + select UNIMP config MICROBIT bool @@ -398,6 +406,7 @@ config NRF51_SOC bool select I2C select ARM_V7M + select UNIMP config EMCRAFT_SF2 bool @@ -410,6 +419,7 @@ config MSF2 select PTIMER select SERIAL select SSI + select UNIMP config ZAURUS bool @@ -448,6 +458,7 @@ config ARMSSE select TZ_MPC select TZ_MSC select TZ_PPC + select UNIMP config ARMSSE_CPUID bool diff --git a/hw/microblaze/Kconfig b/hw/microblaze/Kconfig index c4dc120973..e2697ced9c 100644 --- a/hw/microblaze/Kconfig +++ b/hw/microblaze/Kconfig @@ -4,6 +4,7 @@ config PETALOGIX_S3ADSP1800 select XILINX select XILINX_AXI select XILINX_ETHLITE + select UNIMP config PETALOGIX_ML605 bool diff --git a/hw/misc/Kconfig b/hw/misc/Kconfig index 385e1b0cec..51754bb47c 100644 --- a/hw/misc/Kconfig +++ b/hw/misc/Kconfig @@ -117,4 +117,7 @@ config AUX bool select I2C +config UNIMP + bool + source macio/Kconfig diff --git a/hw/misc/Makefile.objs b/hw/misc/Makefile.objs index e9aab519a1..e4aad707fb 100644 --- a/hw/misc/Makefile.objs +++ b/hw/misc/Makefile.objs @@ -9,7 +9,7 @@ common-obj-$(CONFIG_PCI_TESTDEV) += pci-testdev.o common-obj-$(CONFIG_EDU) += edu.o common-obj-$(CONFIG_PCA9552) += pca9552.o -common-obj-y += unimp.o +common-obj-$(CONFIG_UNIMP) += unimp.o common-obj-$(CONFIG_FW_CFG_DMA) += vmcoreinfo.o # ARM devices diff --git a/hw/sparc64/Kconfig b/hw/sparc64/Kconfig index d4d76a89be..f9f8b0f73a 100644 --- a/hw/sparc64/Kconfig +++ b/hw/sparc64/Kconfig @@ -17,3 +17,4 @@ config NIAGARA bool select EMPTY_SLOT select SUN4V_RTC + select UNIMP -- 2.18.1
The generic loader device is completely optional. Let's add a proper config switch for it so that people can disable it if they don't need it and want to create a minimalistic QEMU binary. Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com> --- hw/core/Kconfig | 4 ++++ hw/core/Makefile.objs | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/hw/core/Kconfig b/hw/core/Kconfig index fffb3d62b2..fdf03514d7 100644 --- a/hw/core/Kconfig +++ b/hw/core/Kconfig @@ -7,6 +7,10 @@ config PTIMER config FITLOADER bool +config GENERIC_LOADER + bool + default y + config OR_IRQ bool diff --git a/hw/core/Makefile.objs b/hw/core/Makefile.objs index bb1afe422a..b49f880a0c 100644 --- a/hw/core/Makefile.objs +++ b/hw/core/Makefile.objs @@ -21,7 +21,7 @@ common-obj-$(CONFIG_REGISTER) += register.o common-obj-$(CONFIG_OR_IRQ) += or-irq.o common-obj-$(CONFIG_SPLIT_IRQ) += split-irq.o common-obj-$(CONFIG_PLATFORM_BUS) += platform-bus.o -common-obj-$(CONFIG_SOFTMMU) += generic-loader.o +common-obj-$(CONFIG_GENERIC_LOADER) += generic-loader.o common-obj-$(CONFIG_SOFTMMU) += null-machine.o obj-$(CONFIG_SOFTMMU) += machine-qmp-cmds.o -- 2.18.1
On 8/17/19 12:19 PM, Thomas Huth wrote: > The "register" device is only used by certain machines. Let's add > a proper config switch for it so that it only gets compiled when we > really need it. > > Signed-off-by: Thomas Huth <thuth@redhat.com> > --- > hw/Kconfig | 1 + > hw/core/Kconfig | 3 +++ > hw/core/Makefile.objs | 2 +- > hw/dma/Kconfig | 1 + > 4 files changed, 6 insertions(+), 1 deletion(-) > > diff --git a/hw/Kconfig b/hw/Kconfig > index dbae1c0852..b45db3c813 100644 > --- a/hw/Kconfig > +++ b/hw/Kconfig > @@ -76,3 +76,4 @@ config XILINX_AXI > > config XLNX_ZYNQMP > bool > + select REGISTER I still find REGISTER confusing, and prefer Alistair's suggestion: REGISTER_API. Since this patch is valid: Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> > diff --git a/hw/core/Kconfig b/hw/core/Kconfig > index c2a1ae8122..d11920fcb3 100644 > --- a/hw/core/Kconfig > +++ b/hw/core/Kconfig > @@ -9,3 +9,6 @@ config FITLOADER > > config PLATFORM_BUS > bool > + > +config REGISTER > + bool > diff --git a/hw/core/Makefile.objs b/hw/core/Makefile.objs > index f8481d959f..d6cfb2a81b 100644 > --- a/hw/core/Makefile.objs > +++ b/hw/core/Makefile.objs > @@ -17,7 +17,7 @@ common-obj-$(CONFIG_SOFTMMU) += machine.o > common-obj-$(CONFIG_SOFTMMU) += loader.o > common-obj-$(CONFIG_FITLOADER) += loader-fit.o > common-obj-$(CONFIG_SOFTMMU) += qdev-properties-system.o > -common-obj-$(CONFIG_SOFTMMU) += register.o > +common-obj-$(CONFIG_REGISTER) += register.o > common-obj-$(CONFIG_SOFTMMU) += or-irq.o > common-obj-$(CONFIG_SOFTMMU) += split-irq.o > common-obj-$(CONFIG_PLATFORM_BUS) += platform-bus.o > diff --git a/hw/dma/Kconfig b/hw/dma/Kconfig > index 751dec5426..5c61b67bc0 100644 > --- a/hw/dma/Kconfig > +++ b/hw/dma/Kconfig > @@ -16,6 +16,7 @@ config I8257 > > config ZYNQ_DEVCFG > bool > + select REGISTER > > config STP2000 > bool >
On 8/17/19 12:19 PM, Thomas Huth wrote: > The device is only used by some few boards. Let's use a proper Kconfig > switch so that we only compile this code if we really need it. > > Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> > --- > hw/arm/Kconfig | 11 +++++++++++ > hw/microblaze/Kconfig | 1 + > hw/misc/Kconfig | 3 +++ > hw/misc/Makefile.objs | 2 +- > hw/sparc64/Kconfig | 1 + > 5 files changed, 17 insertions(+), 1 deletion(-) > > diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig > index 6e24c73b54..76a2a6bcbf 100644 > --- a/hw/arm/Kconfig > +++ b/hw/arm/Kconfig > @@ -82,6 +82,7 @@ config MUSCA > select PL011 > select PL031 > select SPLIT_IRQ > + select UNIMP > > config MUSICPAL > bool > @@ -217,6 +218,7 @@ config STELLARIS > select SSI_SD > select STELLARIS_INPUT > select STELLARIS_ENET # ethernet > + select UNIMP > > config STRONGARM > bool > @@ -283,6 +285,7 @@ config ALLWINNER_A10 > select ALLWINNER_A10_PIC > select ALLWINNER_EMAC > select SERIAL > + select UNIMP > > config RASPI > bool > @@ -320,6 +323,7 @@ config XLNX_VERSAL > select PL011 > select CADENCE > select VIRTIO_MMIO > + select UNIMP > > config FSL_IMX25 > bool > @@ -355,6 +359,7 @@ config ASPEED_SOC > select SSI_M25P80 > select TMP105 > select TMP421 > + select UNIMP > > config MPS2 > bool > @@ -366,6 +371,7 @@ config MPS2 > select PL022 # Serial port > select PL080 # DMA controller > select SPLIT_IRQ > + select UNIMP > > config FSL_IMX7 > bool > @@ -378,6 +384,7 @@ config FSL_IMX7 > select IMX_I2C > select PCI_EXPRESS_DESIGNWARE > select SDHCI > + select UNIMP > > config ARM_SMMUV3 > bool > @@ -389,6 +396,7 @@ config FSL_IMX6UL > select IMX_FEC > select IMX_I2C > select SDHCI > + select UNIMP > > config MICROBIT > bool > @@ -398,6 +406,7 @@ config NRF51_SOC > bool > select I2C > select ARM_V7M > + select UNIMP > > config EMCRAFT_SF2 > bool > @@ -410,6 +419,7 @@ config MSF2 > select PTIMER > select SERIAL > select SSI > + select UNIMP > > config ZAURUS > bool > @@ -448,6 +458,7 @@ config ARMSSE > select TZ_MPC > select TZ_MSC > select TZ_PPC > + select UNIMP > > config ARMSSE_CPUID > bool > diff --git a/hw/microblaze/Kconfig b/hw/microblaze/Kconfig > index c4dc120973..e2697ced9c 100644 > --- a/hw/microblaze/Kconfig > +++ b/hw/microblaze/Kconfig > @@ -4,6 +4,7 @@ config PETALOGIX_S3ADSP1800 > select XILINX > select XILINX_AXI > select XILINX_ETHLITE > + select UNIMP > > config PETALOGIX_ML605 > bool > diff --git a/hw/misc/Kconfig b/hw/misc/Kconfig > index 385e1b0cec..51754bb47c 100644 > --- a/hw/misc/Kconfig > +++ b/hw/misc/Kconfig > @@ -117,4 +117,7 @@ config AUX > bool > select I2C > > +config UNIMP > + bool > + > source macio/Kconfig > diff --git a/hw/misc/Makefile.objs b/hw/misc/Makefile.objs > index e9aab519a1..e4aad707fb 100644 > --- a/hw/misc/Makefile.objs > +++ b/hw/misc/Makefile.objs > @@ -9,7 +9,7 @@ common-obj-$(CONFIG_PCI_TESTDEV) += pci-testdev.o > common-obj-$(CONFIG_EDU) += edu.o > common-obj-$(CONFIG_PCA9552) += pca9552.o > > -common-obj-y += unimp.o > +common-obj-$(CONFIG_UNIMP) += unimp.o > common-obj-$(CONFIG_FW_CFG_DMA) += vmcoreinfo.o > > # ARM devices > diff --git a/hw/sparc64/Kconfig b/hw/sparc64/Kconfig > index d4d76a89be..f9f8b0f73a 100644 > --- a/hw/sparc64/Kconfig > +++ b/hw/sparc64/Kconfig > @@ -17,3 +17,4 @@ config NIAGARA > bool > select EMPTY_SLOT > select SUN4V_RTC > + select UNIMP >
On 17/08/19 12:19, Thomas Huth wrote:
> Here are some more Kconfig patches that clean up the switches of
> existing devices and introduce proper config switches for some
> other devices that were always enabled before.
Thomas, you can go ahead and send a pull request as I will be on
vacation soon.
Paolo
On 8/19/19 7:47 PM, Paolo Bonzini wrote:
> On 17/08/19 12:19, Thomas Huth wrote:
>> Here are some more Kconfig patches that clean up the switches of
>> existing devices and introduce proper config switches for some
>> other devices that were always enabled before.
>
> Thomas, you can go ahead and send a pull request as I will be on
> vacation soon.
Ok, I'm going to prepare one.
Thomas
On Sat, Aug 17, 2019 at 3:24 AM Thomas Huth <thuth@redhat.com> wrote: > > The "register" device is only used by certain machines. Let's add > a proper config switch for it so that it only gets compiled when we > really need it. > > Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Alistair > --- > hw/Kconfig | 1 + > hw/core/Kconfig | 3 +++ > hw/core/Makefile.objs | 2 +- > hw/dma/Kconfig | 1 + > 4 files changed, 6 insertions(+), 1 deletion(-) > > diff --git a/hw/Kconfig b/hw/Kconfig > index dbae1c0852..b45db3c813 100644 > --- a/hw/Kconfig > +++ b/hw/Kconfig > @@ -76,3 +76,4 @@ config XILINX_AXI > > config XLNX_ZYNQMP > bool > + select REGISTER > diff --git a/hw/core/Kconfig b/hw/core/Kconfig > index c2a1ae8122..d11920fcb3 100644 > --- a/hw/core/Kconfig > +++ b/hw/core/Kconfig > @@ -9,3 +9,6 @@ config FITLOADER > > config PLATFORM_BUS > bool > + > +config REGISTER > + bool > diff --git a/hw/core/Makefile.objs b/hw/core/Makefile.objs > index f8481d959f..d6cfb2a81b 100644 > --- a/hw/core/Makefile.objs > +++ b/hw/core/Makefile.objs > @@ -17,7 +17,7 @@ common-obj-$(CONFIG_SOFTMMU) += machine.o > common-obj-$(CONFIG_SOFTMMU) += loader.o > common-obj-$(CONFIG_FITLOADER) += loader-fit.o > common-obj-$(CONFIG_SOFTMMU) += qdev-properties-system.o > -common-obj-$(CONFIG_SOFTMMU) += register.o > +common-obj-$(CONFIG_REGISTER) += register.o > common-obj-$(CONFIG_SOFTMMU) += or-irq.o > common-obj-$(CONFIG_SOFTMMU) += split-irq.o > common-obj-$(CONFIG_PLATFORM_BUS) += platform-bus.o > diff --git a/hw/dma/Kconfig b/hw/dma/Kconfig > index 751dec5426..5c61b67bc0 100644 > --- a/hw/dma/Kconfig > +++ b/hw/dma/Kconfig > @@ -16,6 +16,7 @@ config I8257 > > config ZYNQ_DEVCFG > bool > + select REGISTER > > config STP2000 > bool > -- > 2.18.1 > >