All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 0/9] various ARM fixes
@ 2011-12-22 18:20 Mark Langsdorf
  2011-12-22 18:20 ` [Qemu-devel] [PATCH v2 1/9] arm: add missing scu registers Mark Langsdorf
                   ` (8 more replies)
  0 siblings, 9 replies; 21+ messages in thread
From: Mark Langsdorf @ 2011-12-22 18:20 UTC (permalink / raw)
  To: qemu-devel; +Cc: kwolf, peter.maydell, paul

This is a collection of fixes and additions to the models for various ARM
devices. These changes are needed to support the forthcoming Calxeda 
Highbank SoC model.


 Makefile.target     |    2 +
 hw/a9mpcore.c       |   36 ++++-
 hw/arm_gic.c        |    6 +
 hw/arm_l2x0.c       |  173 +++++++++++++++++++++
 hw/arm_timer.c      |   26 +++-
 hw/ide/ahci.c       |   49 +++++-
 hw/ide/ich.c        |    4 +-
 hw/xgmac.c          |  418 +++++++++++++++++++++++++++++++++++++++++++++++++++
 target-arm/cpu.h    |    1 +
 target-arm/helper.c |   14 ++
 10 files changed, 712 insertions(+), 17 deletions(-)

^ permalink raw reply	[flat|nested] 21+ messages in thread
* [Qemu-devel] [PATCH 5/9] ahci: convert ahci_reset to use AHCIState
@ 2011-12-20 19:12 Mark Langsdorf
  0 siblings, 0 replies; 21+ messages in thread
From: Mark Langsdorf @ 2011-12-20 19:12 UTC (permalink / raw)
  To: qemu-devel, kwolf

From: Rob Herring <rob.herring@calxeda.com>

Use AHCIState instead of AHCIPCIState so the function can be used for
non-PCI based AHCI controllers.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Mark Langsdorf <mark.langsdorf@calxeda.com>
---
  hw/ide/ahci.c |   14 +++++++-------
  hw/ide/ich.c  |    4 ++--
  2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
index 0af201d..135d0ee 100644
--- a/hw/ide/ahci.c
+++ b/hw/ide/ahci.c
@@ -336,7 +336,7 @@ static void ahci_mem_write(void *opaque, 
target_phys_addr_t addr,
              case HOST_CTL: /* R/W */
                  if (val & HOST_CTL_RESET) {
                      DPRINTF(-1, "HBA Reset\n");
-                    ahci_reset(container_of(s, AHCIPCIState, ahci));
+                    ahci_reset(s);
                  } else {
                      s->control_regs.ghc = (val & 0x3) | HOST_CTL_AHCI_EN;
                      ahci_check_irq(s);
@@ -1199,18 +1199,18 @@ void ahci_uninit(AHCIState *s)

  void ahci_reset(void *opaque)
  {
-    struct AHCIPCIState *d = opaque;
+    struct AHCIState *s = opaque;
      AHCIPortRegs *pr;
      int i;

-    d->ahci.control_regs.irqstatus = 0;
-    d->ahci.control_regs.ghc = 0;
+    s->control_regs.irqstatus = 0;
+    s->control_regs.ghc = 0;

-    for (i = 0; i < d->ahci.ports; i++) {
-        pr = &d->ahci.dev[i].port_regs;
+    for (i = 0; i < s->ports; i++) {
+        pr = &s->dev[i].port_regs;
          pr->irq_stat = 0;
          pr->irq_mask = 0;
          pr->scr_ctl = 0;
-        ahci_reset_port(&d->ahci, i);
+        ahci_reset_port(s, i);
      }
  }
diff --git a/hw/ide/ich.c b/hw/ide/ich.c
index 3f7510f..44363ec 100644
--- a/hw/ide/ich.c
+++ b/hw/ide/ich.c
@@ -102,7 +102,7 @@ static int pci_ich9_ahci_init(PCIDevice *dev)
      /* XXX Software should program this register */
      d->card.config[0x90]   = 1 << 6; /* Address Map Register - AHCI 
mode */

-    qemu_register_reset(ahci_reset, d);
+    qemu_register_reset(ahci_reset, &d->ahci);

      msi_init(dev, 0x50, 1, true, false);
      d->ahci.irq = d->card.irq[0];
@@ -133,7 +133,7 @@ static int pci_ich9_uninit(PCIDevice *dev)
      d = DO_UPCAST(struct AHCIPCIState, card, dev);

      msi_uninit(dev);
-    qemu_unregister_reset(ahci_reset, d);
+    qemu_unregister_reset(ahci_reset, &d->ahci);
      ahci_uninit(&d->ahci);

      return 0;
-- 
1.7.5.4

^ permalink raw reply related	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2011-12-24  9:21 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-12-22 18:20 [Qemu-devel] [PATCH v2 0/9] various ARM fixes Mark Langsdorf
2011-12-22 18:20 ` [Qemu-devel] [PATCH v2 1/9] arm: add missing scu registers Mark Langsdorf
2011-12-24  0:23   ` Peter Maydell
2011-12-22 18:20 ` [Qemu-devel] [PATCH v2 2/9] arm: Set frequencies for arm_timer Mark Langsdorf
2011-12-24  0:26   ` Peter Maydell
2011-12-24  9:19   ` Andreas Färber
2011-12-22 18:20 ` [Qemu-devel] [PATCH v2 3/9] arm: add dummy v7 cp15 config_base_register Mark Langsdorf
2011-12-24  0:30   ` Peter Maydell
2011-12-22 18:20 ` [Qemu-devel] [PATCH v2 4/9] arm: add dummy gic security registers Mark Langsdorf
2011-12-24  0:32   ` Peter Maydell
2011-12-22 18:20 ` [Qemu-devel] [PATCH 5/9] ahci: convert ahci_reset to use AHCIState Mark Langsdorf
2011-12-24  0:35   ` Peter Maydell
2011-12-22 18:20 ` [Qemu-devel] [PATCH 6/9] ahci: add support for non-PCI based controllers Mark Langsdorf
2011-12-24  0:39   ` Peter Maydell
2011-12-22 18:20 ` [Qemu-devel] [PATCH v2 7/9] add L2x0/PL310 cache controller device Mark Langsdorf
2011-12-24  0:53   ` Peter Maydell
2011-12-22 18:20 ` [Qemu-devel] [PATCH v2 8/9] Add xgmac ethernet model Mark Langsdorf
2011-12-22 18:20 ` [Qemu-devel] [PATCH 9/9] arm: increase a9mp interrupts to 160 Mark Langsdorf
2011-12-24  0:54   ` Rob Herring
2011-12-24  1:10     ` Peter Maydell
  -- strict thread matches above, loose matches on Subject: below --
2011-12-20 19:12 [Qemu-devel] [PATCH 5/9] ahci: convert ahci_reset to use AHCIState Mark Langsdorf

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.