diff options
author | Maxim Ostapenko <m.ostapenko@samsung.com> | 2016-07-08 15:47:42 +0300 |
---|---|---|
committer | Maxim Ostapenko <m.ostapenko@samsung.com> | 2016-07-08 15:54:51 +0300 |
commit | 4ea93b02f2cc12610c4d3a9a042e9604eb7bb5f5 (patch) | |
tree | d52c1988cbbd1614554b18c416594756ad8d24cc | |
parent | 2bb4ce4cad5accf253051789f2b9a01b2136a0cd (diff) | |
download | qemu-sandbox/jolfzverb/asan.tar.gz qemu-sandbox/jolfzverb/asan.tar.bz2 qemu-sandbox/jolfzverb/asan.zip |
Another ASan related hack to speedup aarc64 builds.sandbox/jolfzverb/asan
Change-Id: I8233802ee35db00c799f5645072b8014f823b5c6
Signed-off-by: Maxim Ostapenko <m.ostapenko@samsung.com>
-rw-r--r-- | translate-all.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/translate-all.c b/translate-all.c index 10fdab5c7..64be03fc3 100644 --- a/translate-all.c +++ b/translate-all.c @@ -1083,6 +1083,16 @@ TranslationBlock *tb_gen_code(CPUState *cpu, void tb_invalidate_phys_range(tb_page_addr_t start, tb_page_addr_t end, int is_cpu_write_access) { +#if TARGET_LONG_SIZE == 8 + target_ulong asan_low_shadow_start = 0x0ffffff000; + target_ulong asan_shadow_gap_start = 0x1200000000; + target_ulong asan_high_shadow_start = 0x1400000000; + + if (start == asan_low_shadow_start || start == asan_shadow_gap_start + || start == asan_high_shadow_start) + return; +#endif + while (start < end) { tb_invalidate_phys_page_range(start, end, is_cpu_write_access); start &= TARGET_PAGE_MASK; @@ -1814,6 +1824,16 @@ void page_set_flags(target_ulong start, target_ulong end, int flags) flags |= PAGE_WRITE_ORG; } +#if TARGET_LONG_SIZE == 8 + target_ulong asan_low_shadow_start = 0x0ffffff000; + target_ulong asan_shadow_gap_start = 0x1200000000; + target_ulong asan_high_shadow_start = 0x1400000000; + + if (start == asan_low_shadow_start || start == asan_shadow_gap_start + || start == asan_high_shadow_start) + return; +#endif + for (addr = start, len = end - start; len != 0; len -= TARGET_PAGE_SIZE, addr += TARGET_PAGE_SIZE) { |