From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41284) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a6yTk-0007lY-Kg for qemu-devel@nongnu.org; Thu, 10 Dec 2015 05:29:41 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a6yTi-0007N5-5G for qemu-devel@nongnu.org; Thu, 10 Dec 2015 05:29:40 -0500 From: Markus Armbruster Date: Thu, 10 Dec 2015 11:29:25 +0100 Message-Id: <1449743372-17169-6-git-send-email-armbru@redhat.com> In-Reply-To: <1449743372-17169-1-git-send-email-armbru@redhat.com> References: <1449743372-17169-1-git-send-email-armbru@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [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: qemu-devel@nongnu.org Cc: =?UTF-8?q?Andreas=20F=C3=A4rber?= , qemu-ppc@nongnu.org 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. 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(-) 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 **errp) } } if (bios_size < 0 || bios_size > BIOS_SIZE) { + /* FIXME should error_setg() */ hw_error("qemu: could not load bios image '%s'\n", s->bios_n= ame); } g_free(filename); @@ -355,8 +356,9 @@ static void raven_class_init(ObjectClass *klass, void= *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; } --=20 2.4.3