*/
void tb_invalidate_phys_range(tb_page_addr_t start, tb_page_addr_t end)
{
+#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, 0);
start &= TARGET_PAGE_MASK;
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) {
end = TARGET_PAGE_ALIGN(start + len);
start = start & TARGET_PAGE_MASK;
+#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 0;
+#endif
+
for (addr = start, len = end - start;
len != 0;
len -= TARGET_PAGE_SIZE, addr += TARGET_PAGE_SIZE) {