[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 07/13] piix_pci: kill PIIX3IrqState
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH 07/13] piix_pci: kill PIIX3IrqState |
Date: |
Thu, 24 Sep 2009 20:42:31 +0200 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.3 (gnu/linux) |
Gerd Hoffmann <address@hidden> writes:
> The splitted init + irq setup for the pci bus untangles a initialization
> order issue and allows to remove the PIIX3IrqState struct. We can
> carry the state directly in PIIX3State insted.
>
> Signed-off-by: Gerd Hoffmann <address@hidden>
> ---
> hw/piix_pci.c | 37 +++++++++++++++++--------------------
> 1 files changed, 17 insertions(+), 20 deletions(-)
>
> diff --git a/hw/piix_pci.c b/hw/piix_pci.c
> index edd6df0..0be3b02 100644
> --- a/hw/piix_pci.c
> +++ b/hw/piix_pci.c
[...]
> @@ -232,23 +228,24 @@ PCIBus *i440fx_init(PCII440FXState **pi440fx_state, int
> *piix3_devfn, qemu_irq *
> PCIBus *b;
> PCIDevice *d;
> I440FXState *s;
> - PIIX3IrqState *irq_state = qemu_malloc(sizeof(*irq_state));
> + PIIX3State *piix3;
>
> - irq_state->pic = pic;
> dev = qdev_create(NULL, "i440FX-pcihost");
> s = FROM_SYSBUS(I440FXState, sysbus_from_qdev(dev));
> - b = pci_register_bus(&s->busdev.qdev, "pci.0",
> - piix3_set_irq, pci_slot_get_pirq, irq_state, 0, 4);
> + b = pci_bus_new(&s->busdev.qdev, NULL, 0);
Passes null name to pci_bus_new(). Intentional? Before, we passed
"pci.0" to pci_register_bus().
> s->bus = b;
> qdev_init(dev);
>
> d = pci_create_simple(b, 0, "i440FX");
> *pi440fx_state = DO_UPCAST(PCII440FXState, dev, d);
> - (*pi440fx_state)->irq_state = irq_state;
>
> - irq_state->piix3 = DO_UPCAST(PIIX3State, dev,
> + piix3 = DO_UPCAST(PIIX3State, dev,
> pci_create_simple(b, -1, "PIIX3"));
> - *piix3_devfn = irq_state->piix3->dev.devfn;
> + piix3->pic = pic;
> + pci_bus_irqs(b, piix3_set_irq, pci_slot_get_pirq, piix3, 4);
> + (*pi440fx_state)->piix3 = piix3;
> +
> + *piix3_devfn = piix3->dev.devfn;
>
> return b;
> }
[...]
- [Qemu-devel] [PATCH 00/13] qdev: bus management updates., Gerd Hoffmann, 2009/09/22
- [Qemu-devel] [PATCH 05/13] inplace allocation for pci, split irq init., Gerd Hoffmann, 2009/09/22
- [Qemu-devel] [PATCH 02/13] switch scsi bus to inplace allocation., Gerd Hoffmann, 2009/09/22
- [Qemu-devel] [PATCH 04/13] switch ide bus to inplace allocation., Gerd Hoffmann, 2009/09/22
- [Qemu-devel] [PATCH 03/13] switch usb bus to inplace allocation., Gerd Hoffmann, 2009/09/22
- [Qemu-devel] [PATCH 01/13] allow qdev busses allocations be inplace, Gerd Hoffmann, 2009/09/22
- [Qemu-devel] [PATCH 07/13] piix_pci: kill PIIX3IrqState, Gerd Hoffmann, 2009/09/22
- Re: [Qemu-devel] [PATCH 07/13] piix_pci: kill PIIX3IrqState,
Markus Armbruster <=
- [Qemu-devel] [PATCH 10/13] Implement scsi device destruction, Gerd Hoffmann, 2009/09/22
- Re: [Qemu-devel] [PATCH 10/13] Implement scsi device destruction, Markus Armbruster, 2009/09/24
- Re: [Qemu-devel] [PATCH 10/13] Implement scsi device destruction, Gerd Hoffmann, 2009/09/25
- Re: [Qemu-devel] [PATCH 10/13] Implement scsi device destruction, Markus Armbruster, 2009/09/25
- Re: [Qemu-devel] [PATCH 10/13] Implement scsi device destruction, Gerd Hoffmann, 2009/09/25
- Re: [Qemu-devel] [PATCH 10/13] Implement scsi device destruction, Artyom Tarasenko, 2009/09/25
- Re: [Qemu-devel] [PATCH 10/13] Implement scsi device destruction, Markus Armbruster, 2009/09/25
[Qemu-devel] [PATCH 12/13] pci: move unregister from PCIDevice to PCIDeviceInfo, Gerd Hoffmann, 2009/09/22