[Qemu-devel] [PATCH v2 7/8] hw/misc: Add a config switch for the "unimplemented" device

Thomas Huth posted 8 patches 6 years, 6 months ago
Maintainers: Peter Maydell <peter.maydell@linaro.org>, Artyom Tarasenko <atar4qemu@gmail.com>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
There is a newer version of this series
[Qemu-devel] [PATCH v2 7/8] hw/misc: Add a config switch for the "unimplemented" device
Posted by Thomas Huth 6 years, 6 months ago
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        | 9 +++++++++
 hw/microblaze/Kconfig | 1 +
 hw/misc/Kconfig       | 3 +++
 hw/misc/Makefile.objs | 2 +-
 hw/sparc64/Kconfig    | 1 +
 5 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
index 6e24c73b54..ab9e592d74 100644
--- a/hw/arm/Kconfig
+++ b/hw/arm/Kconfig
@@ -217,6 +217,7 @@ config STELLARIS
     select SSI_SD
     select STELLARIS_INPUT
     select STELLARIS_ENET # ethernet
+    select UNIMP
 
 config STRONGARM
     bool
@@ -283,6 +284,7 @@ config ALLWINNER_A10
     select ALLWINNER_A10_PIC
     select ALLWINNER_EMAC
     select SERIAL
+    select UNIMP
 
 config RASPI
     bool
@@ -320,6 +322,7 @@ config XLNX_VERSAL
     select PL011
     select CADENCE
     select VIRTIO_MMIO
+    select UNIMP
 
 config FSL_IMX25
     bool
@@ -355,6 +358,7 @@ config ASPEED_SOC
     select SSI_M25P80
     select TMP105
     select TMP421
+    select UNIMP
 
 config MPS2
     bool
@@ -378,6 +382,7 @@ config FSL_IMX7
     select IMX_I2C
     select PCI_EXPRESS_DESIGNWARE
     select SDHCI
+    select UNIMP
 
 config ARM_SMMUV3
     bool
@@ -389,6 +394,7 @@ config FSL_IMX6UL
     select IMX_FEC
     select IMX_I2C
     select SDHCI
+    select UNIMP
 
 config MICROBIT
     bool
@@ -398,6 +404,7 @@ config NRF51_SOC
     bool
     select I2C
     select ARM_V7M
+    select UNIMP
 
 config EMCRAFT_SF2
     bool
@@ -410,6 +417,7 @@ config MSF2
     select PTIMER
     select SERIAL
     select SSI
+    select UNIMP
 
 config ZAURUS
     bool
@@ -448,6 +456,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.21.0


Re: [Qemu-devel] [PATCH v2 7/8] hw/misc: Add a config switch for the "unimplemented" device
Posted by Philippe Mathieu-Daudé 6 years, 6 months ago
On 7/31/19 9:56 AM, 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.

I'd prefer having the UnimpDevice user-creatable and always present as a
core device...

Maybe this can be solved by using 'default y':

    config UNIMP
        bool
        default y

> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  hw/arm/Kconfig        | 9 +++++++++
>  hw/microblaze/Kconfig | 1 +
>  hw/misc/Kconfig       | 3 +++
>  hw/misc/Makefile.objs | 2 +-
>  hw/sparc64/Kconfig    | 1 +
>  5 files changed, 15 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
> index 6e24c73b54..ab9e592d74 100644
> --- a/hw/arm/Kconfig
> +++ b/hw/arm/Kconfig
> @@ -217,6 +217,7 @@ config STELLARIS
>      select SSI_SD
>      select STELLARIS_INPUT
>      select STELLARIS_ENET # ethernet
> +    select UNIMP
>  
>  config STRONGARM
>      bool
> @@ -283,6 +284,7 @@ config ALLWINNER_A10
>      select ALLWINNER_A10_PIC
>      select ALLWINNER_EMAC
>      select SERIAL
> +    select UNIMP
>  
>  config RASPI
>      bool
> @@ -320,6 +322,7 @@ config XLNX_VERSAL
>      select PL011
>      select CADENCE
>      select VIRTIO_MMIO
> +    select UNIMP
>  
>  config FSL_IMX25
>      bool
> @@ -355,6 +358,7 @@ config ASPEED_SOC
>      select SSI_M25P80
>      select TMP105
>      select TMP421
> +    select UNIMP
>  
>  config MPS2
>      bool
> @@ -378,6 +382,7 @@ config FSL_IMX7
>      select IMX_I2C
>      select PCI_EXPRESS_DESIGNWARE
>      select SDHCI
> +    select UNIMP
>  
>  config ARM_SMMUV3
>      bool
> @@ -389,6 +394,7 @@ config FSL_IMX6UL
>      select IMX_FEC
>      select IMX_I2C
>      select SDHCI
> +    select UNIMP
>  
>  config MICROBIT
>      bool
> @@ -398,6 +404,7 @@ config NRF51_SOC
>      bool
>      select I2C
>      select ARM_V7M
> +    select UNIMP
>  
>  config EMCRAFT_SF2
>      bool
> @@ -410,6 +417,7 @@ config MSF2
>      select PTIMER
>      select SERIAL
>      select SSI
> +    select UNIMP
>  
>  config ZAURUS
>      bool
> @@ -448,6 +456,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
> 

Re: [Qemu-devel] [PATCH v2 7/8] hw/misc: Add a config switch for the "unimplemented" device
Posted by Thomas Huth 6 years, 6 months ago
On 31/07/2019 13.47, Philippe Mathieu-Daudé wrote:
> On 7/31/19 9:56 AM, 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.
> 
> I'd prefer having the UnimpDevice user-creatable and always present as a
> core device...

Why? This is a sysbus device that needs to be wired up in code, so I
don't see a reason for making this user-creatable right now.

Anyway, that's a different subject, so this should not be part of this
patch.

 Thomas

Re: [Qemu-devel] [PATCH v2 7/8] hw/misc: Add a config switch for the "unimplemented" device
Posted by Philippe Mathieu-Daudé 6 years, 6 months ago
On 7/31/19 1:50 PM, Thomas Huth wrote:
> On 31/07/2019 13.47, Philippe Mathieu-Daudé wrote:
>> On 7/31/19 9:56 AM, 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.
>>
>> I'd prefer having the UnimpDevice user-creatable and always present as a
>> core device...
> 
> Why? This is a sysbus device that needs to be wired up in code, so I
> don't see a reason for making this user-creatable right now.

Right now no.

> Anyway, that's a different subject, so this should not be part of this
> patch.

Fair enough.

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>


Re: [Qemu-devel] [PATCH v2 7/8] hw/misc: Add a config switch for the "unimplemented" device
Posted by Philippe Mathieu-Daudé 6 years, 6 months ago
On Wed, Jul 31, 2019 at 5:55 PM Philippe Mathieu-Daudé
<philmd@redhat.com> wrote:
> On 7/31/19 1:50 PM, Thomas Huth wrote:
> > On 31/07/2019 13.47, Philippe Mathieu-Daudé wrote:
> >> On 7/31/19 9:56 AM, 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.
> >>
> >> I'd prefer having the UnimpDevice user-creatable and always present as a
> >> core device...
> >
> > Why? This is a sysbus device that needs to be wired up in code, so I
> > don't see a reason for making this user-creatable right now.
>
> Right now no.
>
> > Anyway, that's a different subject, so this should not be part of this
> > patch.
>
> Fair enough.
>
> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

Err, you missed MUSCA and MPS2.

Re: [Qemu-devel] [PATCH v2 7/8] hw/misc: Add a config switch for the "unimplemented" device
Posted by Thomas Huth 6 years, 6 months ago
On 31/07/2019 17.59, Philippe Mathieu-Daudé wrote:
> On Wed, Jul 31, 2019 at 5:55 PM Philippe Mathieu-Daudé
> <philmd@redhat.com> wrote:
>> On 7/31/19 1:50 PM, Thomas Huth wrote:
>>> On 31/07/2019 13.47, Philippe Mathieu-Daudé wrote:
>>>> On 7/31/19 9:56 AM, 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.
>>>>
>>>> I'd prefer having the UnimpDevice user-creatable and always present as a
>>>> core device...
>>>
>>> Why? This is a sysbus device that needs to be wired up in code, so I
>>> don't see a reason for making this user-creatable right now.
>>
>> Right now no.
>>
>>> Anyway, that's a different subject, so this should not be part of this
>>> patch.
>>
>> Fair enough.
>>
>> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> 
> Err, you missed MUSCA and MPS2.

Ah, well, that's another one of those indirections that we discussed in
v1 and which I apparently forgot to add now in v2 ... both select ARMSSE
which in turn select UNIMP, so it's not completely missing. I'll send a
v3 with a fix.

Thanks for noticing!

 Thomas