summaryrefslogtreecommitdiffstats
path: root/include/exec
diff options
context:
space:
mode:
authorAlex Bennée2016-10-27 17:10:00 +0200
committerPaolo Bonzini2016-10-31 10:24:45 +0100
commit301e40ed8005306c009978be295ed9a4b725178b (patch)
treedef80cfa920343922b422eee9c3a9355fb8bf2d4 /include/exec
parenttranslate_all: DEBUG_FLUSH -> DEBUG_TB_FLUSH (diff)
downloadqemu-301e40ed8005306c009978be295ed9a4b725178b.tar.gz
qemu-301e40ed8005306c009978be295ed9a4b725178b.tar.xz
qemu-301e40ed8005306c009978be295ed9a4b725178b.zip
translate-all: add DEBUG_LOCKING asserts
This adds asserts to check the locking on the various translation engines structures. There are two sets of structures that are protected by locks. The first the l1map and PageDesc structures used to track which translation blocks are associated with which physical addresses. In user-mode this is covered by the mmap_lock. The second case are TB context related structures which are protected by tb_lock which is also user-mode only. Currently the asserts do nothing in SoftMMU mode but this will change for MTTCG. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <rth@twiddle.net> Message-Id: <20161027151030.20863-4-alex.bennee@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'include/exec')
-rw-r--r--include/exec/exec-all.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h
index cb624e4acc..4d36ee38f7 100644
--- a/include/exec/exec-all.h
+++ b/include/exec/exec-all.h
@@ -369,6 +369,7 @@ void tlb_fill(CPUState *cpu, target_ulong addr, MMUAccessType access_type,
#if defined(CONFIG_USER_ONLY)
void mmap_lock(void);
void mmap_unlock(void);
+bool have_mmap_lock(void);
static inline tb_page_addr_t get_page_addr_code(CPUArchState *env1, target_ulong addr)
{