qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] versatile: Push lsi initialization to the end


From: Peter Maydell
Subject: Re: [Qemu-devel] [PATCH] versatile: Push lsi initialization to the end
Date: Mon, 8 Oct 2012 17:33:17 +0100

On 5 October 2012 18:30, Jan Kiszka <address@hidden> wrote:
> This is nasty, but there is no better way given current mux logic:
>
> As setting up the block device will trigger a qemu_bh_poll while there
> are qemu_chr open events in the queue, we have to register the UARTs
> and everything else that might be mux'ed first so that the right active
> frontend is already registered when the bottom-half is finally
> processed.

So I guess this comes down to what the semantics of bottom halves are.
I can see two plausible options:

 1. bottom halves are a mechanism provided by our cpu/device
    simulation framework, and so will never be run before the
    simulation is fully initialised
  * this means devices can register BHs which set irq lines,
    send events to chr mux front ends etc etc
  * it also means that device setup mustn't trigger a bh_poll
    (so we'd need to track down the bit of the block device
    setup that's causing this)

 2. bottom halves are a generic mechanism that you can use
    not just as part of the simulation, and so BHs may run
    as soon as they're registered
  * this would let us use them for arbitrary purposes in init
  * we'd need to audit and fix all the current uses to check
    whether they're safe to run early or if they need to have
    a 'do nothing if simulation not running' check

Any opinions?

-- PMM



reply via email to

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