From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48931) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a8Q4p-0004V7-S5 for qemu-devel@nongnu.org; Mon, 14 Dec 2015 05:09:59 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a8Q4k-0005PA-Tw for qemu-devel@nongnu.org; Mon, 14 Dec 2015 05:09:55 -0500 References: <1449743372-17169-1-git-send-email-armbru@redhat.com> <1449743372-17169-6-git-send-email-armbru@redhat.com> From: Thomas Huth Message-ID: <566E9568.3090501@redhat.com> Date: Mon, 14 Dec 2015 11:09:44 +0100 MIME-Version: 1.0 In-Reply-To: <1449743372-17169-6-git-send-email-armbru@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH 05/12] raven: Mark use of hw_error() in realize() FIXME List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Markus Armbruster , qemu-devel@nongnu.org Cc: =?UTF-8?Q?Andreas_F=c3=a4rber?= , qemu-ppc@nongnu.org, Alexander Graf , David Gibson On 10/12/15 11:29, Markus Armbruster wrote: > Device realize() methods aren't supposed to call hw_error(), they > should set an error and fail cleanly. Blindly doing that would be > easy enough, but then realize() would fail without undoing its side > effects. Just mark it FIXME for now. >=20 > Cc: "Andreas F=C3=A4rber" > Cc: qemu-ppc@nongnu.org > Signed-off-by: Markus Armbruster > --- > hw/pci-host/prep.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) >=20 > diff --git a/hw/pci-host/prep.c b/hw/pci-host/prep.c > index da88cb3..f434596 100644 > --- a/hw/pci-host/prep.c > +++ b/hw/pci-host/prep.c > @@ -326,6 +326,7 @@ static void raven_realize(PCIDevice *d, Error **err= p) > } > } > if (bios_size < 0 || bios_size > BIOS_SIZE) { > + /* FIXME should error_setg() */ > hw_error("qemu: could not load bios image '%s'\n", s->bios= _name); > } > g_free(filename); > @@ -355,8 +356,9 @@ static void raven_class_init(ObjectClass *klass, vo= id *data) > dc->desc =3D "PReP Host Bridge - Motorola Raven"; > dc->vmsd =3D &vmstate_raven; > /* > - * PCI-facing part of the host bridge, not usable without the > - * host-facing part, which can't be device_add'ed, yet. > + * Reason: PCI-facing part of the host bridge, not usable without > + * the host-facing part, which can't be device_add'ed, yet. > + * Reason: realize() method uses hw_error(). > */ > dc->cannot_instantiate_with_device_add_yet =3D true; > } Reviewed-by: Thomas Huth