All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/5] Add more CONFIG switches to make the build more modular
@ 2018-10-19 13:14 Thomas Huth
  2018-10-19 13:14 ` [Qemu-devel] [PATCH 1/5] configs: Add a CONFIG_OR_IRQ switch for the or-irq device Thomas Huth
                   ` (4 more replies)
  0 siblings, 5 replies; 20+ messages in thread
From: Thomas Huth @ 2018-10-19 13:14 UTC (permalink / raw)
  To: qemu-devel, Peter Maydell
  Cc: qemu-arm, Edgar E. Iglesias, Richard Henderson, Alistair Francis,
	qemu-ppc, Philippe Mathieu-Daudé

We've got many devices that can not be created directly by the user
and which are only used on some few target architectures. When the
user does not compile the corresponding qemu-softmmu-xxx target, we
should also not compile these devices. Add some CONFIG switches to
make our build system a little bit more flexible here.

Thomas Huth (5):
  configs: Add a CONFIG_OR_IRQ switch for the or-irq device
  configs: Add a CONFIG_SPLIT_IRQ switch for the split-irq device
  configs: Add a CONFIG_REGISTER switch for the "register" device
  configs: Add a CONFIG_UNIMP switch for the "unimplemented-device"
  configs: Add a CONFIG_SMC37C669 switch for the "smc37c669-superio"
    device

 default-configs/alpha-softmmu.mak      | 1 +
 default-configs/arm-softmmu.mak        | 4 ++++
 default-configs/microblaze-softmmu.mak | 1 +
 default-configs/ppc-softmmu.mak        | 1 +
 hw/core/Makefile.objs                  | 6 +++---
 hw/isa/Makefile.objs                   | 3 ++-
 hw/misc/Makefile.objs                  | 2 +-
 7 files changed, 13 insertions(+), 5 deletions(-)

-- 
1.8.3.1

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PATCH 1/5] configs: Add a CONFIG_OR_IRQ switch for the or-irq device
  2018-10-19 13:14 [Qemu-devel] [PATCH 0/5] Add more CONFIG switches to make the build more modular Thomas Huth
@ 2018-10-19 13:14 ` Thomas Huth
  2018-10-19 13:58   ` Peter Maydell
  2018-10-19 13:14 ` [Qemu-devel] [PATCH 2/5] configs: Add a CONFIG_SPLIT_IRQ switch for the split-irq device Thomas Huth
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 20+ messages in thread
From: Thomas Huth @ 2018-10-19 13:14 UTC (permalink / raw)
  To: qemu-devel, Peter Maydell
  Cc: qemu-arm, Edgar E. Iglesias, Richard Henderson, Alistair Francis,
	qemu-ppc, Philippe Mathieu-Daudé

If the user only wants to compile targets that do not require the
"or-irq" device, we should also not compile or-irq.c. Add a proper
CONFIG_OR_IRQ switch to be able to choose this more flexibly.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 default-configs/arm-softmmu.mak | 1 +
 default-configs/ppc-softmmu.mak | 1 +
 hw/core/Makefile.objs           | 2 +-
 3 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
index 2420491..dc6a581 100644
--- a/default-configs/arm-softmmu.mak
+++ b/default-configs/arm-softmmu.mak
@@ -4,6 +4,7 @@ include pci.mak
 include usb.mak
 CONFIG_VGA=y
 CONFIG_NAND=y
+CONFIG_OR_IRQ=y
 CONFIG_ECC=y
 CONFIG_SERIAL=y
 CONFIG_SERIAL_ISA=y
diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak
index 3181bbf..83235af 100644
--- a/default-configs/ppc-softmmu.mak
+++ b/default-configs/ppc-softmmu.mak
@@ -68,3 +68,4 @@ CONFIG_PC87312=y
 CONFIG_PCSPK=y
 CONFIG_IDE_ISA=y
 CONFIG_CS4231A=y
+CONFIG_OR_IRQ=y
diff --git a/hw/core/Makefile.objs b/hw/core/Makefile.objs
index b736ce2..29b5cfd 100644
--- a/hw/core/Makefile.objs
+++ b/hw/core/Makefile.objs
@@ -17,7 +17,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_SOFTMMU) += 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
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PATCH 2/5] configs: Add a CONFIG_SPLIT_IRQ switch for the split-irq device
  2018-10-19 13:14 [Qemu-devel] [PATCH 0/5] Add more CONFIG switches to make the build more modular Thomas Huth
  2018-10-19 13:14 ` [Qemu-devel] [PATCH 1/5] configs: Add a CONFIG_OR_IRQ switch for the or-irq device Thomas Huth
@ 2018-10-19 13:14 ` Thomas Huth
  2018-10-19 14:44   ` Peter Maydell
  2018-10-19 13:14 ` [Qemu-devel] [PATCH 3/5] configs: Add a CONFIG_REGISTER switch for the "register" device Thomas Huth
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 20+ messages in thread
From: Thomas Huth @ 2018-10-19 13:14 UTC (permalink / raw)
  To: qemu-devel, Peter Maydell
  Cc: qemu-arm, Edgar E. Iglesias, Richard Henderson, Alistair Francis,
	qemu-ppc, Philippe Mathieu-Daudé

If the user only wants to compile targets that do not require the
"split-irq" device, we should also not compile split-irq.c. Add a proper
CONFIG_SPLIT_IRQ switch to be able to choose this more flexibly.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 default-configs/arm-softmmu.mak | 1 +
 hw/core/Makefile.objs           | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
index dc6a581..a3a3b66 100644
--- a/default-configs/arm-softmmu.mak
+++ b/default-configs/arm-softmmu.mak
@@ -5,6 +5,7 @@ include usb.mak
 CONFIG_VGA=y
 CONFIG_NAND=y
 CONFIG_OR_IRQ=y
+CONFIG_SPLIT_IRQ=y
 CONFIG_ECC=y
 CONFIG_SERIAL=y
 CONFIG_SERIAL_ISA=y
diff --git a/hw/core/Makefile.objs b/hw/core/Makefile.objs
index 29b5cfd..cafbe01 100644
--- a/hw/core/Makefile.objs
+++ b/hw/core/Makefile.objs
@@ -18,7 +18,7 @@ common-obj-$(CONFIG_FITLOADER) += loader-fit.o
 common-obj-$(CONFIG_SOFTMMU) += qdev-properties-system.o
 common-obj-$(CONFIG_SOFTMMU) += 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
 
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PATCH 3/5] configs: Add a CONFIG_REGISTER switch for the "register" device
  2018-10-19 13:14 [Qemu-devel] [PATCH 0/5] Add more CONFIG switches to make the build more modular Thomas Huth
  2018-10-19 13:14 ` [Qemu-devel] [PATCH 1/5] configs: Add a CONFIG_OR_IRQ switch for the or-irq device Thomas Huth
  2018-10-19 13:14 ` [Qemu-devel] [PATCH 2/5] configs: Add a CONFIG_SPLIT_IRQ switch for the split-irq device Thomas Huth
@ 2018-10-19 13:14 ` Thomas Huth
  2018-10-19 14:44   ` Peter Maydell
  2018-10-19 13:14 ` [Qemu-devel] [PATCH 4/5] configs: Add a CONFIG_UNIMP switch for the "unimplemented-device" Thomas Huth
  2018-10-19 13:14 ` [Qemu-devel] [PATCH 5/5] configs: Add a CONFIG_SMC37C669 switch for the "smc37c669-superio" device Thomas Huth
  4 siblings, 1 reply; 20+ messages in thread
From: Thomas Huth @ 2018-10-19 13:14 UTC (permalink / raw)
  To: qemu-devel, Peter Maydell
  Cc: qemu-arm, Edgar E. Iglesias, Richard Henderson, Alistair Francis,
	qemu-ppc, Philippe Mathieu-Daudé

If the user only wants to compile targets that do not require the
"register" device, we should also not compile register.c. Add a proper
CONFIG_REGISTER switch to be able to choose this more flexibly.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 default-configs/arm-softmmu.mak        | 1 +
 default-configs/microblaze-softmmu.mak | 1 +
 hw/core/Makefile.objs                  | 2 +-
 3 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
index a3a3b66..6f2ffc1 100644
--- a/default-configs/arm-softmmu.mak
+++ b/default-configs/arm-softmmu.mak
@@ -6,6 +6,7 @@ CONFIG_VGA=y
 CONFIG_NAND=y
 CONFIG_OR_IRQ=y
 CONFIG_SPLIT_IRQ=y
+CONFIG_REGISTER=y
 CONFIG_ECC=y
 CONFIG_SERIAL=y
 CONFIG_SERIAL_ISA=y
diff --git a/default-configs/microblaze-softmmu.mak b/default-configs/microblaze-softmmu.mak
index 7fca8e4..b5c5659 100644
--- a/default-configs/microblaze-softmmu.mak
+++ b/default-configs/microblaze-softmmu.mak
@@ -10,3 +10,4 @@ CONFIG_XILINX_ETHLITE=y
 CONFIG_SSI=y
 CONFIG_SSI_M25P80=y
 CONFIG_XLNX_ZYNQMP=y
+CONFIG_REGISTER=y
diff --git a/hw/core/Makefile.objs b/hw/core/Makefile.objs
index cafbe01..cb7c149 100644
--- a/hw/core/Makefile.objs
+++ b/hw/core/Makefile.objs
@@ -16,7 +16,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_OR_IRQ) += or-irq.o
 common-obj-$(CONFIG_SPLIT_IRQ) += split-irq.o
 common-obj-$(CONFIG_PLATFORM_BUS) += platform-bus.o
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PATCH 4/5] configs: Add a CONFIG_UNIMP switch for the "unimplemented-device"
  2018-10-19 13:14 [Qemu-devel] [PATCH 0/5] Add more CONFIG switches to make the build more modular Thomas Huth
                   ` (2 preceding siblings ...)
  2018-10-19 13:14 ` [Qemu-devel] [PATCH 3/5] configs: Add a CONFIG_REGISTER switch for the "register" device Thomas Huth
@ 2018-10-19 13:14 ` Thomas Huth
  2018-10-19 13:57   ` Peter Maydell
  2018-10-19 13:14 ` [Qemu-devel] [PATCH 5/5] configs: Add a CONFIG_SMC37C669 switch for the "smc37c669-superio" device Thomas Huth
  4 siblings, 1 reply; 20+ messages in thread
From: Thomas Huth @ 2018-10-19 13:14 UTC (permalink / raw)
  To: qemu-devel, Peter Maydell
  Cc: qemu-arm, Edgar E. Iglesias, Richard Henderson, Alistair Francis,
	qemu-ppc, Philippe Mathieu-Daudé

The "unimplemented-device" is currently only used for one arm board.
Let's add a CONFIG switch to make sure that we only compile it when
it is really necessary.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 default-configs/arm-softmmu.mak | 1 +
 hw/misc/Makefile.objs           | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
index 6f2ffc1..dc9730f 100644
--- a/default-configs/arm-softmmu.mak
+++ b/default-configs/arm-softmmu.mak
@@ -7,6 +7,7 @@ CONFIG_NAND=y
 CONFIG_OR_IRQ=y
 CONFIG_SPLIT_IRQ=y
 CONFIG_REGISTER=y
+CONFIG_UNIMP=y
 CONFIG_ECC=y
 CONFIG_SERIAL=y
 CONFIG_SERIAL_ISA=y
diff --git a/hw/misc/Makefile.objs b/hw/misc/Makefile.objs
index 6d50b03..c604859 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
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PATCH 5/5] configs: Add a CONFIG_SMC37C669 switch for the "smc37c669-superio" device
  2018-10-19 13:14 [Qemu-devel] [PATCH 0/5] Add more CONFIG switches to make the build more modular Thomas Huth
                   ` (3 preceding siblings ...)
  2018-10-19 13:14 ` [Qemu-devel] [PATCH 4/5] configs: Add a CONFIG_UNIMP switch for the "unimplemented-device" Thomas Huth
@ 2018-10-19 13:14 ` Thomas Huth
  2018-10-19 14:46   ` Peter Maydell
  4 siblings, 1 reply; 20+ messages in thread
From: Thomas Huth @ 2018-10-19 13:14 UTC (permalink / raw)
  To: qemu-devel, Peter Maydell
  Cc: qemu-arm, Edgar E. Iglesias, Richard Henderson, Alistair Francis,
	qemu-ppc, Philippe Mathieu-Daudé

This device is not user-creatable and currently only used for the
"alpha" target. So if the user does not want to compile alpha-softmmu,
we should also not compile this device. Add a proper config switch to
be able to compile this more flexibly.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 default-configs/alpha-softmmu.mak | 1 +
 hw/isa/Makefile.objs              | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/default-configs/alpha-softmmu.mak b/default-configs/alpha-softmmu.mak
index bbe361f..eb58b40 100644
--- a/default-configs/alpha-softmmu.mak
+++ b/default-configs/alpha-softmmu.mak
@@ -19,3 +19,4 @@ CONFIG_IDE_CMD646=y
 CONFIG_I8259=y
 CONFIG_MC146818RTC=y
 CONFIG_ISA_TESTDEV=y
+CONFIG_SMC37C669=y
diff --git a/hw/isa/Makefile.objs b/hw/isa/Makefile.objs
index 83e06f6..9e106df 100644
--- a/hw/isa/Makefile.objs
+++ b/hw/isa/Makefile.objs
@@ -1,9 +1,10 @@
 common-obj-$(CONFIG_ISA_BUS) += isa-bus.o
-common-obj-$(CONFIG_ISA_BUS) += isa-superio.o smc37c669-superio.o
+common-obj-$(CONFIG_ISA_BUS) += isa-superio.o
 common-obj-$(CONFIG_APM) += apm.o
 common-obj-$(CONFIG_I82378) += i82378.o
 common-obj-$(CONFIG_PC87312) += pc87312.o
 common-obj-$(CONFIG_PIIX4) += piix4.o
 common-obj-$(CONFIG_VT82C686) += vt82c686.o
+common-obj-$(CONFIG_SMC37C669) += smc37c669-superio.o
 
 obj-$(CONFIG_LPC_ICH9) += lpc_ich9.o
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH 4/5] configs: Add a CONFIG_UNIMP switch for the "unimplemented-device"
  2018-10-19 13:14 ` [Qemu-devel] [PATCH 4/5] configs: Add a CONFIG_UNIMP switch for the "unimplemented-device" Thomas Huth
@ 2018-10-19 13:57   ` Peter Maydell
  2018-10-19 14:40     ` Thomas Huth
  0 siblings, 1 reply; 20+ messages in thread
From: Peter Maydell @ 2018-10-19 13:57 UTC (permalink / raw)
  To: Thomas Huth
  Cc: QEMU Developers, qemu-arm, Edgar E. Iglesias, Richard Henderson,
	Alistair Francis, qemu-ppc, Philippe Mathieu-Daudé

On 19 October 2018 at 14:14, Thomas Huth <thuth@redhat.com> wrote:
> The "unimplemented-device" is currently only used for one arm board.

? It's used in all the MPS boards, several of the imx SoCs,
the nrf51 SoC used by the microbit, and by the stellaris boards.

> Let's add a CONFIG switch to make sure that we only compile it when
> it is really necessary.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  default-configs/arm-softmmu.mak | 1 +
>  hw/misc/Makefile.objs           | 2 +-
>  2 files changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
> index 6f2ffc1..dc9730f 100644
> --- a/default-configs/arm-softmmu.mak
> +++ b/default-configs/arm-softmmu.mak
> @@ -7,6 +7,7 @@ CONFIG_NAND=y
>  CONFIG_OR_IRQ=y
>  CONFIG_SPLIT_IRQ=y
>  CONFIG_REGISTER=y
> +CONFIG_UNIMP=y
>  CONFIG_ECC=y
>  CONFIG_SERIAL=y
>  CONFIG_SERIAL_ISA=y

This seems awkward to me. The 'unimplemented' device is supposed
to be an entirely generic thing usable in any board model.
If we only turn it on in the arm-softmmu.mak then it means
faffing around with the default-configs/ whenever it gets
used in a different architecture.

In particular, there's a pull request on the list that uses
it in a sparc board, so this patch will break compile on sparc
once that pullreq lands.

thanks
-- PMM

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH 1/5] configs: Add a CONFIG_OR_IRQ switch for the or-irq device
  2018-10-19 13:14 ` [Qemu-devel] [PATCH 1/5] configs: Add a CONFIG_OR_IRQ switch for the or-irq device Thomas Huth
@ 2018-10-19 13:58   ` Peter Maydell
  0 siblings, 0 replies; 20+ messages in thread
From: Peter Maydell @ 2018-10-19 13:58 UTC (permalink / raw)
  To: Thomas Huth
  Cc: QEMU Developers, qemu-arm, Edgar E. Iglesias, Richard Henderson,
	Alistair Francis, qemu-ppc, Philippe Mathieu-Daudé

On 19 October 2018 at 14:14, Thomas Huth <thuth@redhat.com> wrote:
> If the user only wants to compile targets that do not require the
> "or-irq" device, we should also not compile or-irq.c. Add a proper
> CONFIG_OR_IRQ switch to be able to choose this more flexibly.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  default-configs/arm-softmmu.mak | 1 +
>  default-configs/ppc-softmmu.mak | 1 +
>  hw/core/Makefile.objs           | 2 +-
>  3 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
> index 2420491..dc6a581 100644
> --- a/default-configs/arm-softmmu.mak
> +++ b/default-configs/arm-softmmu.mak
> @@ -4,6 +4,7 @@ include pci.mak
>  include usb.mak
>  CONFIG_VGA=y
>  CONFIG_NAND=y
> +CONFIG_OR_IRQ=y
>  CONFIG_ECC=y
>  CONFIG_SERIAL=y
>  CONFIG_SERIAL_ISA=y
> diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak
> index 3181bbf..83235af 100644
> --- a/default-configs/ppc-softmmu.mak
> +++ b/default-configs/ppc-softmmu.mak
> @@ -68,3 +68,4 @@ CONFIG_PC87312=y
>  CONFIG_PCSPK=y
>  CONFIG_IDE_ISA=y
>  CONFIG_CS4231A=y
> +CONFIG_OR_IRQ=y

Again, this is generic. We shouldn't need to mess with default-configs
files if we use it in some other architecture.

thanks
-- PMM

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH 4/5] configs: Add a CONFIG_UNIMP switch for the "unimplemented-device"
  2018-10-19 13:57   ` Peter Maydell
@ 2018-10-19 14:40     ` Thomas Huth
  2018-10-19 14:43       ` Peter Maydell
  2018-10-19 16:25       ` Philippe Mathieu-Daudé
  0 siblings, 2 replies; 20+ messages in thread
From: Thomas Huth @ 2018-10-19 14:40 UTC (permalink / raw)
  To: Peter Maydell
  Cc: QEMU Developers, qemu-arm, Edgar E. Iglesias, Richard Henderson,
	Alistair Francis, qemu-ppc, Philippe Mathieu-Daudé,
	Paolo Bonzini

On 2018-10-19 15:57, Peter Maydell wrote:
> On 19 October 2018 at 14:14, Thomas Huth <thuth@redhat.com> wrote:
>> The "unimplemented-device" is currently only used for one arm board.
> 
> ? It's used in all the MPS boards, several of the imx SoCs,
> the nrf51 SoC used by the microbit, and by the stellaris boards.
> 
>> Let's add a CONFIG switch to make sure that we only compile it when
>> it is really necessary.
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>>  default-configs/arm-softmmu.mak | 1 +
>>  hw/misc/Makefile.objs           | 2 +-
>>  2 files changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
>> index 6f2ffc1..dc9730f 100644
>> --- a/default-configs/arm-softmmu.mak
>> +++ b/default-configs/arm-softmmu.mak
>> @@ -7,6 +7,7 @@ CONFIG_NAND=y
>>  CONFIG_OR_IRQ=y
>>  CONFIG_SPLIT_IRQ=y
>>  CONFIG_REGISTER=y
>> +CONFIG_UNIMP=y
>>  CONFIG_ECC=y
>>  CONFIG_SERIAL=y
>>  CONFIG_SERIAL_ISA=y
> 
> This seems awkward to me. The 'unimplemented' device is supposed
> to be an entirely generic thing usable in any board model.
> If we only turn it on in the arm-softmmu.mak then it means
> faffing around with the default-configs/ whenever it gets
> used in a different architecture.

The device has been added 1.5 years ago, and so far no other target is
using it yet. So it's very seldom that you've got to expect any changes,
I think.

Anyway, it's also not only about speeding up the compilation process for
people who don't want to use the corresponding targets, this is also
very useful for downstream distributions of QEMU who want to make sure
to not compile-in more devices than urgently needed. For example we
disable this device here and the others in downstream RHEL version of
QEMU, and I guess it might be interesting for nemu, too. So having more
flexibility here in the Makefiles would be really great to decrease the
burden with downstream-specific patches...

> In particular, there's a pull request on the list that uses
> it in a sparc board, so this patch will break compile on sparc
> once that pullreq lands.

Ok, then please disregard this patch here, but it would be great if you
could still consider the other patches of this series.

 Thomas

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH 4/5] configs: Add a CONFIG_UNIMP switch for the "unimplemented-device"
  2018-10-19 14:40     ` Thomas Huth
@ 2018-10-19 14:43       ` Peter Maydell
  2018-10-19 15:59         ` Paolo Bonzini
  2018-10-19 16:25       ` Philippe Mathieu-Daudé
  1 sibling, 1 reply; 20+ messages in thread
From: Peter Maydell @ 2018-10-19 14:43 UTC (permalink / raw)
  To: Thomas Huth
  Cc: QEMU Developers, qemu-arm, Edgar E. Iglesias, Richard Henderson,
	Alistair Francis, qemu-ppc, Philippe Mathieu-Daudé,
	Paolo Bonzini

On 19 October 2018 at 15:40, Thomas Huth <thuth@redhat.com> wrote:
> Anyway, it's also not only about speeding up the compilation process for
> people who don't want to use the corresponding targets, this is also
> very useful for downstream distributions of QEMU who want to make sure
> to not compile-in more devices than urgently needed. For example we
> disable this device here and the others in downstream RHEL version of
> QEMU, and I guess it might be interesting for nemu, too. So having more
> flexibility here in the Makefiles would be really great to decrease the
> burden with downstream-specific patches...

I think if we want to support this for downstreams we need
to look at something better than the default-configs/
mechanism for it. (Perhaps the kconfig-alike Paolo mentioned
in a previous thread?)

My dividing line for "should something go in a specific
architecture's default-configs/ list" is "is this an SoC
or real piece of hardware that is naturally limited to
one or a few SoCs".

thanks
-- PMM

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH 2/5] configs: Add a CONFIG_SPLIT_IRQ switch for the split-irq device
  2018-10-19 13:14 ` [Qemu-devel] [PATCH 2/5] configs: Add a CONFIG_SPLIT_IRQ switch for the split-irq device Thomas Huth
@ 2018-10-19 14:44   ` Peter Maydell
  0 siblings, 0 replies; 20+ messages in thread
From: Peter Maydell @ 2018-10-19 14:44 UTC (permalink / raw)
  To: Thomas Huth
  Cc: QEMU Developers, qemu-arm, Edgar E. Iglesias, Richard Henderson,
	Alistair Francis, qemu-ppc, Philippe Mathieu-Daudé

On 19 October 2018 at 14:14, Thomas Huth <thuth@redhat.com> wrote:
> If the user only wants to compile targets that do not require the
> "split-irq" device, we should also not compile split-irq.c. Add a proper
> CONFIG_SPLIT_IRQ switch to be able to choose this more flexibly.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  default-configs/arm-softmmu.mak | 1 +
>  hw/core/Makefile.objs           | 2 +-
>  2 files changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
> index dc6a581..a3a3b66 100644
> --- a/default-configs/arm-softmmu.mak
> +++ b/default-configs/arm-softmmu.mak
> @@ -5,6 +5,7 @@ include usb.mak
>  CONFIG_VGA=y
>  CONFIG_NAND=y
>  CONFIG_OR_IRQ=y
> +CONFIG_SPLIT_IRQ=y
>  CONFIG_ECC=y
>  CONFIG_SERIAL=y
>  CONFIG_SERIAL_ISA=y

Generic device, not arm-specific.

thanks
-- PMM

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH 3/5] configs: Add a CONFIG_REGISTER switch for the "register" device
  2018-10-19 13:14 ` [Qemu-devel] [PATCH 3/5] configs: Add a CONFIG_REGISTER switch for the "register" device Thomas Huth
@ 2018-10-19 14:44   ` Peter Maydell
  0 siblings, 0 replies; 20+ messages in thread
From: Peter Maydell @ 2018-10-19 14:44 UTC (permalink / raw)
  To: Thomas Huth
  Cc: QEMU Developers, qemu-arm, Edgar E. Iglesias, Richard Henderson,
	Alistair Francis, qemu-ppc, Philippe Mathieu-Daudé

On 19 October 2018 at 14:14, Thomas Huth <thuth@redhat.com> wrote:
> If the user only wants to compile targets that do not require the
> "register" device, we should also not compile register.c. Add a proper
> CONFIG_REGISTER switch to be able to choose this more flexibly.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  default-configs/arm-softmmu.mak        | 1 +
>  default-configs/microblaze-softmmu.mak | 1 +
>  hw/core/Makefile.objs                  | 2 +-
>  3 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
> index a3a3b66..6f2ffc1 100644
> --- a/default-configs/arm-softmmu.mak
> +++ b/default-configs/arm-softmmu.mak
> @@ -6,6 +6,7 @@ CONFIG_VGA=y
>  CONFIG_NAND=y
>  CONFIG_OR_IRQ=y
>  CONFIG_SPLIT_IRQ=y
> +CONFIG_REGISTER=y
>  CONFIG_ECC=y
>  CONFIG_SERIAL=y
>  CONFIG_SERIAL_ISA=y
> diff --git a/default-configs/microblaze-softmmu.mak b/default-configs/microblaze-softmmu.mak
> index 7fca8e4..b5c5659 100644
> --- a/default-configs/microblaze-softmmu.mak
> +++ b/default-configs/microblaze-softmmu.mak
> @@ -10,3 +10,4 @@ CONFIG_XILINX_ETHLITE=y
>  CONFIG_SSI=y
>  CONFIG_SSI_M25P80=y
>  CONFIG_XLNX_ZYNQMP=y
> +CONFIG_REGISTER=y
> diff --git a/hw/core/Makefile.objs b/hw/core/Makefile.objs
> index cafbe01..cb7c149 100644
> --- a/hw/core/Makefile.objs
> +++ b/hw/core/Makefile.objs
> @@ -16,7 +16,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_OR_IRQ) += or-irq.o
>  common-obj-$(CONFIG_SPLIT_IRQ) += split-irq.o
>  common-obj-$(CONFIG_PLATFORM_BUS) += platform-bus.o

Another generic facility.

thanks
-- PMM

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH 5/5] configs: Add a CONFIG_SMC37C669 switch for the "smc37c669-superio" device
  2018-10-19 13:14 ` [Qemu-devel] [PATCH 5/5] configs: Add a CONFIG_SMC37C669 switch for the "smc37c669-superio" device Thomas Huth
@ 2018-10-19 14:46   ` Peter Maydell
  2018-10-19 16:35     ` Philippe Mathieu-Daudé
  0 siblings, 1 reply; 20+ messages in thread
From: Peter Maydell @ 2018-10-19 14:46 UTC (permalink / raw)
  To: Thomas Huth
  Cc: QEMU Developers, qemu-arm, Edgar E. Iglesias, Richard Henderson,
	Alistair Francis, qemu-ppc, Philippe Mathieu-Daudé

On 19 October 2018 at 14:14, Thomas Huth <thuth@redhat.com> wrote:
> This device is not user-creatable and currently only used for the
> "alpha" target. So if the user does not want to compile alpha-softmmu,
> we should also not compile this device. Add a proper config switch to
> be able to compile this more flexibly.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  default-configs/alpha-softmmu.mak | 1 +
>  hw/isa/Makefile.objs              | 3 ++-
>  2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/default-configs/alpha-softmmu.mak b/default-configs/alpha-softmmu.mak
> index bbe361f..eb58b40 100644
> --- a/default-configs/alpha-softmmu.mak
> +++ b/default-configs/alpha-softmmu.mak
> @@ -19,3 +19,4 @@ CONFIG_IDE_CMD646=y
>  CONFIG_I8259=y
>  CONFIG_MC146818RTC=y
>  CONFIG_ISA_TESTDEV=y
> +CONFIG_SMC37C669=y
> diff --git a/hw/isa/Makefile.objs b/hw/isa/Makefile.objs
> index 83e06f6..9e106df 100644
> --- a/hw/isa/Makefile.objs
> +++ b/hw/isa/Makefile.objs
> @@ -1,9 +1,10 @@
>  common-obj-$(CONFIG_ISA_BUS) += isa-bus.o
> -common-obj-$(CONFIG_ISA_BUS) += isa-superio.o smc37c669-superio.o
> +common-obj-$(CONFIG_ISA_BUS) += isa-superio.o
>  common-obj-$(CONFIG_APM) += apm.o
>  common-obj-$(CONFIG_I82378) += i82378.o
>  common-obj-$(CONFIG_PC87312) += pc87312.o
>  common-obj-$(CONFIG_PIIX4) += piix4.o
>  common-obj-$(CONFIG_VT82C686) += vt82c686.o
> +common-obj-$(CONFIG_SMC37C669) += smc37c669-superio.o

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>

Should isa-superio.o also go in its own config flag?

thanks
-- PMM

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH 4/5] configs: Add a CONFIG_UNIMP switch for the "unimplemented-device"
  2018-10-19 14:43       ` Peter Maydell
@ 2018-10-19 15:59         ` Paolo Bonzini
  0 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2018-10-19 15:59 UTC (permalink / raw)
  To: Peter Maydell, Thomas Huth
  Cc: QEMU Developers, qemu-arm, Edgar E. Iglesias, Richard Henderson,
	Alistair Francis, qemu-ppc, Philippe Mathieu-Daudé

On 19/10/2018 16:43, Peter Maydell wrote:
> I think if we want to support this for downstreams we need
> to look at something better than the default-configs/
> mechanism for it. (Perhaps the kconfig-alike Paolo mentioned
> in a previous thread?)

True, but having more CONFIG_* symbols does not complicate the switch to
a system like that one.

> My dividing line for "should something go in a specific
> architecture's default-configs/ list" is "is this an SoC
> or real piece of hardware that is naturally limited to
> one or a few SoCs".

I tend to agree, but I'd rather have a separate CONFIG_* symbol as soon
as two different *targets* (aka default-configs/*.mak files) use a
device.  So the SPARC change that you mention would actually be a good
reason to introduce CONFIG_UNIMP, for example.

Paolo

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH 4/5] configs: Add a CONFIG_UNIMP switch for the "unimplemented-device"
  2018-10-19 14:40     ` Thomas Huth
  2018-10-19 14:43       ` Peter Maydell
@ 2018-10-19 16:25       ` Philippe Mathieu-Daudé
  2018-10-19 16:44         ` Paolo Bonzini
  1 sibling, 1 reply; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2018-10-19 16:25 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Peter Maydell, qemu-devel@nongnu.org Developers, qemu-arm,
	Edgar E. Iglesias, Richard Henderson, Alistair Francis,
	qemu-ppc@nongnu.org list:PowerPC, Paolo Bonzini

On Fri, Oct 19, 2018 at 4:40 PM Thomas Huth <thuth@redhat.com> wrote:
>
> On 2018-10-19 15:57, Peter Maydell wrote:
> > On 19 October 2018 at 14:14, Thomas Huth <thuth@redhat.com> wrote:
> >> The "unimplemented-device" is currently only used for one arm board.
> >
> > ? It's used in all the MPS boards, several of the imx SoCs,
> > the nrf51 SoC used by the microbit, and by the stellaris boards.
> >
> >> Let's add a CONFIG switch to make sure that we only compile it when
> >> it is really necessary.
> >>
> >> Signed-off-by: Thomas Huth <thuth@redhat.com>
> >> ---
> >>  default-configs/arm-softmmu.mak | 1 +
> >>  hw/misc/Makefile.objs           | 2 +-
> >>  2 files changed, 2 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
> >> index 6f2ffc1..dc9730f 100644
> >> --- a/default-configs/arm-softmmu.mak
> >> +++ b/default-configs/arm-softmmu.mak
> >> @@ -7,6 +7,7 @@ CONFIG_NAND=y
> >>  CONFIG_OR_IRQ=y
> >>  CONFIG_SPLIT_IRQ=y
> >>  CONFIG_REGISTER=y
> >> +CONFIG_UNIMP=y
> >>  CONFIG_ECC=y
> >>  CONFIG_SERIAL=y
> >>  CONFIG_SERIAL_ISA=y
> >
> > This seems awkward to me. The 'unimplemented' device is supposed
> > to be an entirely generic thing usable in any board model.
> > If we only turn it on in the arm-softmmu.mak then it means
> > faffing around with the default-configs/ whenever it gets
> > used in a different architecture.
>
> The device has been added 1.5 years ago, and so far no other target is
> using it yet. So it's very seldom that you've got to expect any changes,
> I think.

I disagree with this (and this patch).

First because I'm using it heavily on MIPS and PPC boards, when no
datashits are available.
I'll submit that during the next merge window, although the MIPS tree
seems now reluctant to that kind of hobbyist work.

Second, because it is very clean when you implement a SoC to first
start with an empty UNIMP region and a cpu core,
then declare the mmio regions for each device (still UNIMP), then you
can slowly add devices one at a time.
This let you (me, so far) push at most a dozen of tiny patches in a
working series, instead of a small series of a dozen of huge patches,
or a series of 100 tiny patches.

See https://lists.gnu.org/archive/html/qemu-devel/2018-05/msg06094.html
about this approach.

Regards,

Phil.

> Anyway, it's also not only about speeding up the compilation process for
> people who don't want to use the corresponding targets, this is also
> very useful for downstream distributions of QEMU who want to make sure
> to not compile-in more devices than urgently needed. For example we
> disable this device here and the others in downstream RHEL version of
> QEMU, and I guess it might be interesting for nemu, too. So having more
> flexibility here in the Makefiles would be really great to decrease the
> burden with downstream-specific patches...
>
> > In particular, there's a pull request on the list that uses
> > it in a sparc board, so this patch will break compile on sparc
> > once that pullreq lands.
>
> Ok, then please disregard this patch here, but it would be great if you
> could still consider the other patches of this series.
>
>  Thomas

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH 5/5] configs: Add a CONFIG_SMC37C669 switch for the "smc37c669-superio" device
  2018-10-19 14:46   ` Peter Maydell
@ 2018-10-19 16:35     ` Philippe Mathieu-Daudé
  2018-10-19 16:38       ` Peter Maydell
  0 siblings, 1 reply; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2018-10-19 16:35 UTC (permalink / raw)
  To: Peter Maydell, Thomas Huth
  Cc: Edgar E. Iglesias, Richard Henderson, QEMU Developers,
	Alistair Francis, qemu-arm, qemu-ppc, Philippe Mathieu-Daudé

On 19/10/2018 16:46, Peter Maydell wrote:
> On 19 October 2018 at 14:14, Thomas Huth <thuth@redhat.com> wrote:
>> This device is not user-creatable and currently only used for the
>> "alpha" target. So if the user does not want to compile alpha-softmmu,
>> we should also not compile this device. Add a proper config switch to
>> be able to compile this more flexibly.
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>>  default-configs/alpha-softmmu.mak | 1 +
>>  hw/isa/Makefile.objs              | 3 ++-
>>  2 files changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/default-configs/alpha-softmmu.mak b/default-configs/alpha-softmmu.mak
>> index bbe361f..eb58b40 100644
>> --- a/default-configs/alpha-softmmu.mak
>> +++ b/default-configs/alpha-softmmu.mak
>> @@ -19,3 +19,4 @@ CONFIG_IDE_CMD646=y
>>  CONFIG_I8259=y
>>  CONFIG_MC146818RTC=y
>>  CONFIG_ISA_TESTDEV=y
>> +CONFIG_SMC37C669=y
>> diff --git a/hw/isa/Makefile.objs b/hw/isa/Makefile.objs
>> index 83e06f6..9e106df 100644
>> --- a/hw/isa/Makefile.objs
>> +++ b/hw/isa/Makefile.objs
>> @@ -1,9 +1,10 @@
>>  common-obj-$(CONFIG_ISA_BUS) += isa-bus.o
>> -common-obj-$(CONFIG_ISA_BUS) += isa-superio.o smc37c669-superio.o
>> +common-obj-$(CONFIG_ISA_BUS) += isa-superio.o
>>  common-obj-$(CONFIG_APM) += apm.o
>>  common-obj-$(CONFIG_I82378) += i82378.o
>>  common-obj-$(CONFIG_PC87312) += pc87312.o
>>  common-obj-$(CONFIG_PIIX4) += piix4.o
>>  common-obj-$(CONFIG_VT82C686) += vt82c686.o
>> +common-obj-$(CONFIG_SMC37C669) += smc37c669-superio.o
> 
> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
> 
> Should isa-superio.o also go in its own config flag?

It could be, but pc87312/smc37c669/vt82c686 inherit of TYPE_ISA_SUPERIO
so would require something like:

common-obj-$(call land,$(CONFIG_ISA_SUPERIO),$(CONFIG_PC87312)) \
            += pc87312.o
common-obj-$(call land,$(CONFIG_ISA_SUPERIO),$(CONFIG_VT82C686)) \
            += vt82c686.o
common-obj-$(call land,$(CONFIG_ISA_SUPERIO),$(CONFIG_SMC37C669)) \
            += smc37c669-superio.o

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

> 
> thanks
> -- PMM
> 

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH 5/5] configs: Add a CONFIG_SMC37C669 switch for the "smc37c669-superio" device
  2018-10-19 16:35     ` Philippe Mathieu-Daudé
@ 2018-10-19 16:38       ` Peter Maydell
  0 siblings, 0 replies; 20+ messages in thread
From: Peter Maydell @ 2018-10-19 16:38 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Thomas Huth, Edgar E. Iglesias, Richard Henderson,
	QEMU Developers, Alistair Francis, qemu-arm, qemu-ppc,
	Philippe Mathieu-Daudé

On 19 October 2018 at 17:35, Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
> On 19/10/2018 16:46, Peter Maydell wrote:
>> Should isa-superio.o also go in its own config flag?
>
> It could be, but pc87312/smc37c669/vt82c686 inherit of TYPE_ISA_SUPERIO
> so would require something like:
>
> common-obj-$(call land,$(CONFIG_ISA_SUPERIO),$(CONFIG_PC87312)) \
>             += pc87312.o
> common-obj-$(call land,$(CONFIG_ISA_SUPERIO),$(CONFIG_VT82C686)) \
>             += vt82c686.o
> common-obj-$(call land,$(CONFIG_ISA_SUPERIO),$(CONFIG_SMC37C669)) \
>             += smc37c669-superio.o

This is where it would be nice to be able to say
"CONFIG_FOO requires CONFIG_BAR", indeed.

thanks
-- PMM

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH 4/5] configs: Add a CONFIG_UNIMP switch for the "unimplemented-device"
  2018-10-19 16:25       ` Philippe Mathieu-Daudé
@ 2018-10-19 16:44         ` Paolo Bonzini
  2018-10-19 16:54           ` Peter Maydell
  0 siblings, 1 reply; 20+ messages in thread
From: Paolo Bonzini @ 2018-10-19 16:44 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, Thomas Huth
  Cc: Peter Maydell, qemu-devel@nongnu.org Developers, qemu-arm,
	Edgar E. Iglesias, Richard Henderson, Alistair Francis,
	qemu-ppc@nongnu.org list:PowerPC

On 19/10/2018 18:25, Philippe Mathieu-Daudé wrote:
> 
> First because I'm using it heavily on MIPS and PPC boards, when no
> datashits are available.
> I'll submit that during the next merge window, although the MIPS tree
> seems now reluctant to that kind of hobbyist work.
> 
> Second, because it is very clean when you implement a SoC to first
> start with an empty UNIMP region and a cpu core,
> then declare the mmio regions for each device (still UNIMP), then you
> can slowly add devices one at a time.
> This let you (me, so far) push at most a dozen of tiny patches in a
> working series, instead of a small series of a dozen of huge patches,
> or a series of 100 tiny patches.

I don't see however why it's a problem to add/remove CONFIG_UNIMP to
default-configs though (in the Kconfig world the board would "select
UNIMP").

Paolo

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH 4/5] configs: Add a CONFIG_UNIMP switch for the "unimplemented-device"
  2018-10-19 16:44         ` Paolo Bonzini
@ 2018-10-19 16:54           ` Peter Maydell
  2018-10-20 19:57             ` Paolo Bonzini
  0 siblings, 1 reply; 20+ messages in thread
From: Peter Maydell @ 2018-10-19 16:54 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: Philippe Mathieu-Daudé,
	Thomas Huth, qemu-devel@nongnu.org Developers, qemu-arm,
	Edgar E. Iglesias, Richard Henderson, Alistair Francis,
	qemu-ppc@nongnu.org list:PowerPC

On 19 October 2018 at 17:44, Paolo Bonzini <pbonzini@redhat.com> wrote:
> On 19/10/2018 18:25, Philippe Mathieu-Daudé wrote:
>>
>> First because I'm using it heavily on MIPS and PPC boards, when no
>> datashits are available.
>> I'll submit that during the next merge window, although the MIPS tree
>> seems now reluctant to that kind of hobbyist work.
>>
>> Second, because it is very clean when you implement a SoC to first
>> start with an empty UNIMP region and a cpu core,
>> then declare the mmio regions for each device (still UNIMP), then you
>> can slowly add devices one at a time.
>> This let you (me, so far) push at most a dozen of tiny patches in a
>> working series, instead of a small series of a dozen of huge patches,
>> or a series of 100 tiny patches.
>
> I don't see however why it's a problem to add/remove CONFIG_UNIMP to
> default-configs though (in the Kconfig world the board would "select
> UNIMP").

Well, it's extra friction for people writing new board models,
and the benefit of having CONFIG_UNIMP is all to downstream
redistributors, not to upstream...

I'm not vetoing this patchset, but I do think that if RedHat
wants to distribute significantly-cut-down binaries then
it would be worth working on a mechanism for making that
more conveniently doable, rather than just hacking up
the very creaky default-configs/ stuff.

thanks
-- PMM

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH 4/5] configs: Add a CONFIG_UNIMP switch for the "unimplemented-device"
  2018-10-19 16:54           ` Peter Maydell
@ 2018-10-20 19:57             ` Paolo Bonzini
  0 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2018-10-20 19:57 UTC (permalink / raw)
  To: Peter Maydell
  Cc: Edgar E. Iglesias, Thomas Huth, Richard Henderson,
	Philippe Mathieu-Daudé,
	qemu-devel@nongnu.org Developers, qemu-arm,
	qemu-ppc@nongnu.org list:PowerPC, Alistair Francis

On 19/10/2018 18:54, Peter Maydell wrote:
> On 19 October 2018 at 17:44, Paolo Bonzini <pbonzini@redhat.com> wrote:
>> On 19/10/2018 18:25, Philippe Mathieu-Daudé wrote:
>>>
>>> First because I'm using it heavily on MIPS and PPC boards, when no
>>> datashits are available.
>>> I'll submit that during the next merge window, although the MIPS tree
>>> seems now reluctant to that kind of hobbyist work.
>>>
>>> Second, because it is very clean when you implement a SoC to first
>>> start with an empty UNIMP region and a cpu core,
>>> then declare the mmio regions for each device (still UNIMP), then you
>>> can slowly add devices one at a time.
>>> This let you (me, so far) push at most a dozen of tiny patches in a
>>> working series, instead of a small series of a dozen of huge patches,
>>> or a series of 100 tiny patches.
>>
>> I don't see however why it's a problem to add/remove CONFIG_UNIMP to
>> default-configs though (in the Kconfig world the board would "select
>> UNIMP").
> 
> Well, it's extra friction for people writing new board models,
> and the benefit of having CONFIG_UNIMP is all to downstream
> redistributors, not to upstream...
> 
> I'm not vetoing this patchset, but I do think that if RedHat
> wants to distribute significantly-cut-down binaries then
> it would be worth working on a mechanism for making that
> more conveniently doable, rather than just hacking up
> the very creaky default-configs/ stuff.

Yes, we are going to meet the NEMU guys at KVM Forum and talk about the
"mini-Kconfig" stuff; in the meanwhile, default-configs/ is what we
have, it was enough while we were caring basically only about x86 and
thus we only needed to disable PCI devices, but now it's showing its age.

Paolo

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2018-10-20 19:57 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-19 13:14 [Qemu-devel] [PATCH 0/5] Add more CONFIG switches to make the build more modular Thomas Huth
2018-10-19 13:14 ` [Qemu-devel] [PATCH 1/5] configs: Add a CONFIG_OR_IRQ switch for the or-irq device Thomas Huth
2018-10-19 13:58   ` Peter Maydell
2018-10-19 13:14 ` [Qemu-devel] [PATCH 2/5] configs: Add a CONFIG_SPLIT_IRQ switch for the split-irq device Thomas Huth
2018-10-19 14:44   ` Peter Maydell
2018-10-19 13:14 ` [Qemu-devel] [PATCH 3/5] configs: Add a CONFIG_REGISTER switch for the "register" device Thomas Huth
2018-10-19 14:44   ` Peter Maydell
2018-10-19 13:14 ` [Qemu-devel] [PATCH 4/5] configs: Add a CONFIG_UNIMP switch for the "unimplemented-device" Thomas Huth
2018-10-19 13:57   ` Peter Maydell
2018-10-19 14:40     ` Thomas Huth
2018-10-19 14:43       ` Peter Maydell
2018-10-19 15:59         ` Paolo Bonzini
2018-10-19 16:25       ` Philippe Mathieu-Daudé
2018-10-19 16:44         ` Paolo Bonzini
2018-10-19 16:54           ` Peter Maydell
2018-10-20 19:57             ` Paolo Bonzini
2018-10-19 13:14 ` [Qemu-devel] [PATCH 5/5] configs: Add a CONFIG_SMC37C669 switch for the "smc37c669-superio" device Thomas Huth
2018-10-19 14:46   ` Peter Maydell
2018-10-19 16:35     ` Philippe Mathieu-Daudé
2018-10-19 16:38       ` Peter Maydell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.