From: "Hervé Poussineau" <hpoussin@reactos.org>
To: qemu-devel@nongnu.org
Cc: "Hervé Poussineau" <hpoussin@reactos.org>
Subject: [Qemu-devel] [PATCH v3 00/16] ISA bus improvements
Date: Sun, 2 Oct 2011 18:10:12 +0200 [thread overview]
Message-ID: <1317571828-9059-1-git-send-email-hpoussin@reactos.org> (raw)
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
next reply other threads:[~2011-10-02 16:10 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-02 16:10 Hervé Poussineau [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1317571828-9059-1-git-send-email-hpoussin@reactos.org \
--to=hpoussin@reactos.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).