• P
    i8257: rewrite DMA_schedule to avoid hooking into the CPU loop · 19d2b5e6
    Paolo Bonzini 提交于
    The i8257 DMA controller uses an idle bottom half, which by default
    does not cause the main loop to exit.  Therefore, the DMA_schedule
    function is there to ensure that the CPU relinquishes the iothread
    mutex to the iothread.
    
    However, this is not enough since the iothread will call
    aio_compute_timeout() and go to sleep again.  In the iothread
    world, forcing execution of the idle bottom half is much simpler,
    and only requires a call to qemu_notify_event().  Do it, removing
    the need for the "cpu_request_exit" pseudo-irq.  The next patch
    will remove it.
    Reviewed-by: NRichard Henderson <rth@twiddle.net>
    Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
    19d2b5e6
sun4m.c 44.5 KB