From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:33184) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RkZol-0006Dg-4s for qemu-devel@nongnu.org; Tue, 10 Jan 2012 06:24:44 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RkZoe-00060v-Ru for qemu-devel@nongnu.org; Tue, 10 Jan 2012 06:24:39 -0500 Received: from cantor2.suse.de ([195.135.220.15]:41622 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RkZoe-00060n-As for qemu-devel@nongnu.org; Tue, 10 Jan 2012 06:24:32 -0500 Message-ID: <4F0C1F8C.9040404@suse.de> Date: Tue, 10 Jan 2012 12:22:52 +0100 From: =?ISO-8859-15?Q?Andreas_F=E4rber?= MIME-Version: 1.0 References: <1325793761-10249-1-git-send-email-mark.langsdorf@calxeda.com> <1326128349-3465-1-git-send-email-mark.langsdorf@calxeda.com> <1326128349-3465-4-git-send-email-mark.langsdorf@calxeda.com> In-Reply-To: <1326128349-3465-4-git-send-email-mark.langsdorf@calxeda.com> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v4 3/6] ahci: add support for non-PCI based controllers List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Mark Langsdorf Cc: i.mitsyanko@gmail.com, peter.maydell@linaro.org, qemu-devel@nongnu.org, Rob Herring , Alexander Graf Am 09.01.2012 17:59, schrieb Mark Langsdorf: > From: Rob Herring >=20 > Add support for ahci on sysbus. >=20 > Signed-off-by: Rob Herring > Signed-off-by: Mark Langsdorf > --- > Changes from v3 > Renamed plat-ahci to sysbus-ahci The idea was to get rid of "plat" everywhere, not just in the qdev name. Maybe I'm biased because platt is the German adjective for flat. Please call it sysbus/SysBus consistently. > Changes from v1, v2 > Corrected indentation of PlatAHCIState members > Made plat_ahci_info into a single structure, not a list >=20 > hw/ide/ahci.c | 31 +++++++++++++++++++++++++++++++ > 1 files changed, 31 insertions(+), 0 deletions(-) >=20 > diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c > index 135d0ee..982ee31 100644 > --- a/hw/ide/ahci.c > +++ b/hw/ide/ahci.c > @@ -25,6 +25,7 @@ > #include > #include > #include > +#include > =20 > #include "monitor.h" > #include "dma.h" > @@ -1214,3 +1215,33 @@ 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 =3D FROM_SYSBUS(PlatAHCIState, dev); > + ahci_init(&s->ahci, &dev->qdev, 1); Maybe the number of ports (1) should be a qdev property? > + > + 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 =3D { > + .qdev.name =3D "sysbus-ahci", > + .qdev.size =3D sizeof(PlatAHCIState), You should prepare a dummy VMStateDescription to mark it as unmigratable for now (cf. hw/ide/ich.c). Migration support is the upcoming series I recently cc'ed you on. Otherwise looking good. Andreas > + .init =3D plat_ahci_init, > +}; > + > +static void plat_ahci_register(void) > +{ > + sysbus_register_withprop(&plat_ahci_info); > +} > + > +device_init(plat_ahci_register); --=20 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N=FCrnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend=F6rffer; HRB 16746 AG N=FCrnbe= rg