Commit 41dd8982f9 for qemu.org

commit 41dd8982f9feec762b2a4ba3637a23a91c2b3b10
Author: Alex Bennée <alex.bennee@linaro.org>
Date:   Wed Jan 21 10:59:29 2026 +0000

    hw/intc: declare NVIC regions as little endian

    The NVIC should always be a little-endian device as big-endian
    behaviour is a function of the current CPU configuration not the
    system as a whole. Indeed the Armv8-M architecture reference manual
    declares:

      All accesses to the Private Peripheral Bus (PPB) are always
      little-endian, which means that the PE assumes a little-endian
      arrangement of the PPB registers.

    This should have no functional effect as the NVIC cannot be
    instantiated on a BE system but will help the single binary efforts.

    Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
    Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
    Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
    Message-id: 20260121105932.135676-2-alex.bennee@linaro.org
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

diff --git a/hw/intc/armv7m_nvic.c b/hw/intc/armv7m_nvic.c
index 3a31eb56f3..28b34e9944 100644
--- a/hw/intc/armv7m_nvic.c
+++ b/hw/intc/armv7m_nvic.c
@@ -2467,7 +2467,7 @@ static MemTxResult nvic_sysreg_write(void *opaque, hwaddr addr,
 static const MemoryRegionOps nvic_sysreg_ops = {
     .read_with_attrs = nvic_sysreg_read,
     .write_with_attrs = nvic_sysreg_write,
-    .endianness = DEVICE_NATIVE_ENDIAN,
+    .endianness = DEVICE_LITTLE_ENDIAN,
 };

 static int nvic_post_load(void *opaque, int version_id)