tcg: Add EXCP_ATOMIC

When we cannot emulate an atomic operation within a parallel
context, this exception allows us to stop the world and try
again in a serial context.

Backports commit fdbc2b5722f6092e47181a947c90fd4bdcc1c121 from qemu

Also backports parts of commit 02d57ea115b7669f588371c86484a2e8ebc369be
This commit is contained in:
Richard Henderson 2018-02-27 11:12:36 -05:00 committed by Lioncash
parent d5510a546f
commit e35aacd5ae
No known key found for this signature in database
GPG key ID: 4E3C3CC1031BA9C7
22 changed files with 138 additions and 0 deletions

View file

@ -210,6 +210,8 @@ struct uc_struct {
/* code generation context */
void *tcg_ctx; // for "TCGContext tcg_ctx" in qemu/translate-all.c
bool parallel_cpus; // for "bool parallel_cpus" in qemu/translate-all.c
/* memory.c */
unsigned memory_region_transaction_depth;
bool memory_region_update_pending;