|
@@ -1738,7 +1738,7 @@ tb_invalidate_phys_page_range__locked(struct page_collection *pages,
|
|
if (current_tb_modified) {
|
|
if (current_tb_modified) {
|
|
page_collection_unlock(pages);
|
|
page_collection_unlock(pages);
|
|
/* Force execution of one insn next time. */
|
|
/* Force execution of one insn next time. */
|
|
- cpu->cflags_next_tb = 1 | curr_cflags(cpu);
|
|
|
|
|
|
+ cpu->cflags_next_tb = 1 | CF_NOIRQ | curr_cflags(cpu);
|
|
mmap_unlock();
|
|
mmap_unlock();
|
|
cpu_loop_exit_noexc(cpu);
|
|
cpu_loop_exit_noexc(cpu);
|
|
}
|
|
}
|
|
@@ -1906,7 +1906,7 @@ static bool tb_invalidate_phys_page(tb_page_addr_t addr, uintptr_t pc)
|
|
#ifdef TARGET_HAS_PRECISE_SMC
|
|
#ifdef TARGET_HAS_PRECISE_SMC
|
|
if (current_tb_modified) {
|
|
if (current_tb_modified) {
|
|
/* Force execution of one insn next time. */
|
|
/* Force execution of one insn next time. */
|
|
- cpu->cflags_next_tb = 1 | curr_cflags(cpu);
|
|
|
|
|
|
+ cpu->cflags_next_tb = 1 | CF_NOIRQ | curr_cflags(cpu);
|
|
return true;
|
|
return true;
|
|
}
|
|
}
|
|
#endif
|
|
#endif
|