unicorn/qemu/target
Jakub Jermář 5b25eb80af
mips: Decide to map PAGE_EXEC in map_address
This commit addresses QEMU Bug #1825311:

mips_cpu_handle_mmu_fault renders all accessed pages executable

It allows finer-grained control over whether the accessed page should
be executable by moving the decision to the underlying map_address
function, which has more information for this.

As a result, pages that have the XI bit set in the TLB and are accessed
for read/write, don't suddenly end up being executable.

Fixes: https://bugs.launchpad.net/qemu/+bug/1825311
Fixes: 2fb58b73746e ('target-mips: add RI and XI fields to TLB entry')

Backports commit 7353113fa482e697a77575086a41f429a01f8dc0 from qemu
2019-05-28 19:44:28 -04:00
..
arm target/arm: Fix vector operation segfault 2019-05-24 18:02:32 -04:00
i386 target/i386: Implement CPUID_EXT_RDRAND 2019-05-23 15:12:50 -04:00
m68k target/m68k: Optimize rotate_x() using extract_i32() 2019-05-17 12:07:07 -04:00
mips mips: Decide to map PAGE_EXEC in map_address 2019-05-28 19:44:28 -04:00
riscv target/riscv: Only flush TLB if SATP.ASID changes 2019-05-28 19:22:51 -04:00
sparc tcg: Use CPUClass::tlb_fill in cputlb.c 2019-05-16 17:35:37 -04:00