hw/intc/armv7m_nvic: Allow byte accesses to SHPR1
commit935fe442dc234c7b3fa52d346ced7a614696107e
authorPeter Maydell <peter.maydell@linaro.org>
Fri, 15 Feb 2019 09:56:39 +0000 (15 09:56 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Fri, 15 Feb 2019 09:56:39 +0000 (15 09:56 +0000)
tree40dfd52da94a2497fa66aea2f78e3f19d75de957
parent6ea564872238a25de2bdac8a61c485df6bcce9d6
hw/intc/armv7m_nvic: Allow byte accesses to SHPR1

The code for handling the NVIC SHPR1 register intends to permit
byte and halfword accesses (as the architecture requires). However
the 'case' line for it only lists the base address of the
register, so attempts to access bytes other than the first one
end up in the "bad write" default logic. This bug was added
accidentally when we split out the SHPR1 logic from SHPR2 and
SHPR3 to support v6M.

Fixes: 7c9140afd594 ("nvic: Handle ARMv6-M SCS reserved registers")
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
The Zephyr RTOS happens to access SHPR1 byte at a time,
which is how I spotted this.
hw/intc/armv7m_nvic.c