qemu-e2k/include
Alex Bennée e5143e30fb tcg: remove global exit_request
There are now only two uses of the global exit_request left.

The first ensures we exit the run_loop when we first start to process
pending work and in the kick handler. This is just as easily done by
setting the first_cpu->exit_request flag.

The second use is in the round robin kick routine. The global
exit_request ensured every vCPU would set its local exit_request and
cause a full exit of the loop. Now the iothread isn't being held while
running we can just rely on the kick handler to push us out as intended.

We lightly re-factor the main vCPU thread to ensure cpu->exit_requests
cause us to exit the main loop and process any IO requests that might
come along. As an cpu->exit_request may legitimately get squashed
while processing the EXCP_INTERRUPT exception we also check
cpu->queued_work_first to ensure queued work is expedited as soon as
possible.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <rth@twiddle.net>
2017-02-24 10:32:45 +00:00
..
block block: document fields protected by AioContext lock 2017-02-21 11:39:40 +00:00
crypto
disas Fix Thumb-1 BE32 execution and disassembly. 2017-02-07 18:29:59 +00:00
exec tcg: remove global exit_request 2017-02-24 10:32:45 +00:00
fpu target-ppc: Add xscvdphp, xscvhpdp 2017-01-31 10:10:14 +11:00
hw hw: xilinx-pcie: Add support for Xilinx AXI PCIe Controller 2017-02-21 23:49:29 +00:00
io io: make qio_channel_yield aware of AioContexts 2017-02-21 11:14:07 +00:00
libdecnumber
migration migration: Add VMSTATE_WITH_TMP 2017-02-13 17:27:14 +00:00
monitor char: rename CharDriverState Chardev 2017-01-27 18:07:59 +01:00
net
qapi
qemu coroutine-lock: make CoRwlock thread-safe and fair 2017-02-21 11:39:40 +00:00
qom tcg: drop global lock during TCG code execution 2017-02-24 10:32:45 +00:00
standard-headers
sysemu tcg: add options for enabling MTTCG 2017-02-24 10:32:45 +00:00
ui spice: allow to specify drm rendernode 2017-02-20 12:44:32 +01:00
elf.h
glib-compat.h
qemu-common.h
qemu-io.h
trace-tcg.h