From: Paolo Bonzini <pbonzini@redhat.com>
To: Eduardo Habkost <ehabkost@redhat.com>,
Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] xen-platform: Replace assert() with appropriate error reporting
Date: Mon, 19 Oct 2015 21:42:58 +0200 [thread overview]
Message-ID: <562547C2.2070803@redhat.com> (raw)
In-Reply-To: <1445279965-19667-1-git-send-email-ehabkost@redhat.com>
On 19/10/2015 20:39, Eduardo Habkost wrote:
> Commit dbb7405d8caad0814ceddd568cb49f163a847561 made it possible to
> trigger an assert using "-device xen-platform". Replace it with
> appropriate error reporting.
>
> Before:
>
> $ qemu-system-x86_64 -device xen-platform
> qemu-system-x86_64: hw/i386/xen/xen_platform.c:391: xen_platform_initfn: Assertion `xen_enabled()' failed.
> Aborted (core dumped)
> $
>
> After:
>
> $ qemu-system-x86_64 -device xen-platform
> qemu-system-x86_64: -device xen-platform: xen-platform device requires the Xen accelerator
> qemu-system-x86_64: -device xen-platform: Device initialization failed
> $
>
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
> hw/i386/xen/xen_platform.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/hw/i386/xen/xen_platform.c b/hw/i386/xen/xen_platform.c
> index 8682c42..5667f29 100644
> --- a/hw/i386/xen/xen_platform.c
> +++ b/hw/i386/xen/xen_platform.c
> @@ -33,6 +33,7 @@
> #include "trace.h"
> #include "exec/address-spaces.h"
> #include "sysemu/block-backend.h"
> +#include "qemu/error-report.h"
>
> #include <xenguest.h>
>
> @@ -388,7 +389,10 @@ static int xen_platform_initfn(PCIDevice *dev)
> uint8_t *pci_conf;
>
> /* Device will crash on reset if xen is not initialized */
> - assert(xen_enabled());
> + if (!xen_enabled()) {
> + error_report("xen-platform device requires the Xen accelerator");
You can use PCIDeviceClass's realize (see Stefano's
http://thread.gmane.org/gmane.comp.emulators.qemu/369998) to achieve
better error propagation.
Paolo
> + return -1;
> + }
>
> pci_conf = dev->config;
>
>
next prev parent reply other threads:[~2015-10-19 19:43 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-19 18:39 [Qemu-devel] [PATCH] xen-platform: Replace assert() with appropriate error reporting Eduardo Habkost
2015-10-19 19:42 ` Paolo Bonzini [this message]
2015-10-20 10:01 ` Stefano Stabellini
2015-10-20 15:38 ` Eduardo Habkost
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=562547C2.2070803@redhat.com \
--to=pbonzini@redhat.com \
--cc=ehabkost@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefano.stabellini@eu.citrix.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.