qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2] qom: Introduce object_realize_nofail()


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH v2] qom: Introduce object_realize_nofail()
Date: Thu, 12 Apr 2012 16:59:04 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20120329 Thunderbird/11.0.1

Il 12/04/2012 16:47, Anthony Liguori ha scritto:
> 
>> Wrap setting of Object::realized property, error reporting and exit(1)
>> into a helper function. It is the equivalent of qdev_init_nofail().
> 
> I don't like this.
> 
> If for no reason other than, a much more specific justification is
> needed for this.  I absolutely don't want to repeat the error handling
> mistakes of qdev.  I would rather we refactor all of the users of
> qdev_init_nofail() to propagate errors.

I agree about this in general, but for a different reason.  There should be
only one call to object_realize_nofail, in vl.c, which might as well be
inlined---I'll include it in my series.  All calls to qdev_init_nofail
and qdev_init should disappear from boards that are properly converted
to QOM.  Next on my QOM list (for 1.2) is a scripted refactoring to

ISADevice *rtc_init(ISABus *bus, int base_year, qemu_irq intercept_irq);

to

ISADevice *rtc_new(ISABus *bus, int base_year, qemu_irq intercept_irq);

static ISADevice *rtc_init(ISABus *bus, int base_year, qemu_irq intercept_irq)
{
    ISADevice *dev = rtc_new(bus, base_year, intercept_irq);
    qdev_init_nofail(dev);
    return dev;
}

Paolo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]