From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:54250) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RAOcg-0004hs-Kq for qemu-devel@nongnu.org; Sun, 02 Oct 2011 12:10:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RAOce-00083O-Pu for qemu-devel@nongnu.org; Sun, 02 Oct 2011 12:10:38 -0400 Received: from smtp5-g21.free.fr ([212.27.42.5]:45370) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RAOce-000838-2M for qemu-devel@nongnu.org; Sun, 02 Oct 2011 12:10:36 -0400 From: =?UTF-8?q?Herv=C3=A9=20Poussineau?= Date: Sun, 2 Oct 2011 18:10:12 +0200 Message-Id: <1317571828-9059-1-git-send-email-hpoussin@reactos.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PATCH v3 00/16] ISA bus improvements List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Herv=C3=A9=20Poussineau?= 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=C3=A9 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 --=20 1.7.6.3