On 7 December 2017 at 17:07, Eduardo Habkost <ehabk...@redhat.com> wrote:
> On Thu, Dec 07, 2017 at 04:53:59PM +0000, Peter Maydell wrote:
>> On 7 December 2017 at 16:48, Igor Mammedov <imamm...@redhat.com> wrote:
>> > On Thu, 7 Dec 2017 16:05:50 +0000
>> > Peter Maydell <peter.mayd...@linaro.org> wrote:
>> >
>> >> Hi; I'm currently writing '-cpu max' support for ARM. For that I'd
>> >> like to be able to do the "probe host kernel for its supported feature
>> >> set" in the CPU object's instance-init function, but I'd like to do
>
> I don't think instance_init is appropriate for that, as
> object_free(object_new(t)) must be always safe to call and free
> of side-effects for all types.  Wouldn't it work if you do that
> on realize?

I think we need the information before realize, but I'll double
check. In any case the probe is safe to call and free of side-effects.
(If it fails we can stash a flag that we didn't manage to probe, which
realize can check.)

>> Right, that was my question -- are we guaranteed that anything
>> that calls object_new(cpu) does it with a lock?
>
> object_new() itself doesn't seem to be thread-safe (see
> type_initialize()), so I'm pretty sure there shouldn't be any
> object_new() calls in QEMU without the BQL being held.

Cool.

thanks
-- PMM

Reply via email to