Il 08/10/2012 18:02, Peter Maydell ha scritto: >> > It's not (only) about a missing event for the serial frontend, it's also >> > about a spurious open event to the monitor. That generates unwanted >> > output during startup. > Right, so whatever's sending that event needs not to do so until > creation of the machine is complete. Sending events randomly > halfway through init is a recipe for problems...
So we now have proof that using bottom halves outside the block layer was a bad idea. Thanks Jan. :) If Stefan goes on with the AioContext idea, we can have separate AioContexts for qemu_bh_new on one side and for block devices on the other, so that qemu_bh_new bottom halves won't fire just because something is calling the block layer. In the meanwhile, qemu_char could use a QEMUTimer expiring in the past instead of a bottom half. Paolo