qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Juan Quintela <quintela@redhat.com>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] [PATCH 08/16] Introduce PIIX3IrqState for piix3 irq's state
Date: Fri, 28 Aug 2009 15:28:19 +0200	[thread overview]
Message-ID: <2093d2910eb4fc72d2e8f3d19a9a6320eea80b5b.1251465671.git.quintela@redhat.com> (raw)
In-Reply-To: <cover.1251465671.git.quintela@redhat.com>
In-Reply-To: <cover.1251465671.git.quintela@redhat.com>


Signed-off-by: Juan Quintela <quintela@redhat.com>
---
 hw/piix_pci.c |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/hw/piix_pci.c b/hw/piix_pci.c
index b08b063..b931f84 100644
--- a/hw/piix_pci.c
+++ b/hw/piix_pci.c
@@ -37,6 +37,10 @@ typedef struct PIIX3State {
     PCIDevice dev;
 } PIIX3State;

+typedef struct PIIX3IrqState {
+    qemu_irq *pic;
+} PIIX3IrqState;
+
 struct PCII440FXState {
     PCIDevice dev;
     target_phys_addr_t isa_page_descs[384 / 4];
@@ -219,11 +223,13 @@ PCIBus *i440fx_init(PCII440FXState **pi440fx_state, qemu_irq *pic)
     PCIBus *b;
     PCIDevice *d;
     I440FXState *s;
+    PIIX3IrqState *irq_state = qemu_malloc(sizeof(*irq_state));

+    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, pic, 0, 4);
+                         piix3_set_irq, pci_slot_get_pirq, irq_state, 0, 4);
     s->bus = b;
     qdev_init(dev);

@@ -240,7 +246,7 @@ static PIIX3State *piix3_dev;
 static void piix3_set_irq(void *opaque, int irq_num, int level)
 {
     int i, pic_irq, pic_level;
-    qemu_irq *pic = opaque;
+    PIIX3IrqState *irq_state = opaque;

     pci_irq_levels[irq_num] = level;

@@ -255,7 +261,7 @@ static void piix3_set_irq(void *opaque, int irq_num, int level)
             if (pic_irq == piix3_dev->dev.config[0x60 + i])
                 pic_level |= pci_irq_levels[i];
         }
-        qemu_set_irq(pic[pic_irq], pic_level);
+        qemu_set_irq(irq_state->pic[pic_irq], pic_level);
     }
 }

-- 
1.6.2.5

  parent reply	other threads:[~2009-08-28 13:31 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-28 13:28 [Qemu-devel] [PATCH v4 00/16] piix_pci cleanup Juan Quintela
2009-08-28 13:28 ` [Qemu-devel] [PATCH 01/16] piix4 don't use pci_irq_levels at all Juan Quintela
2009-08-28 13:28 ` [Qemu-devel] [PATCH 02/16] Split piix4 support from piix_pci.c Juan Quintela
2009-08-28 13:28 ` [Qemu-devel] [PATCH 03/16] low_set_irq is not used anywhere Juan Quintela
2009-08-28 13:28 ` [Qemu-devel] [PATCH 04/16] Use PCII440FXState instead of generic PCIDevice Juan Quintela
2009-08-28 13:28 ` [Qemu-devel] [PATCH 05/16] Move smm_enabled and isa_memory_mappings to PCII440FXState Juan Quintela
2009-08-28 13:28 ` [Qemu-devel] [PATCH 06/16] We want the argument pass to set_irq to be opaque Juan Quintela
2009-08-28 13:28 ` [Qemu-devel] [PATCH 07/16] Create PIIX3State instead of using PCIDevice for PIIX3 Juan Quintela
2009-08-28 13:28 ` Juan Quintela [this message]
2009-08-28 13:28 ` [Qemu-devel] [PATCH 09/16] Fold piix3_init() intto i440fx_init Juan Quintela
2009-08-28 13:28 ` [Qemu-devel] [PATCH 10/16] We can add piix3_dev now to PIIX3IrqState Juan Quintela
2009-08-28 13:28 ` [Qemu-devel] [PATCH 11/16] Save irq_state into PCII440FXState Juan Quintela
2009-08-28 13:28 ` [Qemu-devel] [PATCH 12/16] pci_irq_levels[] belong to PIIX3State Juan Quintela
2009-08-28 13:28 ` [Qemu-devel] [PATCH 13/16] Update SaveVM versions Juan Quintela
2009-08-28 13:28 ` [Qemu-devel] [PATCH 14/16] VMState: Fix sub-structs versioning Juan Quintela
2009-08-28 13:28 ` [Qemu-devel] [PATCH 15/16] i440fx: use new vmstate infrastructure Juan Quintela
2009-08-28 13:28 ` [Qemu-devel] [PATCH 16/16] piix3: " Juan Quintela
2009-08-28 13:32 ` [Qemu-devel] Re: [PATCH 00/16] *** SUBJECT HERE *** Juan Quintela

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=2093d2910eb4fc72d2e8f3d19a9a6320eea80b5b.1251465671.git.quintela@redhat.com \
    --to=quintela@redhat.com \
    --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).