* [Qemu-devel] [PATCH 6/9] ahci: add support for non-PCI based controllers
@ 2011-12-20 19:13 Mark Langsdorf
0 siblings, 0 replies; 3+ messages in thread
From: Mark Langsdorf @ 2011-12-20 19:13 UTC (permalink / raw)
To: kwolf, qemu-devel, paul, peter.maydell
From: Rob Herring <rob.herring@calxeda.com>
Add support for ahci on sysbus.
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Mark Langsdorf <mark.langsdorf@calxeda.com>
---
hw/ide/ahci.c | 35 +++++++++++++++++++++++++++++++++++
1 files changed, 35 insertions(+), 0 deletions(-)
diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
index 135d0ee..8b56509 100644
--- a/hw/ide/ahci.c
+++ b/hw/ide/ahci.c
@@ -25,6 +25,7 @@
#include <hw/msi.h>
#include <hw/pc.h>
#include <hw/pci.h>
+#include <hw/sysbus.h>
#include "monitor.h"
#include "dma.h"
@@ -1214,3 +1215,37 @@ void ahci_reset(void *opaque)
ahci_reset_port(s, i);
}
}
+
+typedef struct PlatAHCIState {
+ SysBusDevice busdev;
+ AHCIState ahci;
+} PlatAHCIState;
+
+static int plat_ahci_init(SysBusDevice *dev)
+{
+ PlatAHCIState *s = FROM_SYSBUS(PlatAHCIState, dev);
+ ahci_init(&s->ahci, &dev->qdev, 1);
+
+ sysbus_init_mmio(dev, &s->ahci.mem);
+ sysbus_init_irq(dev, &s->ahci.irq);
+
+ qemu_register_reset(ahci_reset, &s->ahci);
+ return 0;
+}
+
+static SysBusDeviceInfo plat_ahci_info[] = {
+ {
+ .qdev.name = "plat-ahci",
+ .qdev.size = sizeof(PlatAHCIState),
+ .init = plat_ahci_init,
+ },{
+ /* end of list */
+ }
+};
+
+static void plat_ahci_register(void)
+{
+ sysbus_register_withprop(plat_ahci_info);
+}
+device_init(plat_ahci_register);
+
--
1.7.5.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Qemu-devel] [PATCH v2 0/9] various ARM fixes
@ 2011-12-22 18:20 Mark Langsdorf
2011-12-22 18:20 ` [Qemu-devel] [PATCH 6/9] ahci: add support for non-PCI based controllers Mark Langsdorf
0 siblings, 1 reply; 3+ 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] 3+ messages in thread
* [Qemu-devel] [PATCH 6/9] ahci: add support for non-PCI based controllers
2011-12-22 18:20 [Qemu-devel] [PATCH v2 0/9] various ARM fixes Mark Langsdorf
@ 2011-12-22 18:20 ` Mark Langsdorf
2011-12-24 0:39 ` Peter Maydell
0 siblings, 1 reply; 3+ messages in thread
From: Mark Langsdorf @ 2011-12-22 18:20 UTC (permalink / raw)
To: qemu-devel; +Cc: kwolf, peter.maydell, Rob Herring, paul, Mark Langsdorf
From: Rob Herring <rob.herring@calxeda.com>
Add support for ahci on sysbus.
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Mark Langsdorf <mark.langsdorf@calxeda.com>
---
hw/ide/ahci.c | 35 +++++++++++++++++++++++++++++++++++
1 files changed, 35 insertions(+), 0 deletions(-)
diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
index 135d0ee..8b56509 100644
--- a/hw/ide/ahci.c
+++ b/hw/ide/ahci.c
@@ -25,6 +25,7 @@
#include <hw/msi.h>
#include <hw/pc.h>
#include <hw/pci.h>
+#include <hw/sysbus.h>
#include "monitor.h"
#include "dma.h"
@@ -1214,3 +1215,37 @@ void ahci_reset(void *opaque)
ahci_reset_port(s, i);
}
}
+
+typedef struct PlatAHCIState {
+ SysBusDevice busdev;
+ AHCIState ahci;
+} PlatAHCIState;
+
+static int plat_ahci_init(SysBusDevice *dev)
+{
+ PlatAHCIState *s = FROM_SYSBUS(PlatAHCIState, dev);
+ ahci_init(&s->ahci, &dev->qdev, 1);
+
+ sysbus_init_mmio(dev, &s->ahci.mem);
+ sysbus_init_irq(dev, &s->ahci.irq);
+
+ qemu_register_reset(ahci_reset, &s->ahci);
+ return 0;
+}
+
+static SysBusDeviceInfo plat_ahci_info[] = {
+ {
+ .qdev.name = "plat-ahci",
+ .qdev.size = sizeof(PlatAHCIState),
+ .init = plat_ahci_init,
+ },{
+ /* end of list */
+ }
+};
+
+static void plat_ahci_register(void)
+{
+ sysbus_register_withprop(plat_ahci_info);
+}
+device_init(plat_ahci_register);
+
--
1.7.5.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH 6/9] ahci: add support for non-PCI based controllers
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
0 siblings, 0 replies; 3+ messages in thread
From: Peter Maydell @ 2011-12-24 0:39 UTC (permalink / raw)
To: Mark Langsdorf; +Cc: kwolf, qemu-devel, Rob Herring, paul
On 22 December 2011 18:20, Mark Langsdorf <mark.langsdorf@calxeda.com> wrote:
> From: Rob Herring <rob.herring@calxeda.com>
>
> Add support for ahci on sysbus.
Again, IDE isn't my domain, but some minor points:
> +typedef struct PlatAHCIState {
> + SysBusDevice busdev;
> + AHCIState ahci;
> +} PlatAHCIState;
Indentation is wrong here.
> +static SysBusDeviceInfo plat_ahci_info[] = {
> + {
> + .qdev.name = "plat-ahci",
> + .qdev.size = sizeof(PlatAHCIState),
> + .init = plat_ahci_init,
> + },{
> + /* end of list */
> + }
> +};
> +
> +static void plat_ahci_register(void)
> +{
> + sysbus_register_withprop(plat_ahci_info);
> +}
sysbus_register_withprop() takes a single SysBusDeviceInfo,
not a list.
-- PMM
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-12-24 0:39 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-12-20 19:13 [Qemu-devel] [PATCH 6/9] ahci: add support for non-PCI based controllers Mark Langsdorf
-- strict thread matches above, loose matches on Subject: below --
2011-12-22 18:20 [Qemu-devel] [PATCH v2 0/9] various ARM fixes Mark Langsdorf
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
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).