Add more CONFIG switches to make the build more modular
cover Add more CONFIG switches to make the build more modular
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(-)
Signature · 1 line
1.8.3.1
PATCH 1/5 configs: Add a CONFIG_OR_IRQ switch for the or-irq device
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.
--- default-configs/arm-softmmu.mak | 1 + default-configs/ppc-softmmu.mak | 1 + hw/core/Makefile.objs | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-)
default-configs/arm-softmmu.mak +1 -0
@@ -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
default-configs/ppc-softmmu.mak +1 -0
@@ -68,3 +68,4 @@ CONFIG_PC87312=y CONFIG_PCSPK=y CONFIG_IDE_ISA=y CONFIG_CS4231A=y +CONFIG_OR_IRQ=y
hw/core/Makefile.objs +1 -1
@@ -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
Signature · 1 line
1.8.3.1
Re: [Qemu-arm] [PATCH 1/5] configs: Add a CONFIG_OR_IRQ switch for the or-irq device
Quoted 28 lines · Thomas Huth
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 properCONFIG_OR_IRQswitch to be able to choose this more flexibly.Signed-off-by Thomas Huth <[email protected]>--- default-configs/arm-softmmu.mak | 1 + default-configs/ppc-softmmu.mak | 1 + hw/core/Makefile.objs | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-)default-configs/arm-softmmu.mak +1
-0@@ -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=ydefault-configs/ppc-softmmu.mak +0
-0
default-configs/ppc-softmmu.mak CONFIG_PC87312=y · line 71
Quoted 4 lines
default-configs/ppc-softmmu.mak +1
-0@@ -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
PATCH 2/5 configs: Add a CONFIG_SPLIT_IRQ switch for the split-irq device
In reply to Thomas HuthIf 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.
--- default-configs/arm-softmmu.mak | 1 + hw/core/Makefile.objs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-)
default-configs/arm-softmmu.mak +1 -0
@@ -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
hw/core/Makefile.objs +1 -1
@@ -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
Signature · 1 line
1.8.3.1
Re: [Qemu-arm] [PATCH 2/5] configs: Add a CONFIG_SPLIT_IRQ switch for the split-irq device
Quoted 15 lines · Thomas Huth
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 properCONFIG_SPLIT_IRQswitch to be able to choose this more flexibly.Signed-off-by Thomas Huth <[email protected]>--- default-configs/arm-softmmu.mak | 1 + hw/core/Makefile.objs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-)default-configs/arm-softmmu.mak +0
-0
default-configs/arm-softmmu.mak include usb.mak · line 11
Quoted 7 lines
default-configs/arm-softmmu.mak +1
-0@@ -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
PATCH 3/5 configs: Add a CONFIG_REGISTER switch for the "register" device
In reply to Thomas HuthIf 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.
--- default-configs/arm-softmmu.mak | 1 + default-configs/microblaze-softmmu.mak | 1 + hw/core/Makefile.objs | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-)
default-configs/arm-softmmu.mak +1 -0
@@ -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
default-configs/microblaze-softmmu.mak +1 -0
@@ -10,3 +10,4 @@ CONFIG_XILINX_ETHLITE=y CONFIG_SSI=y CONFIG_SSI_M25P80=y CONFIG_XLNX_ZYNQMP=y +CONFIG_REGISTER=y
hw/core/Makefile.objs +1 -1
@@ -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
Signature · 1 line
1.8.3.1
Re: [Qemu-devel] [PATCH 3/5] configs: Add a CONFIG_REGISTER switch for the "register" device
Quoted 37 lines · Thomas Huth
If the user only wants to compile targets that do not require the "register" device, we should also not compile
register.c. Add a properCONFIG_REGISTERswitch to be able to choose this more flexibly.Signed-off-by Thomas Huth <[email protected]>--- default-configs/arm-softmmu.mak | 1 + default-configs/microblaze-softmmu.mak | 1 + hw/core/Makefile.objs | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-)default-configs/arm-softmmu.mak +1
-0@@ -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=ydefault-configs/microblaze-softmmu.mak +1
-0@@ -10,3 +10,4 @@ CONFIG_XILINX_ETHLITE=y CONFIG_SSI=y CONFIG_SSI_M25P80=y CONFIG_XLNX_ZYNQMP=y +CONFIG_REGISTER=yhw/core/Makefile.objs +0
-0
hw/core/Makefile.objs common-obj-$(CONFIG_SOFTMMU) += machine.o · line 22
Quoted 8 lines
hw/core/Makefile.objs +1
-1@@ -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
PATCH 4/5 configs: Add a CONFIG_UNIMP switch for the "unimplemented-device"
In reply to Thomas HuthThe "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.
--- default-configs/arm-softmmu.mak | 1 + hw/misc/Makefile.objs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-)
default-configs/arm-softmmu.mak +1 -0
@@ -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
hw/misc/Makefile.objs +1 -1
@@ -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
Signature · 1 line
1.8.3.1
Re: [Qemu-arm] [PATCH 4/5] configs: Add a CONFIG_UNIMP switch for the "unimplemented-device"
Quoted 1 line · Thomas Huth
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.
Quoted 14 lines
Let's add a CONFIG switch to make sure that we only compile it when it is really necessary.
Signed-off-by Thomas Huth <[email protected]>--- default-configs/arm-softmmu.mak | 1 + hw/misc/Makefile.objs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-)default-configs/arm-softmmu.mak +0
-0
default-configs/arm-softmmu.mak CONFIG_NAND=y · line 13
Quoted 7 lines
default-configs/arm-softmmu.mak +1
-0@@ -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
Re: [Qemu-arm] [PATCH 4/5] configs: Add a CONFIG_UNIMP switch for the "unimplemented-device"
Quoted 25 lines · Peter Maydell
Quoted 1 line · Thomas Huth
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.
Quoted 19 lines
Let's add a CONFIG switch to make sure that we only compile it when it is really necessary.
Signed-off-by Thomas Huth <[email protected]>--- default-configs/arm-softmmu.mak | 1 + hw/misc/Makefile.objs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-)default-configs/arm-softmmu.mak +1
-0@@ -7,6 +7,7 @@ CONFIG_NAND=y CONFIG_OR_IRQ=y CONFIG_SPLIT_IRQ=y CONFIG_REGISTER=y +CONFIG_UNIMP=y CONFIG_ECC=y
Quoted 8 lines
default-configs/arm-softmmu.mak CONFIG_NAND=y · line 13
Quoted 2 lines
default-configs/arm-softmmu.mak +0
-0CONFIG_SERIAL=y CONFIG_SERIAL_ISA=yThis 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...
Quoted 3 lines
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
Re: [Qemu-arm] [PATCH 4/5] configs: Add a CONFIG_UNIMP switch for the "unimplemented-device"
Quoted 8 lines · Thomas Huth
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
Re: [Qemu-arm] [PATCH 4/5] configs: Add a CONFIG_UNIMP switch for the "unimplemented-device"
Quoted 4 lines · Peter Maydell
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.
Quoted 4 lines
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
Re: [Qemu-arm] [PATCH 4/5] configs: Add a CONFIG_UNIMP switch for the "unimplemented-device"
In reply to Thomas HuthQuoted 36 lines · Thomas Huth
Quoted 25 lines · Peter Maydell
Quoted 1 line · Thomas Huth
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.
Quoted 19 lines
Let's add a CONFIG switch to make sure that we only compile it when it is really necessary.
Signed-off-by Thomas Huth <[email protected]>--- default-configs/arm-softmmu.mak | 1 + hw/misc/Makefile.objs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-)default-configs/arm-softmmu.mak +1
-0@@ -7,6 +7,7 @@ CONFIG_NAND=y CONFIG_OR_IRQ=y CONFIG_SPLIT_IRQ=y CONFIG_REGISTER=y +CONFIG_UNIMP=y CONFIG_ECC=yQuoted 8 lines
default-configs/arm-softmmu.mak CONFIG_NAND=y · line 13
Quoted 2 lines
default-configs/arm-softmmu.mak +0
-0CONFIG_SERIAL=y CONFIG_SERIAL_ISA=yThis 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.
Quoted 3 lines
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.
Quoted 17 lines
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...
Quoted 3 lines
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
Re: [Qemu-devel] [PATCH 4/5] configs: Add a CONFIG_UNIMP switch for the "unimplemented-device"
Quoted 6 lines · Philippe Mathieu-Daudé
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.
Quoted 7 lines
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
Re: [Qemu-devel] [PATCH 4/5] configs: Add a CONFIG_UNIMP switch for the "unimplemented-device"
Quoted 15 lines · Paolo Bonzini
Quoted 6 lines · Philippe Mathieu-Daudé
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.Quoted 7 lines
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.
Quoted 3 lines
I don't see however why it's a problem to add/remove
CONFIG_UNIMPto default-configs though (in theKconfigworld 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
Re: [Qemu-arm] [Qemu-devel] [PATCH 4/5] configs: Add a CONFIG_UNIMP switch for the "unimplemented-device"
Quoted 24 lines · Peter Maydell
Quoted 15 lines · Paolo Bonzini
Quoted 6 lines · Philippe Mathieu-Daudé
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.Quoted 7 lines
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.Quoted 3 lines
I don't see however why it's a problem to add/remove
CONFIG_UNIMPto default-configs though (in theKconfigworld the board would "select UNIMP").Well, it's extra friction for people writing new board models, and the benefit of having
CONFIG_UNIMPis all to downstream redistributors, not to upstream...
Quoted 5 lines
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
PATCH 5/5 configs: Add a CONFIG_SMC37C669 switch for the "smc37c669-superio" device
In reply to Thomas HuthThis 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.
--- default-configs/alpha-softmmu.mak | 1 + hw/isa/Makefile.objs | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-)
default-configs/alpha-softmmu.mak +1 -0
@@ -19,3 +19,4 @@ CONFIG_IDE_CMD646=y CONFIG_I8259=y CONFIG_MC146818RTC=y CONFIG_ISA_TESTDEV=y +CONFIG_SMC37C669=y
hw/isa/Makefile.objs +2 -1
@@ -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
Signature · 1 line
1.8.3.1
Re: [Qemu-arm] [PATCH 5/5] configs: Add a CONFIG_SMC37C669 switch for the "smc37c669-superio" device
Quoted 25 lines · Thomas Huth
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 <[email protected]>--- default-configs/alpha-softmmu.mak | 1 + hw/isa/Makefile.objs | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-)default-configs/alpha-softmmu.mak +1
-0@@ -19,3 +19,4 @@ CONFIG_IDE_CMD646=y CONFIG_I8259=y CONFIG_MC146818RTC=y CONFIG_ISA_TESTDEV=y +CONFIG_SMC37C669=yhw/isa/Makefile.objs +0
-0
hw/isa/Makefile.objs line 8
Quoted 9 lines
hw/isa/Makefile.objs +2
-1@@ -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
Should isa-superio.o also go in its own config flag?
thanks
-- PMM
Philippe Mathieu-Daudé
Reviewed-byRe: [Qemu-arm] [Qemu-devel] [PATCH 5/5] configs: Add a CONFIG_SMC37C669 switch for the "smc37c669-superio" device
Quoted 38 lines · Peter Maydell
Quoted 25 lines · Thomas Huth
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 <[email protected]>--- default-configs/alpha-softmmu.mak | 1 + hw/isa/Makefile.objs | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-)default-configs/alpha-softmmu.mak +1
-0@@ -19,3 +19,4 @@ CONFIG_IDE_CMD646=y CONFIG_I8259=y CONFIG_MC146818RTC=y CONFIG_ISA_TESTDEV=y +CONFIG_SMC37C669=yhw/isa/Makefile.objs +0
-0hw/isa/Makefile.objs line 8
Quoted 9 lines
hw/isa/Makefile.objs +2
-1@@ -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.oReviewed-by Peter Maydell <[email protected]>
Quoted 1 line
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.oQuoted 4 lines
thanks
-- PMM
Re: [Qemu-arm] [Qemu-devel] [PATCH 5/5] configs: Add a CONFIG_SMC37C669 switch for the "smc37c669-superio" device
Quoted 6 lines · Philippe Mathieu-Daudé
Quoted 1 line · Peter Maydell
Should isa-superio.o also go in its own config flag?
It could be, but pc87312/smc37c669/vt82c686 inherit of
TYPE_ISA_SUPERIOso would require something like:
Quoted 6 lines
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.oThis is where it would be nice to be able to say
"CONFIG_FOO requires CONFIG_BAR", indeed.
thanks
-- PMM