diff options
author | Miodrag Dinic <miodrag.dinic@imgtec.com> | 2015-04-22 19:50:04 +0200 |
---|---|---|
committer | Miodrag Dinic <miodrag.dinic@imgtec.com> | 2015-06-02 17:15:42 +0200 |
commit | 83b3110899144837f784f6590b1f10225d32ff2f (patch) | |
tree | 996c81d15ca1bd70bc2e9b960a1ca35b0d848ff3 /translate-all.h | |
parent | dc74329dab86ae1f8a7762adb2c756adaf8649b2 (diff) | |
download | qemu-83b3110899144837f784f6590b1f10225d32ff2f.tar.gz |
Handle CPU interrupts by inline checking of a flag
Fix some of the nasty TCG race conditions and crashes by implementing
cpu_exit() as setting a flag which is checked at the start of each TB.
This avoids crashes if a thread or signal handler calls cpu_exit()
while the execution thread is itself modifying the TB graph.
This commit reflects following two commits from QEMU ToT:
Main part of the solution:
378df4b Handle CPU interrupts by inline checking of a flag
Code cleanup:
3a808cc translate-all.c: Remove cpu_unlink_tb()
Change-Id: I88d900d2919b00fd4b5cea3c916fb5cdcbaf036c
Diffstat (limited to 'translate-all.h')
-rw-r--r-- | translate-all.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/translate-all.h b/translate-all.h index 498db1b8ff..864ae6504c 100644 --- a/translate-all.h +++ b/translate-all.h @@ -31,7 +31,6 @@ /* translate-all.c */ bool tcg_enabled(void); void tb_invalidate_phys_page_fast(tb_page_addr_t start, int len); -void cpu_unlink_tb(CPUOldState *cpu); void tb_check_watchpoint(CPUArchState *env); #endif /* TRANSLATE_ALL_H */ |