[Qemu-devel] [RFC PATCH 3/5] ppc: Express dependencies of the Mac machines with kconfig

Thomas Huth posted 5 patches 6 years, 9 months ago
There is a newer version of this series
[Qemu-devel] [RFC PATCH 3/5] ppc: Express dependencies of the Mac machines with kconfig
Posted by Thomas Huth 6 years, 9 months ago
This will make it for example easier if the users want to disable
one of the two machines for their builds.

Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 default-configs/ppc-softmmu.mak | 15 ---------------
 hw/misc/Kconfig                 |  8 ++++++++
 hw/net/Kconfig                  |  2 ++
 hw/pci-host/Kconfig             |  4 +++-
 hw/ppc/Kconfig                  |  7 +++++++
 5 files changed, 20 insertions(+), 16 deletions(-)

diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak
index 422f1b7..513a8e9 100644
--- a/default-configs/ppc-softmmu.mak
+++ b/default-configs/ppc-softmmu.mak
@@ -37,21 +37,6 @@ CONFIG_VGA_CIRRUS=y
 CONFIG_SMBUS_EEPROM=y
 
 # For Macs
-CONFIG_ESCC=y
-CONFIG_MACIO=y
-CONFIG_MACIO_GPIO=y
-CONFIG_SUNGEM=y
-CONFIG_MOS6522=y
-CONFIG_CUDA=y
-CONFIG_ADB=y
-CONFIG_MAC_NVRAM=y
-CONFIG_MAC_DBDMA=y
-CONFIG_MAC_PMU=y
-CONFIG_HEATHROW_PIC=y
-CONFIG_GRACKLE_PCI=y
-CONFIG_UNIN_PCI=y
-CONFIG_DEC_PCI=y
-CONFIG_IDE_MACIO=y
 CONFIG_MAC_OLDWORLD=y
 CONFIG_MAC_NEWWORLD=y
 
diff --git a/hw/misc/Kconfig b/hw/misc/Kconfig
index 3ebe30f..f392502 100644
--- a/hw/misc/Kconfig
+++ b/hw/misc/Kconfig
@@ -59,6 +59,14 @@ config MOS6522
 
 config MACIO
     bool
+    select CUDA
+    select ESCC
+    select IDE_MACIO
+    select MACIO_GPIO
+    select MAC_DBDMA
+    select MAC_NVRAM
+    select MAC_PMU
+    select MOS6522
 
 config IVSHMEM_DEVICE
     bool
diff --git a/hw/net/Kconfig b/hw/net/Kconfig
index 47368d7..9047f6d 100644
--- a/hw/net/Kconfig
+++ b/hw/net/Kconfig
@@ -85,6 +85,8 @@ config FTGMAC100
 
 config SUNGEM
     bool
+    default y if (MAC_OLDWORLD || MAC_NEWWORLD)
+    depends on PCI
 
 config COLDFIRE
     bool
diff --git a/hw/pci-host/Kconfig b/hw/pci-host/Kconfig
index ff4080c..b39ea29 100644
--- a/hw/pci-host/Kconfig
+++ b/hw/pci-host/Kconfig
@@ -10,8 +10,10 @@ config GRACKLE_PCI
     bool
 
 config UNIN_PCI
-    select PCI
     bool
+    select PCI
+    select DEC_PCI
+    select OPENPIC
 
 config PPCE500_PCI
     select PCI
diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
index 809830e..f6b4206 100644
--- a/hw/ppc/Kconfig
+++ b/hw/ppc/Kconfig
@@ -44,9 +44,16 @@ config RS6000_MC
 
 config MAC_OLDWORLD
     bool
+    select ADB
+    select GRACKLE_PCI
+    select HEATHROW_PIC
+    select MACIO
 
 config MAC_NEWWORLD
     bool
+    select ADB
+    select MACIO
+    select UNIN_PCI
 
 config E500
     bool
-- 
1.8.3.1


Re: [Qemu-devel] [RFC PATCH 3/5] ppc: Express dependencies of the Mac machines with kconfig
Posted by Paolo Bonzini 6 years, 9 months ago
On 30/01/19 10:43, Thomas Huth wrote:
> This will make it for example easier if the users want to disable
> one of the two machines for their builds.
> 
> Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
> Signed-off-by: Thomas Huth <thuth@redhat.com>

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>

> ---
>  default-configs/ppc-softmmu.mak | 15 ---------------
>  hw/misc/Kconfig                 |  8 ++++++++
>  hw/net/Kconfig                  |  2 ++
>  hw/pci-host/Kconfig             |  4 +++-
>  hw/ppc/Kconfig                  |  7 +++++++
>  5 files changed, 20 insertions(+), 16 deletions(-)
> 
> diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak
> index 422f1b7..513a8e9 100644
> --- a/default-configs/ppc-softmmu.mak
> +++ b/default-configs/ppc-softmmu.mak
> @@ -37,21 +37,6 @@ CONFIG_VGA_CIRRUS=y
>  CONFIG_SMBUS_EEPROM=y
>  
>  # For Macs
> -CONFIG_ESCC=y
> -CONFIG_MACIO=y
> -CONFIG_MACIO_GPIO=y
> -CONFIG_SUNGEM=y
> -CONFIG_MOS6522=y
> -CONFIG_CUDA=y
> -CONFIG_ADB=y
> -CONFIG_MAC_NVRAM=y
> -CONFIG_MAC_DBDMA=y
> -CONFIG_MAC_PMU=y
> -CONFIG_HEATHROW_PIC=y
> -CONFIG_GRACKLE_PCI=y
> -CONFIG_UNIN_PCI=y
> -CONFIG_DEC_PCI=y
> -CONFIG_IDE_MACIO=y
>  CONFIG_MAC_OLDWORLD=y
>  CONFIG_MAC_NEWWORLD=y
>  
> diff --git a/hw/misc/Kconfig b/hw/misc/Kconfig
> index 3ebe30f..f392502 100644
> --- a/hw/misc/Kconfig
> +++ b/hw/misc/Kconfig
> @@ -59,6 +59,14 @@ config MOS6522
>  
>  config MACIO
>      bool
> +    select CUDA
> +    select ESCC
> +    select IDE_MACIO
> +    select MACIO_GPIO
> +    select MAC_DBDMA
> +    select MAC_NVRAM
> +    select MAC_PMU
> +    select MOS6522
>  
>  config IVSHMEM_DEVICE
>      bool
> diff --git a/hw/net/Kconfig b/hw/net/Kconfig
> index 47368d7..9047f6d 100644
> --- a/hw/net/Kconfig
> +++ b/hw/net/Kconfig
> @@ -85,6 +85,8 @@ config FTGMAC100
>  
>  config SUNGEM
>      bool
> +    default y if (MAC_OLDWORLD || MAC_NEWWORLD)
> +    depends on PCI
>  
>  config COLDFIRE
>      bool
> diff --git a/hw/pci-host/Kconfig b/hw/pci-host/Kconfig
> index ff4080c..b39ea29 100644
> --- a/hw/pci-host/Kconfig
> +++ b/hw/pci-host/Kconfig
> @@ -10,8 +10,10 @@ config GRACKLE_PCI
>      bool
>  
>  config UNIN_PCI
> -    select PCI
>      bool
> +    select PCI
> +    select DEC_PCI
> +    select OPENPIC
>  
>  config PPCE500_PCI
>      select PCI
> diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
> index 809830e..f6b4206 100644
> --- a/hw/ppc/Kconfig
> +++ b/hw/ppc/Kconfig
> @@ -44,9 +44,16 @@ config RS6000_MC
>  
>  config MAC_OLDWORLD
>      bool
> +    select ADB
> +    select GRACKLE_PCI
> +    select HEATHROW_PIC
> +    select MACIO
>  
>  config MAC_NEWWORLD
>      bool
> +    select ADB
> +    select MACIO
> +    select UNIN_PCI
>  
>  config E500
>      bool
> 


Re: [Qemu-devel] [RFC PATCH 3/5] ppc: Express dependencies of the Mac machines with kconfig
Posted by Mark Cave-Ayland 6 years, 9 months ago
On 30/01/2019 09:43, Thomas Huth wrote:

> This will make it for example easier if the users want to disable
> one of the two machines for their builds.
> 
> Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  default-configs/ppc-softmmu.mak | 15 ---------------
>  hw/misc/Kconfig                 |  8 ++++++++
>  hw/net/Kconfig                  |  2 ++
>  hw/pci-host/Kconfig             |  4 +++-
>  hw/ppc/Kconfig                  |  7 +++++++
>  5 files changed, 20 insertions(+), 16 deletions(-)
> 
> diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak
> index 422f1b7..513a8e9 100644
> --- a/default-configs/ppc-softmmu.mak
> +++ b/default-configs/ppc-softmmu.mak
> @@ -37,21 +37,6 @@ CONFIG_VGA_CIRRUS=y
>  CONFIG_SMBUS_EEPROM=y
>  
>  # For Macs
> -CONFIG_ESCC=y
> -CONFIG_MACIO=y
> -CONFIG_MACIO_GPIO=y
> -CONFIG_SUNGEM=y
> -CONFIG_MOS6522=y
> -CONFIG_CUDA=y
> -CONFIG_ADB=y
> -CONFIG_MAC_NVRAM=y
> -CONFIG_MAC_DBDMA=y
> -CONFIG_MAC_PMU=y
> -CONFIG_HEATHROW_PIC=y
> -CONFIG_GRACKLE_PCI=y
> -CONFIG_UNIN_PCI=y
> -CONFIG_DEC_PCI=y
> -CONFIG_IDE_MACIO=y
>  CONFIG_MAC_OLDWORLD=y
>  CONFIG_MAC_NEWWORLD=y
>  
> diff --git a/hw/misc/Kconfig b/hw/misc/Kconfig
> index 3ebe30f..f392502 100644
> --- a/hw/misc/Kconfig
> +++ b/hw/misc/Kconfig
> @@ -59,6 +59,14 @@ config MOS6522
>  
>  config MACIO
>      bool
> +    select CUDA
> +    select ESCC
> +    select IDE_MACIO
> +    select MACIO_GPIO
> +    select MAC_DBDMA
> +    select MAC_NVRAM
> +    select MAC_PMU
> +    select MOS6522

Technically MACIO_GPIO and MAC_PMU are MAC_NEWWORLD only, so we might want to split
this down further?

>  config IVSHMEM_DEVICE
>      bool
> diff --git a/hw/net/Kconfig b/hw/net/Kconfig
> index 47368d7..9047f6d 100644
> --- a/hw/net/Kconfig
> +++ b/hw/net/Kconfig
> @@ -85,6 +85,8 @@ config FTGMAC100
>  
>  config SUNGEM
>      bool
> +    default y if (MAC_OLDWORLD || MAC_NEWWORLD)
> +    depends on PCI
>  
>  config COLDFIRE
>      bool
> diff --git a/hw/pci-host/Kconfig b/hw/pci-host/Kconfig
> index ff4080c..b39ea29 100644
> --- a/hw/pci-host/Kconfig
> +++ b/hw/pci-host/Kconfig
> @@ -10,8 +10,10 @@ config GRACKLE_PCI
>      bool
>  
>  config UNIN_PCI
> -    select PCI
>      bool
> +    select PCI
> +    select DEC_PCI
> +    select OPENPIC
>  
>  config PPCE500_PCI
>      select PCI
> diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
> index 809830e..f6b4206 100644
> --- a/hw/ppc/Kconfig
> +++ b/hw/ppc/Kconfig
> @@ -44,9 +44,16 @@ config RS6000_MC
>  
>  config MAC_OLDWORLD
>      bool
> +    select ADB
> +    select GRACKLE_PCI
> +    select HEATHROW_PIC
> +    select MACIO
>  
>  config MAC_NEWWORLD
>      bool
> +    select ADB
> +    select MACIO
> +    select UNIN_PCI

Also MAC_NEWWORLD has an in-built USB PCI bridge (OHCI) which populates with a USB
keyboard/mouse rather than ADB when using -M mac99,via=pmu, but I presume USB is
handled elsewhere?

>  config E500
>      bool
> 


ATB,

Mark.

Re: [Qemu-devel] [RFC PATCH 3/5] ppc: Express dependencies of the Mac machines with kconfig
Posted by Paolo Bonzini 6 years, 9 months ago
On 30/01/19 18:13, Mark Cave-Ayland wrote:
>>  config MAC_NEWWORLD
>>      bool
>> +    select ADB
>> +    select MACIO
>> +    select UNIN_PCI
> Also MAC_NEWWORLD has an in-built USB PCI bridge (OHCI) which populates with a USB
> keyboard/mouse rather than ADB when using -M mac99,via=pmu, but I presume USB is
> handled elsewhere?

I guess in that case it's optional, and it is enabled already by
CONFIG_PCI_DEVICES.

But maybe it's a good idea to mark OHCI as "default y on PCI_DEVICES ||
MAC_NEWWORLD" just to document things better.

Paolo

Re: [Qemu-devel] [RFC PATCH 3/5] ppc: Express dependencies of the Mac machines with kconfig
Posted by Thomas Huth 6 years, 9 months ago
On 2019-01-30 18:13, Mark Cave-Ayland wrote:
> On 30/01/2019 09:43, Thomas Huth wrote:
> 
>> This will make it for example easier if the users want to disable
>> one of the two machines for their builds.
>>
>> Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
[...]
>> diff --git a/hw/misc/Kconfig b/hw/misc/Kconfig
>> index 3ebe30f..f392502 100644
>> --- a/hw/misc/Kconfig
>> +++ b/hw/misc/Kconfig
>> @@ -59,6 +59,14 @@ config MOS6522
>>  
>>  config MACIO
>>      bool
>> +    select CUDA
>> +    select ESCC
>> +    select IDE_MACIO
>> +    select MACIO_GPIO
>> +    select MAC_DBDMA
>> +    select MAC_NVRAM
>> +    select MAC_PMU
>> +    select MOS6522
> 
> Technically MACIO_GPIO and MAC_PMU are MAC_NEWWORLD only, so we might want to split
> this down further?

I can also change the lines into:

    select MACIO_GPIO if MAC_NEWWORLD
    select MAC_PMU if MAC_NEWWORLD

>> diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
>> index 809830e..f6b4206 100644
>> --- a/hw/ppc/Kconfig
>> +++ b/hw/ppc/Kconfig
>> @@ -44,9 +44,16 @@ config RS6000_MC
>>  
>>  config MAC_OLDWORLD
>>      bool
>> +    select ADB
>> +    select GRACKLE_PCI
>> +    select HEATHROW_PIC
>> +    select MACIO
>>  
>>  config MAC_NEWWORLD
>>      bool
>> +    select ADB
>> +    select MACIO
>> +    select UNIN_PCI
> 
> Also MAC_NEWWORLD has an in-built USB PCI bridge (OHCI) which populates with a USB
> keyboard/mouse rather than ADB when using -M mac99,via=pmu, but I presume USB is
> handled elsewhere?

Yes, in hw/usb/Kconfig we have:

config USB_OHCI
    bool
    default y if PCI_DEVICES
    depends on PCI
    select USB

 Thomas