summary refs log tree commit diff stats
path: root/scripts/qapi-introspect.py
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2017-09-04 15:21:53 +0100
committerPeter Maydell <peter.maydell@linaro.org>2017-09-04 15:21:53 +0100
commiteb578a2394c55f7d598f60796c8318e40b1c0241 (patch)
treeddf581003683226733e9548fa0ec03bc773dbc15 /scripts/qapi-introspect.py
parentd2db1de6ff15aad4c8898a416c6d8f2d93ff0282 (diff)
downloadfocaccia-qemu-eb578a2394c55f7d598f60796c8318e40b1c0241.tar.gz
focaccia-qemu-eb578a2394c55f7d598f60796c8318e40b1c0241.zip
nvic: Implement "user accesses BusFault" SCS region behaviour
The ARMv7M architecture specifies that most of the addresses in the
PPB region (which includes the NVIC, systick and system registers)
are not accessible to unprivileged accesses, which should
BusFault with a few exceptions:
 * the STIR is configurably user-accessible
 * the ITM (which we don't implement at all) is always
   user-accessible

Implement this by switching the register access functions
to the _with_attrs scheme that lets us distinguish user
mode accesses.

This allows us to pull the handling of the CCR.USERSETMPEND
flag up to the level where we can make it generate a BusFault
as it should for non-permitted accesses.

Note that until the core ARM CPU code implements turning
MEMTX_ERROR into a BusFault the registers will continue to
act as RAZ/WI to user accesses.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 1501692241-23310-16-git-send-email-peter.maydell@linaro.org
Diffstat (limited to 'scripts/qapi-introspect.py')
0 files changed, 0 insertions, 0 deletions