qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v3 00/16] ISA bus improvements
@ 2011-10-02 16:10 Hervé Poussineau
  2011-10-02 16:10 ` [Qemu-devel] [PATCH v3 01/16] isa: rename isa_bus_new to isa_bus_bridge_init Hervé Poussineau
                   ` (15 more replies)
  0 siblings, 16 replies; 17+ messages in thread
From: Hervé Poussineau @ 2011-10-02 16:10 UTC (permalink / raw)
  To: qemu-devel; +Cc: Hervé Poussineau

Following patches aim to change ISA bus to a first-citizen class in Qemu.

They add ISA bus ops, like for scsi and usb buses.

Current ISA bridges (PIIX3, PIIX4, EBUS and VT82C686) are converted
to this new API, and a simple 'isabus-bridge' device is added.

isa_address_space() operation can probably be used to remove the
infamous isa_mem_base variable. However, some work is already done
in this direction on the ML, so I didn't change anything.

Finally, add bus argument to all ISA functions, so architectures
with multiple ISA buses (like some Alpha systems) can be emulated.

Patch 14 is a temporary patch, which should be reverted once i8259 is
qdevifed. Patches have already been sent to ML for this [1]. It can
also be dropped if Jan's series is merged.
However, patches 1 to 13 can be applied immediately.

I also was unable to reproduce the problem Anthony mentioned on [2],
using TCG on a 32-bit host.

Changes since v2:
- rebased
- add back spaces between function name and parenthesis on malc' request
- split some patches in two for easier bisecting
- add temporary workaround for non-qdevified i8259

Changes since v1:
- add ISA bus argument to all ISA functions
- remove default ISA bus concept as per Jan request

[1] http://lists.gnu.org/archive/html/qemu-devel/2011-09/msg03504.html
[2] http://lists.gnu.org/archive/html/qemu-devel/2011-09/msg03053.html

Hervé Poussineau (16):
  isa: rename isa_bus_new to isa_bus_bridge_init
  isa: rework ISA bus internals, and add ISA bus ops structure
  isa: correctly implement isa_address_space(), by calling a
    bus-specific function
  audio: give ISA bus to sound cards, instead of PIC
  pc: improve bus implementation of PIIX3 bridge
  fulong2e: improve bus implementation of vt82c bridge
  sun4u: improve bus implementation of EBus bridge
  malta: improve bus implementation of PIIX4 bridge
  isa: remove unused parameter to isa_bus_bridge_init()
  isa: give bus to isa_create() and isa_try_create() methods
  isa: use bus given in parameter to create device on specified ISA bus
  isa: give bus to isa_get_irq() and isa_bus_irqs()
  isa: use bus given in parameter to get/set irqs on specified ISA bus
  i8259: add ad-hock variables to please future changes in
    isa_register_ioport()
  isa: remove useless test in isa_register_ioport()
  isa: remove limitation of only one ISA bus

 Makefile.objs      |    2 +-
 arch_init.c        |   10 ++--
 arch_init.h        |    2 +-
 hw/adlib.c         |    2 +-
 hw/audiodev.h      |    8 ++--
 hw/cs4231a.c       |    4 +-
 hw/fdc.h           |    4 +-
 hw/gus.c           |    4 +-
 hw/i8254.c         |    2 +-
 hw/i8259.c         |   29 +++++++++++++-
 hw/ide.h           |   14 ++++--
 hw/ide/isa.c       |    4 +-
 hw/ide/piix.c      |   30 +++++++++++----
 hw/ide/via.c       |   18 +++++++--
 hw/isa-bridge.c    |   92 ++++++++++++++++++++++++++++++++++++++++++++
 hw/isa-bus.c       |  108 +++++++++++++++++++++++----------------------------
 hw/isa.h           |   36 ++++++++++++++---
 hw/m48t59.c        |    5 +-
 hw/mc146818rtc.c   |    4 +-
 hw/mc146818rtc.h   |    2 +-
 hw/mips_fulong2e.c |   25 +++++-------
 hw/mips_jazz.c     |   11 +++--
 hw/mips_malta.c    |   27 ++++++-------
 hw/mips_r4k.c      |   19 +++++----
 hw/nvram.h         |    3 +-
 hw/pc.c            |   34 ++++++++--------
 hw/pc.h            |   38 ++++++++++---------
 hw/pc_piix.c       |   27 +++++++------
 hw/pcspk.c         |    2 +-
 hw/piix4.c         |   41 ++++++++++++++++++-
 hw/piix_pci.c      |   45 +++++++++++++++++++--
 hw/ppc_prep.c      |   18 +++++----
 hw/sb16.c          |    4 +-
 hw/sun4u.c         |   54 ++++++++++++++++++++------
 hw/vt82c686.c      |   33 ++++++++++++++-
 hw/vt82c686.h      |    2 +-
 qemu-common.h      |    1 +
 37 files changed, 526 insertions(+), 238 deletions(-)
 create mode 100644 hw/isa-bridge.c

-- 
1.7.6.3

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

end of thread, other threads:[~2011-10-02 16:11 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-02 16:10 [Qemu-devel] [PATCH v3 00/16] ISA bus improvements Hervé Poussineau
2011-10-02 16:10 ` [Qemu-devel] [PATCH v3 01/16] isa: rename isa_bus_new to isa_bus_bridge_init Hervé Poussineau
2011-10-02 16:10 ` [Qemu-devel] [PATCH v3 02/16] isa: rework ISA bus internals, and add ISA bus ops structure Hervé Poussineau
2011-10-02 16:10 ` [Qemu-devel] [PATCH v3 03/16] isa: correctly implement isa_address_space(), by calling a bus-specific function Hervé Poussineau
2011-10-02 16:10 ` [Qemu-devel] [PATCH v3 04/16] audio: give ISA bus to sound cards, instead of PIC Hervé Poussineau
2011-10-02 16:10 ` [Qemu-devel] [PATCH v3 05/16] pc: improve bus implementation of PIIX3 bridge Hervé Poussineau
2011-10-02 16:10 ` [Qemu-devel] [PATCH v3 06/16] fulong2e: improve bus implementation of vt82c bridge Hervé Poussineau
2011-10-02 16:10 ` [Qemu-devel] [PATCH v3 07/16] sun4u: improve bus implementation of EBus bridge Hervé Poussineau
2011-10-02 16:10 ` [Qemu-devel] [PATCH v3 08/16] malta: improve bus implementation of PIIX4 bridge Hervé Poussineau
2011-10-02 16:10 ` [Qemu-devel] [PATCH v3 09/16] isa: remove unused parameter to isa_bus_bridge_init() Hervé Poussineau
2011-10-02 16:10 ` [Qemu-devel] [PATCH v3 10/16] isa: give bus to isa_create() and isa_try_create() methods Hervé Poussineau
2011-10-02 16:10 ` [Qemu-devel] [PATCH v3 11/16] isa: use bus given in parameter to create device on specified ISA bus Hervé Poussineau
2011-10-02 16:10 ` [Qemu-devel] [PATCH v3 12/16] isa: give bus to isa_get_irq() and isa_bus_irqs() Hervé Poussineau
2011-10-02 16:10 ` [Qemu-devel] [PATCH v3 13/16] isa: use bus given in parameter to get/set irqs on specified ISA bus Hervé Poussineau
2011-10-02 16:10 ` [Qemu-devel] [PATCH v3 14/16] i8259: add ad-hock variables to please future changes in isa_register_ioport() Hervé Poussineau
2011-10-02 16:10 ` [Qemu-devel] [PATCH v3 15/16] isa: remove useless test " Hervé Poussineau
2011-10-02 16:10 ` [Qemu-devel] [PATCH v3 16/16] isa: remove limitation of only one ISA bus Hervé Poussineau

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).