From patchwork Mon Sep 12 10:50:47 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Avi Kivity X-Patchwork-Id: 114317 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [140.186.70.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 295D7B71C7 for ; Mon, 12 Sep 2011 21:42:26 +1000 (EST) Received: from localhost ([::1]:37181 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R347f-00045G-9L for incoming@patchwork.ozlabs.org; Mon, 12 Sep 2011 06:52:19 -0400 Received: from eggs.gnu.org ([140.186.70.92]:53637) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R346f-0001YG-Dk for qemu-devel@nongnu.org; Mon, 12 Sep 2011 06:51:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1R346a-0006lb-Mh for qemu-devel@nongnu.org; Mon, 12 Sep 2011 06:51:17 -0400 Received: from mx1.redhat.com ([209.132.183.28]:64058) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R346a-0006kk-Du for qemu-devel@nongnu.org; Mon, 12 Sep 2011 06:51:12 -0400 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p8CApB0E014563 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 12 Sep 2011 06:51:11 -0400 Received: from cleopatra.tlv.redhat.com (cleopatra.tlv.redhat.com [10.35.255.11]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id p8CApA1t000813 for ; Mon, 12 Sep 2011 06:51:11 -0400 Received: from s01.tlv.redhat.com (s01.tlv.redhat.com [10.35.255.8]) by cleopatra.tlv.redhat.com (Postfix) with ESMTP id B78F0250B62; Mon, 12 Sep 2011 13:51:08 +0300 (IDT) From: Avi Kivity To: qemu-devel@nongnu.org Date: Mon, 12 Sep 2011 13:50:47 +0300 Message-Id: <1315824666-4214-10-git-send-email-avi@redhat.com> In-Reply-To: <1315824666-4214-1-git-send-email-avi@redhat.com> References: <1315824666-4214-1-git-send-email-avi@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PULL 09/28] isa: Pass i/o address space to isa_bus_new X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org From: Richard Henderson Not used yet, but at least we're provided with the correct region. Signed-off-by: Richard Henderson Signed-off-by: Avi Kivity --- hw/isa-bus.c | 4 +++- hw/isa.h | 2 +- hw/mips_jazz.c | 17 ++++++++++------- hw/mips_r4k.c | 2 +- hw/pc_piix.c | 2 +- hw/piix4.c | 2 +- hw/piix_pci.c | 2 +- hw/ppc_prep.c | 2 +- hw/sun4u.c | 2 +- hw/vt82c686.c | 2 +- 10 files changed, 21 insertions(+), 16 deletions(-) diff --git a/hw/isa-bus.c b/hw/isa-bus.c index 1cb497f..d067505 100644 --- a/hw/isa-bus.c +++ b/hw/isa-bus.c @@ -24,6 +24,7 @@ struct ISABus { BusState qbus; + MemoryRegion *address_space_io; qemu_irq *irqs; }; static ISABus *isabus; @@ -39,7 +40,7 @@ struct ISABus { .get_fw_dev_path = isabus_get_fw_dev_path, }; -ISABus *isa_bus_new(DeviceState *dev) +ISABus *isa_bus_new(DeviceState *dev, MemoryRegion *address_space_io) { if (isabus) { fprintf(stderr, "Can't create a second ISA bus\n"); @@ -51,6 +52,7 @@ struct ISABus { } isabus = FROM_QBUS(ISABus, qbus_create(&isa_bus_info, dev, NULL)); + isabus->address_space_io = address_space_io; return isabus; } diff --git a/hw/isa.h b/hw/isa.h index f344699..390e2d4 100644 --- a/hw/isa.h +++ b/hw/isa.h @@ -25,7 +25,7 @@ struct ISADeviceInfo { isa_qdev_initfn init; }; -ISABus *isa_bus_new(DeviceState *dev); +ISABus *isa_bus_new(DeviceState *dev, MemoryRegion *address_space_io); void isa_bus_irqs(qemu_irq *irqs); qemu_irq isa_get_irq(int isairq); void isa_init_irq(ISADevice *dev, qemu_irq *p, int isairq); diff --git a/hw/mips_jazz.c b/hw/mips_jazz.c index bde9be6..bfb521a 100644 --- a/hw/mips_jazz.c +++ b/hw/mips_jazz.c @@ -102,10 +102,11 @@ static void cpu_request_exit(void *opaque, int irq, int level) } } -static -void mips_jazz_init (MemoryRegion *address_space, ram_addr_t ram_size, - const char *cpu_model, - enum jazz_model_e jazz_model) +static void mips_jazz_init(MemoryRegion *address_space, + MemoryRegion *address_space_io, + ram_addr_t ram_size, + const char *cpu_model, + enum jazz_model_e jazz_model) { char *filename; int bios_size, n; @@ -181,7 +182,7 @@ void mips_jazz_init (MemoryRegion *address_space, ram_addr_t ram_size, /* ISA devices */ i8259 = i8259_init(env->irq[4]); - isa_bus_new(NULL); + isa_bus_new(NULL, address_space_io); isa_bus_irqs(i8259); cpu_exit_irq = qemu_allocate_irqs(cpu_request_exit, NULL, 1); DMA_init(0, cpu_exit_irq); @@ -299,7 +300,8 @@ void mips_magnum_init (ram_addr_t ram_size, const char *kernel_filename, const char *kernel_cmdline, const char *initrd_filename, const char *cpu_model) { - mips_jazz_init(get_system_memory(), ram_size, cpu_model, JAZZ_MAGNUM); + mips_jazz_init(get_system_memory(), get_system_io(), + ram_size, cpu_model, JAZZ_MAGNUM); } static @@ -308,7 +310,8 @@ void mips_pica61_init (ram_addr_t ram_size, const char *kernel_filename, const char *kernel_cmdline, const char *initrd_filename, const char *cpu_model) { - mips_jazz_init(get_system_memory(), ram_size, cpu_model, JAZZ_PICA61); + mips_jazz_init(get_system_memory(), get_system_io(), + ram_size, cpu_model, JAZZ_PICA61); } static QEMUMachine mips_magnum_machine = { diff --git a/hw/mips_r4k.c b/hw/mips_r4k.c index 805d02a..a7dc487 100644 --- a/hw/mips_r4k.c +++ b/hw/mips_r4k.c @@ -257,7 +257,7 @@ void mips_r4k_init (ram_addr_t ram_size, /* The PIC is attached to the MIPS CPU INT0 pin */ i8259 = i8259_init(env->irq[2]); - isa_bus_new(NULL); + isa_bus_new(NULL, get_system_io()); isa_bus_irqs(i8259); rtc_init(2000, NULL); diff --git a/hw/pc_piix.c b/hw/pc_piix.c index 75d96d9..9a8f580 100644 --- a/hw/pc_piix.c +++ b/hw/pc_piix.c @@ -149,7 +149,7 @@ static void pc_init1(MemoryRegion *system_memory, } else { pci_bus = NULL; i440fx_state = NULL; - isa_bus_new(NULL); + isa_bus_new(NULL, system_io); } isa_bus_irqs(isa_irq); diff --git a/hw/piix4.c b/hw/piix4.c index 9590e7b..2fd1171 100644 --- a/hw/piix4.c +++ b/hw/piix4.c @@ -87,7 +87,7 @@ static int piix4_initfn(PCIDevice *dev) { PIIX4State *d = DO_UPCAST(PIIX4State, dev, dev); - isa_bus_new(&d->dev.qdev); + isa_bus_new(&d->dev.qdev, pci_address_space_io(dev)); piix4_dev = &d->dev; qemu_register_reset(piix4_reset, d); return 0; diff --git a/hw/piix_pci.c b/hw/piix_pci.c index 8f6ea42..d183443 100644 --- a/hw/piix_pci.c +++ b/hw/piix_pci.c @@ -504,7 +504,7 @@ static int piix3_initfn(PCIDevice *dev) { PIIX3State *d = DO_UPCAST(PIIX3State, dev, dev); - isa_bus_new(&d->dev.qdev); + isa_bus_new(&d->dev.qdev, pci_address_space_io(dev)); qemu_register_reset(piix3_reset, d); return 0; } diff --git a/hw/ppc_prep.c b/hw/ppc_prep.c index 515de42..f9325bd 100644 --- a/hw/ppc_prep.c +++ b/hw/ppc_prep.c @@ -651,7 +651,7 @@ static void ppc_prep_init (ram_addr_t ram_size, i8259 = i8259_init(first_cpu->irq_inputs[PPC6xx_INPUT_INT]); pci_bus = pci_prep_init(i8259, get_system_memory(), get_system_io()); /* Hmm, prep has no pci-isa bridge ??? */ - isa_bus_new(NULL); + isa_bus_new(NULL, get_system_io()); isa_bus_irqs(i8259); // pci_bus = i440fx_init(); /* Register 8 MB of ISA IO space (needed for non-contiguous map) */ diff --git a/hw/sun4u.c b/hw/sun4u.c index 32e6ab9..0be1c36 100644 --- a/hw/sun4u.c +++ b/hw/sun4u.c @@ -548,7 +548,7 @@ static void dummy_isa_irq_handler(void *opaque, int n, int level) { EbusState *s = DO_UPCAST(EbusState, pci_dev, pci_dev); - isa_bus_new(&pci_dev->qdev); + isa_bus_new(&pci_dev->qdev, pci_address_space_io(pci_dev)); pci_dev->config[0x04] = 0x06; // command = bus master, pci mem pci_dev->config[0x05] = 0x00; diff --git a/hw/vt82c686.c b/hw/vt82c686.c index 5c973ed..e2b179e 100644 --- a/hw/vt82c686.c +++ b/hw/vt82c686.c @@ -490,7 +490,7 @@ static int vt82c686b_initfn(PCIDevice *d) uint8_t *wmask; int i; - isa_bus_new(&d->qdev); + isa_bus_new(&d->qdev, pci_address_space_io(d)); pci_conf = d->config; pci_config_set_prog_interface(pci_conf, 0x0);