Allow ISA bus to be configured out

Currently, the code to handle the legacy ISA bus is always included in
qemu.  However there are lots of platforms that don't include ISA legacy
devies, and quite a few that have never used ISA legacy devices at all.

This patch allows the ISA bus code to be disabled in the configuration for
platforms where it doesn't make sense.

For now, the default configs are adjusted to include ISA on all platforms
including PCI: anything with PCI can at least in principle add an i82378
PCI->ISA bridge.  Also, CONFIG_IDE_CORE which is already in pci.mak
requires ISA support.

We also explicitly enable ISA on some other non-PCI platforms which include
ISA devices: moxie, sparc and unicore32.  We may want to pare this down in
future.

The platforms that will lose ISA by default are: cris, lm32, microblazeel,
microblaze, openrisc, s390x, tricore, xtensaeb, xtensa.  As far as I can
tell none of these ever used ISA.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
David Gibson 2016-11-09 13:31:22 +11:00
parent 1401c322c8
commit 1fc125f567
5 changed files with 6 additions and 1 deletions

View File

@ -1,5 +1,6 @@
# Default configuration for moxie-softmmu
CONFIG_ISA_BUS=y
CONFIG_MC146818RTC=y
CONFIG_SERIAL=y
CONFIG_SERIAL_ISA=y

View File

@ -1,4 +1,6 @@
CONFIG_PCI=y
# For now, CONFIG_IDE_CORE requires ISA, so we enable it here
CONFIG_ISA_BUS=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO=y
CONFIG_USB_UHCI=y

View File

@ -1,5 +1,6 @@
# Default configuration for sparc-softmmu
CONFIG_ISA_BUS=y
CONFIG_ECC=y
CONFIG_ESP=y
CONFIG_ESCC=y

View File

@ -1,4 +1,5 @@
# Default configuration for unicore32-softmmu
CONFIG_ISA_BUS=y
CONFIG_PUV3=y
CONFIG_PTIMER=y
CONFIG_PCKBD=y

View File

@ -1,4 +1,4 @@
common-obj-y += isa-bus.o
common-obj-$(CONFIG_ISA_BUS) += isa-bus.o
common-obj-$(CONFIG_APM) += apm.o
common-obj-$(CONFIG_I82378) += i82378.o
common-obj-$(CONFIG_PC87312) += pc87312.o