]> git.ipfire.org Git - thirdparty/qemu.git/commit
mips: Decide to map PAGE_EXEC in map_address
authorJakub Jermář <jakub.jermar@kernkonzept.com>
Fri, 17 May 2019 12:35:33 +0000 (14:35 +0200)
committerAleksandar Markovic <amarkovic@wavecomp.com>
Sun, 26 May 2019 15:33:24 +0000 (17:33 +0200)
commit7353113fa482e697a77575086a41f429a01f8dc0
tree48c01b6c7d46e239ac8bf8b22a6a26c32d9c2da2
parentc1c9a10fb1f7a6782711817c167a2c20b000fc12
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')
Signed-off-by: Jakub Jermář <jakub.jermar@kernkonzept.com>
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20190517123533.868479-1-jakub.jermar@kernkonzept.com>
target/mips/helper.c