On Fri, Jun 22, 2012 at 9:31 AM, Peter Maydell <peter.mayd...@linaro.org> wrote:
> On 22 June 2012 09:20, Peter Crosthwaite
> <peter.crosthwa...@petalogix.com> wrote:
>> Its a machine model that instantiated some block devices concurrently.
>> Theres some chicken-and-egg issues with the instantiation such that
>> they have the happen concurrently. One device instantiates a block
>> device (pflash_cfi_01) from coroutine context. block then check
>> qemu_in_coroutine() which returns true so it uses my coroutine for its
>> inner workings, whereas if it were a normal machine model it would
>> kick of its own coroutine to do its block stuff.
>
> I think the problem here is trying to instantiate bits of the
> machine model inside coroutines -- that just sounds wrong to me.
> Model and device instantiate should be a straightforward single
> threaded bit of code; if it isn't then something needs to be
> straightened out so you don't have your chicken-and-egg problem.

Yes, I agree with Peter here.

Stefan

Reply via email to