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: Richard Henderson <rth@twiddle.net> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> |
||
---|---|---|
.. | ||
etraxfs_dma.c | ||
i8257.c | ||
i82374.c | ||
Makefile.objs | ||
omap_dma.c | ||
pl080.c | ||
pl330.c | ||
puv3_dma.c | ||
pxa2xx_dma.c | ||
rc4030.c | ||
soc_dma.c | ||
sparc32_dma.c | ||
sun4m_iommu.c | ||
xilinx_axidma.c |