Re: [Qemu-devel] [PATCH v2 2/2] xen-platform: Replace assert() with appropriate error reporting
On Wed, 21 Oct 2015, 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 > $ > > Signed-off-by: Eduardo HabkostApplied to my tree > Changes v1 -> v2:* > * Use error_setg() instead of error_report() > * Suggested-by: Paolo Bonzini > --- > 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 3dc68cb..de83f4e 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 > > @@ -388,7 +389,10 @@ static void xen_platform_realize(PCIDevice *dev, Error > **errp) > uint8_t *pci_conf; > > /* Device will crash on reset if xen is not initialized */ > -assert(xen_enabled()); > +if (!xen_enabled()) { > +error_setg(errp, "xen-platform device requires the Xen accelerator"); > +return; > +} > > pci_conf = dev->config; > > -- > 2.1.0 >
[Qemu-devel] [PATCH v2 2/2] xen-platform: Replace assert() with appropriate error reporting
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 $ Signed-off-by: Eduardo Habkost--- Changes v1 -> v2:* * Use error_setg() instead of error_report() * Suggested-by: Paolo Bonzini --- 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 3dc68cb..de83f4e 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 @@ -388,7 +389,10 @@ static void xen_platform_realize(PCIDevice *dev, Error **errp) uint8_t *pci_conf; /* Device will crash on reset if xen is not initialized */ -assert(xen_enabled()); +if (!xen_enabled()) { +error_setg(errp, "xen-platform device requires the Xen accelerator"); +return; +} pci_conf = dev->config; -- 2.1.0