unicorn/qemu/target
Peter Maydell 928f226ed6
target/arm: v8M MPU should use background region as default, not always
The "background region" for a v8M MPU is a default which will be used
(if enabled, and if the access is privileged) if the access does
not match any specific MPU region. We were incorrectly using it
always (by putting the condition at the wrong nesting level). This
meant that we would always return the default background permissions
rather than the correct permissions for a specific region, and also
that we would not return the right information in response to a
TT instruction.

Move the check for the background region to the same place in the
logic as the equivalent v8M MPUCheck() pseudocode puts it.
This in turn means we must adjust the condition we use to detect
matches in multiple regions to avoid false-positives.

Backports commit cff21316c666c8053b1f425577e324038d0ca30d from qemu
2019-02-22 18:30:44 -05:00
..
arm target/arm: v8M MPU should use background region as default, not always 2019-02-22 18:30:44 -05:00
i386 Revert "i386: Add CPUID bit for PCONFIG" 2019-02-07 08:56:40 -05:00
m68k target/m68k: Fix LGPL information in the file headers 2019-02-03 17:55:29 -05:00
mips target/mips: reimplement SC instruction emulation and use cmpxchg 2019-02-15 17:10:16 -05:00
sparc target: Resolve repeated typedef warnings 2019-01-22 20:27:35 -05:00