[PATCH v3 1/9] hw/sparc: Mark SPARC-specific peripherals as big-endian

Philippe Mathieu-Daudé posted 9 patches 1 month, 2 weeks ago
Maintainers: Laurent Vivier <laurent@vivier.eu>, Gerd Hoffmann <kraxel@redhat.com>, "Clément Chigot" <chigot@adacore.com>, Frederic Konrad <konrad.frederic@yahoo.fr>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>, Artyom Tarasenko <atar4qemu@gmail.com>
There is a newer version of this series
[PATCH v3 1/9] hw/sparc: Mark SPARC-specific peripherals as big-endian
Posted by Philippe Mathieu-Daudé 1 month, 2 weeks ago
These devices are only used by the SPARC target, which is
only built as big-endian. Therefore the DEVICE_NATIVE_ENDIAN
definition expand to DEVICE_BIG_ENDIAN (besides, the
DEVICE_LITTLE_ENDIAN case isn't tested). Simplify directly
using DEVICE_BIG_ENDIAN.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/audio/cs4231.c        |  2 +-
 hw/char/grlib_apbuart.c  |  2 +-
 hw/display/cg3.c         |  2 +-
 hw/display/tcx.c         | 14 +++++++-------
 hw/dma/sparc32_dma.c     |  2 +-
 hw/intc/grlib_irqmp.c    |  2 +-
 hw/intc/slavio_intctl.c  |  4 ++--
 hw/misc/eccmemctl.c      |  2 +-
 hw/misc/slavio_misc.c    | 16 ++++++++--------
 hw/rtc/sun4v-rtc.c       |  2 +-
 hw/timer/grlib_gptimer.c |  2 +-
 hw/timer/slavio_timer.c  |  2 +-
 12 files changed, 26 insertions(+), 26 deletions(-)

diff --git a/hw/audio/cs4231.c b/hw/audio/cs4231.c
index 97cceb44d86..498cd2da704 100644
--- a/hw/audio/cs4231.c
+++ b/hw/audio/cs4231.c
@@ -135,7 +135,7 @@ static void cs_mem_write(void *opaque, hwaddr addr,
 static const MemoryRegionOps cs_mem_ops = {
     .read = cs_mem_read,
     .write = cs_mem_write,
-    .endianness = DEVICE_NATIVE_ENDIAN,
+    .endianness = DEVICE_BIG_ENDIAN,
 };
 
 static const VMStateDescription vmstate_cs4231 = {
diff --git a/hw/char/grlib_apbuart.c b/hw/char/grlib_apbuart.c
index b2d5a40bb4d..b9dafdc3e65 100644
--- a/hw/char/grlib_apbuart.c
+++ b/hw/char/grlib_apbuart.c
@@ -242,7 +242,7 @@ static void grlib_apbuart_write(void *opaque, hwaddr addr,
 static const MemoryRegionOps grlib_apbuart_ops = {
     .write      = grlib_apbuart_write,
     .read       = grlib_apbuart_read,
-    .endianness = DEVICE_NATIVE_ENDIAN,
+    .endianness = DEVICE_BIG_ENDIAN,
 };
 
 static void grlib_apbuart_realize(DeviceState *dev, Error **errp)
diff --git a/hw/display/cg3.c b/hw/display/cg3.c
index daeef152174..ca04f0c9549 100644
--- a/hw/display/cg3.c
+++ b/hw/display/cg3.c
@@ -265,7 +265,7 @@ static void cg3_reg_write(void *opaque, hwaddr addr, uint64_t val,
 static const MemoryRegionOps cg3_reg_ops = {
     .read = cg3_reg_read,
     .write = cg3_reg_write,
-    .endianness = DEVICE_NATIVE_ENDIAN,
+    .endianness = DEVICE_BIG_ENDIAN,
     .valid = {
         .min_access_size = 1,
         .max_access_size = 4,
diff --git a/hw/display/tcx.c b/hw/display/tcx.c
index 4853c5e1424..ba31d9bf29b 100644
--- a/hw/display/tcx.c
+++ b/hw/display/tcx.c
@@ -452,7 +452,7 @@ static void tcx_dac_writel(void *opaque, hwaddr addr, uint64_t val,
 static const MemoryRegionOps tcx_dac_ops = {
     .read = tcx_dac_readl,
     .write = tcx_dac_writel,
-    .endianness = DEVICE_NATIVE_ENDIAN,
+    .endianness = DEVICE_BIG_ENDIAN,
     .valid = {
         .min_access_size = 4,
         .max_access_size = 4,
@@ -533,7 +533,7 @@ static void tcx_rstip_writel(void *opaque, hwaddr addr,
 static const MemoryRegionOps tcx_stip_ops = {
     .read = tcx_stip_readl,
     .write = tcx_stip_writel,
-    .endianness = DEVICE_NATIVE_ENDIAN,
+    .endianness = DEVICE_BIG_ENDIAN,
     .impl = {
         .min_access_size = 4,
         .max_access_size = 4,
@@ -547,7 +547,7 @@ static const MemoryRegionOps tcx_stip_ops = {
 static const MemoryRegionOps tcx_rstip_ops = {
     .read = tcx_stip_readl,
     .write = tcx_rstip_writel,
-    .endianness = DEVICE_NATIVE_ENDIAN,
+    .endianness = DEVICE_BIG_ENDIAN,
     .impl = {
         .min_access_size = 4,
         .max_access_size = 4,
@@ -633,7 +633,7 @@ static void tcx_rblit_writel(void *opaque, hwaddr addr,
 static const MemoryRegionOps tcx_blit_ops = {
     .read = tcx_blit_readl,
     .write = tcx_blit_writel,
-    .endianness = DEVICE_NATIVE_ENDIAN,
+    .endianness = DEVICE_BIG_ENDIAN,
     .impl = {
         .min_access_size = 4,
         .max_access_size = 4,
@@ -647,7 +647,7 @@ static const MemoryRegionOps tcx_blit_ops = {
 static const MemoryRegionOps tcx_rblit_ops = {
     .read = tcx_blit_readl,
     .write = tcx_rblit_writel,
-    .endianness = DEVICE_NATIVE_ENDIAN,
+    .endianness = DEVICE_BIG_ENDIAN,
     .impl = {
         .min_access_size = 4,
         .max_access_size = 4,
@@ -713,7 +713,7 @@ static void tcx_thc_writel(void *opaque, hwaddr addr,
 static const MemoryRegionOps tcx_thc_ops = {
     .read = tcx_thc_readl,
     .write = tcx_thc_writel,
-    .endianness = DEVICE_NATIVE_ENDIAN,
+    .endianness = DEVICE_BIG_ENDIAN,
     .valid = {
         .min_access_size = 4,
         .max_access_size = 4,
@@ -734,7 +734,7 @@ static void tcx_dummy_writel(void *opaque, hwaddr addr,
 static const MemoryRegionOps tcx_dummy_ops = {
     .read = tcx_dummy_readl,
     .write = tcx_dummy_writel,
-    .endianness = DEVICE_NATIVE_ENDIAN,
+    .endianness = DEVICE_BIG_ENDIAN,
     .valid = {
         .min_access_size = 4,
         .max_access_size = 4,
diff --git a/hw/dma/sparc32_dma.c b/hw/dma/sparc32_dma.c
index 60c23b69e5c..2b6836b55ec 100644
--- a/hw/dma/sparc32_dma.c
+++ b/hw/dma/sparc32_dma.c
@@ -230,7 +230,7 @@ static void dma_mem_write(void *opaque, hwaddr addr,
 static const MemoryRegionOps dma_mem_ops = {
     .read = dma_mem_read,
     .write = dma_mem_write,
-    .endianness = DEVICE_NATIVE_ENDIAN,
+    .endianness = DEVICE_BIG_ENDIAN,
     .valid = {
         .min_access_size = 4,
         .max_access_size = 4,
diff --git a/hw/intc/grlib_irqmp.c b/hw/intc/grlib_irqmp.c
index e0f26466ba3..454f25b185c 100644
--- a/hw/intc/grlib_irqmp.c
+++ b/hw/intc/grlib_irqmp.c
@@ -330,7 +330,7 @@ static void grlib_irqmp_write(void *opaque, hwaddr addr,
 static const MemoryRegionOps grlib_irqmp_ops = {
     .read = grlib_irqmp_read,
     .write = grlib_irqmp_write,
-    .endianness = DEVICE_NATIVE_ENDIAN,
+    .endianness = DEVICE_BIG_ENDIAN,
     .valid = {
         .min_access_size = 4,
         .max_access_size = 4,
diff --git a/hw/intc/slavio_intctl.c b/hw/intc/slavio_intctl.c
index 00b80bb177c..6a7be888f24 100644
--- a/hw/intc/slavio_intctl.c
+++ b/hw/intc/slavio_intctl.c
@@ -135,7 +135,7 @@ static void slavio_intctl_mem_writel(void *opaque, hwaddr addr,
 static const MemoryRegionOps slavio_intctl_mem_ops = {
     .read = slavio_intctl_mem_readl,
     .write = slavio_intctl_mem_writel,
-    .endianness = DEVICE_NATIVE_ENDIAN,
+    .endianness = DEVICE_BIG_ENDIAN,
     .valid = {
         .min_access_size = 4,
         .max_access_size = 4,
@@ -205,7 +205,7 @@ static void slavio_intctlm_mem_writel(void *opaque, hwaddr addr,
 static const MemoryRegionOps slavio_intctlm_mem_ops = {
     .read = slavio_intctlm_mem_readl,
     .write = slavio_intctlm_mem_writel,
-    .endianness = DEVICE_NATIVE_ENDIAN,
+    .endianness = DEVICE_BIG_ENDIAN,
     .valid = {
         .min_access_size = 4,
         .max_access_size = 4,
diff --git a/hw/misc/eccmemctl.c b/hw/misc/eccmemctl.c
index 81fc536131c..4af106dcaa0 100644
--- a/hw/misc/eccmemctl.c
+++ b/hw/misc/eccmemctl.c
@@ -232,7 +232,7 @@ static uint64_t ecc_mem_read(void *opaque, hwaddr addr,
 static const MemoryRegionOps ecc_mem_ops = {
     .read = ecc_mem_read,
     .write = ecc_mem_write,
-    .endianness = DEVICE_NATIVE_ENDIAN,
+    .endianness = DEVICE_BIG_ENDIAN,
     .valid = {
         .min_access_size = 4,
         .max_access_size = 4,
diff --git a/hw/misc/slavio_misc.c b/hw/misc/slavio_misc.c
index a034df3592f..aaca89de734 100644
--- a/hw/misc/slavio_misc.c
+++ b/hw/misc/slavio_misc.c
@@ -147,7 +147,7 @@ static uint64_t slavio_cfg_mem_readb(void *opaque, hwaddr addr,
 static const MemoryRegionOps slavio_cfg_mem_ops = {
     .read = slavio_cfg_mem_readb,
     .write = slavio_cfg_mem_writeb,
-    .endianness = DEVICE_NATIVE_ENDIAN,
+    .endianness = DEVICE_BIG_ENDIAN,
     .valid = {
         .min_access_size = 1,
         .max_access_size = 1,
@@ -177,7 +177,7 @@ static uint64_t slavio_diag_mem_readb(void *opaque, hwaddr addr,
 static const MemoryRegionOps slavio_diag_mem_ops = {
     .read = slavio_diag_mem_readb,
     .write = slavio_diag_mem_writeb,
-    .endianness = DEVICE_NATIVE_ENDIAN,
+    .endianness = DEVICE_BIG_ENDIAN,
     .valid = {
         .min_access_size = 1,
         .max_access_size = 1,
@@ -207,7 +207,7 @@ static uint64_t slavio_mdm_mem_readb(void *opaque, hwaddr addr,
 static const MemoryRegionOps slavio_mdm_mem_ops = {
     .read = slavio_mdm_mem_readb,
     .write = slavio_mdm_mem_writeb,
-    .endianness = DEVICE_NATIVE_ENDIAN,
+    .endianness = DEVICE_BIG_ENDIAN,
     .valid = {
         .min_access_size = 1,
         .max_access_size = 1,
@@ -245,7 +245,7 @@ static uint64_t slavio_aux1_mem_readb(void *opaque, hwaddr addr,
 static const MemoryRegionOps slavio_aux1_mem_ops = {
     .read = slavio_aux1_mem_readb,
     .write = slavio_aux1_mem_writeb,
-    .endianness = DEVICE_NATIVE_ENDIAN,
+    .endianness = DEVICE_BIG_ENDIAN,
     .valid = {
         .min_access_size = 1,
         .max_access_size = 1,
@@ -282,7 +282,7 @@ static uint64_t slavio_aux2_mem_readb(void *opaque, hwaddr addr,
 static const MemoryRegionOps slavio_aux2_mem_ops = {
     .read = slavio_aux2_mem_readb,
     .write = slavio_aux2_mem_writeb,
-    .endianness = DEVICE_NATIVE_ENDIAN,
+    .endianness = DEVICE_BIG_ENDIAN,
     .valid = {
         .min_access_size = 1,
         .max_access_size = 1,
@@ -310,7 +310,7 @@ static uint64_t apc_mem_readb(void *opaque, hwaddr addr,
 static const MemoryRegionOps apc_mem_ops = {
     .read = apc_mem_readb,
     .write = apc_mem_writeb,
-    .endianness = DEVICE_NATIVE_ENDIAN,
+    .endianness = DEVICE_BIG_ENDIAN,
     .valid = {
         .min_access_size = 1,
         .max_access_size = 1,
@@ -355,7 +355,7 @@ static void slavio_sysctrl_mem_writel(void *opaque, hwaddr addr,
 static const MemoryRegionOps slavio_sysctrl_mem_ops = {
     .read = slavio_sysctrl_mem_readl,
     .write = slavio_sysctrl_mem_writel,
-    .endianness = DEVICE_NATIVE_ENDIAN,
+    .endianness = DEVICE_BIG_ENDIAN,
     .valid = {
         .min_access_size = 4,
         .max_access_size = 4,
@@ -397,7 +397,7 @@ static void slavio_led_mem_writew(void *opaque, hwaddr addr,
 static const MemoryRegionOps slavio_led_mem_ops = {
     .read = slavio_led_mem_readw,
     .write = slavio_led_mem_writew,
-    .endianness = DEVICE_NATIVE_ENDIAN,
+    .endianness = DEVICE_BIG_ENDIAN,
     .valid = {
         .min_access_size = 2,
         .max_access_size = 2,
diff --git a/hw/rtc/sun4v-rtc.c b/hw/rtc/sun4v-rtc.c
index 29e24ef6bed..e9e66c2b7c5 100644
--- a/hw/rtc/sun4v-rtc.c
+++ b/hw/rtc/sun4v-rtc.c
@@ -49,7 +49,7 @@ static void sun4v_rtc_write(void *opaque, hwaddr addr,
 static const MemoryRegionOps sun4v_rtc_ops = {
     .read = sun4v_rtc_read,
     .write = sun4v_rtc_write,
-    .endianness = DEVICE_NATIVE_ENDIAN,
+    .endianness = DEVICE_BIG_ENDIAN,
 };
 
 void sun4v_rtc_init(hwaddr addr)
diff --git a/hw/timer/grlib_gptimer.c b/hw/timer/grlib_gptimer.c
index 0e06fa09e99..dfe9264468c 100644
--- a/hw/timer/grlib_gptimer.c
+++ b/hw/timer/grlib_gptimer.c
@@ -332,7 +332,7 @@ static void grlib_gptimer_write(void *opaque, hwaddr addr,
 static const MemoryRegionOps grlib_gptimer_ops = {
     .read = grlib_gptimer_read,
     .write = grlib_gptimer_write,
-    .endianness = DEVICE_NATIVE_ENDIAN,
+    .endianness = DEVICE_BIG_ENDIAN,
     .valid = {
         .min_access_size = 4,
         .max_access_size = 4,
diff --git a/hw/timer/slavio_timer.c b/hw/timer/slavio_timer.c
index 3e071fbdb4c..81e6e55415d 100644
--- a/hw/timer/slavio_timer.c
+++ b/hw/timer/slavio_timer.c
@@ -329,7 +329,7 @@ static void slavio_timer_mem_writel(void *opaque, hwaddr addr,
 static const MemoryRegionOps slavio_timer_mem_ops = {
     .read = slavio_timer_mem_readl,
     .write = slavio_timer_mem_writel,
-    .endianness = DEVICE_NATIVE_ENDIAN,
+    .endianness = DEVICE_BIG_ENDIAN,
     .valid = {
         .min_access_size = 4,
         .max_access_size = 8,
-- 
2.52.0


Re: [PATCH v3 1/9] hw/sparc: Mark SPARC-specific peripherals as big-endian
Posted by Richard Henderson 1 month ago
On 12/25/25 03:26, Philippe Mathieu-Daudé wrote:
> These devices are only used by the SPARC target, which is
> only built as big-endian. Therefore the DEVICE_NATIVE_ENDIAN
> definition expand to DEVICE_BIG_ENDIAN (besides, the
> DEVICE_LITTLE_ENDIAN case isn't tested). Simplify directly
> using DEVICE_BIG_ENDIAN.
> 
> Signed-off-by: Philippe Mathieu-Daudé<philmd@linaro.org>
> ---
>   hw/audio/cs4231.c        |  2 +-
>   hw/char/grlib_apbuart.c  |  2 +-
>   hw/display/cg3.c         |  2 +-
>   hw/display/tcx.c         | 14 +++++++-------
>   hw/dma/sparc32_dma.c     |  2 +-
>   hw/intc/grlib_irqmp.c    |  2 +-
>   hw/intc/slavio_intctl.c  |  4 ++--
>   hw/misc/eccmemctl.c      |  2 +-
>   hw/misc/slavio_misc.c    | 16 ++++++++--------
>   hw/rtc/sun4v-rtc.c       |  2 +-
>   hw/timer/grlib_gptimer.c |  2 +-
>   hw/timer/slavio_timer.c  |  2 +-
>   12 files changed, 26 insertions(+), 26 deletions(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~

Re: [PATCH v3 1/9] hw/sparc: Mark SPARC-specific peripherals as big-endian
Posted by Manos Pitsidianakis 1 month, 1 week ago
On Wed, Dec 24, 2025 at 6:26 PM Philippe Mathieu-Daudé
<philmd@linaro.org> wrote:
>
> These devices are only used by the SPARC target, which is
> only built as big-endian. Therefore the DEVICE_NATIVE_ENDIAN
> definition expand to DEVICE_BIG_ENDIAN (besides, the
> DEVICE_LITTLE_ENDIAN case isn't tested). Simplify directly
> using DEVICE_BIG_ENDIAN.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---

Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>

>  hw/audio/cs4231.c        |  2 +-
>  hw/char/grlib_apbuart.c  |  2 +-
>  hw/display/cg3.c         |  2 +-
>  hw/display/tcx.c         | 14 +++++++-------
>  hw/dma/sparc32_dma.c     |  2 +-
>  hw/intc/grlib_irqmp.c    |  2 +-
>  hw/intc/slavio_intctl.c  |  4 ++--
>  hw/misc/eccmemctl.c      |  2 +-
>  hw/misc/slavio_misc.c    | 16 ++++++++--------
>  hw/rtc/sun4v-rtc.c       |  2 +-
>  hw/timer/grlib_gptimer.c |  2 +-
>  hw/timer/slavio_timer.c  |  2 +-
>  12 files changed, 26 insertions(+), 26 deletions(-)
>
> diff --git a/hw/audio/cs4231.c b/hw/audio/cs4231.c
> index 97cceb44d86..498cd2da704 100644
> --- a/hw/audio/cs4231.c
> +++ b/hw/audio/cs4231.c
> @@ -135,7 +135,7 @@ static void cs_mem_write(void *opaque, hwaddr addr,
>  static const MemoryRegionOps cs_mem_ops = {
>      .read = cs_mem_read,
>      .write = cs_mem_write,
> -    .endianness = DEVICE_NATIVE_ENDIAN,
> +    .endianness = DEVICE_BIG_ENDIAN,
>  };
>
>  static const VMStateDescription vmstate_cs4231 = {
> diff --git a/hw/char/grlib_apbuart.c b/hw/char/grlib_apbuart.c
> index b2d5a40bb4d..b9dafdc3e65 100644
> --- a/hw/char/grlib_apbuart.c
> +++ b/hw/char/grlib_apbuart.c
> @@ -242,7 +242,7 @@ static void grlib_apbuart_write(void *opaque, hwaddr addr,
>  static const MemoryRegionOps grlib_apbuart_ops = {
>      .write      = grlib_apbuart_write,
>      .read       = grlib_apbuart_read,
> -    .endianness = DEVICE_NATIVE_ENDIAN,
> +    .endianness = DEVICE_BIG_ENDIAN,
>  };
>
>  static void grlib_apbuart_realize(DeviceState *dev, Error **errp)
> diff --git a/hw/display/cg3.c b/hw/display/cg3.c
> index daeef152174..ca04f0c9549 100644
> --- a/hw/display/cg3.c
> +++ b/hw/display/cg3.c
> @@ -265,7 +265,7 @@ static void cg3_reg_write(void *opaque, hwaddr addr, uint64_t val,
>  static const MemoryRegionOps cg3_reg_ops = {
>      .read = cg3_reg_read,
>      .write = cg3_reg_write,
> -    .endianness = DEVICE_NATIVE_ENDIAN,
> +    .endianness = DEVICE_BIG_ENDIAN,
>      .valid = {
>          .min_access_size = 1,
>          .max_access_size = 4,
> diff --git a/hw/display/tcx.c b/hw/display/tcx.c
> index 4853c5e1424..ba31d9bf29b 100644
> --- a/hw/display/tcx.c
> +++ b/hw/display/tcx.c
> @@ -452,7 +452,7 @@ static void tcx_dac_writel(void *opaque, hwaddr addr, uint64_t val,
>  static const MemoryRegionOps tcx_dac_ops = {
>      .read = tcx_dac_readl,
>      .write = tcx_dac_writel,
> -    .endianness = DEVICE_NATIVE_ENDIAN,
> +    .endianness = DEVICE_BIG_ENDIAN,
>      .valid = {
>          .min_access_size = 4,
>          .max_access_size = 4,
> @@ -533,7 +533,7 @@ static void tcx_rstip_writel(void *opaque, hwaddr addr,
>  static const MemoryRegionOps tcx_stip_ops = {
>      .read = tcx_stip_readl,
>      .write = tcx_stip_writel,
> -    .endianness = DEVICE_NATIVE_ENDIAN,
> +    .endianness = DEVICE_BIG_ENDIAN,
>      .impl = {
>          .min_access_size = 4,
>          .max_access_size = 4,
> @@ -547,7 +547,7 @@ static const MemoryRegionOps tcx_stip_ops = {
>  static const MemoryRegionOps tcx_rstip_ops = {
>      .read = tcx_stip_readl,
>      .write = tcx_rstip_writel,
> -    .endianness = DEVICE_NATIVE_ENDIAN,
> +    .endianness = DEVICE_BIG_ENDIAN,
>      .impl = {
>          .min_access_size = 4,
>          .max_access_size = 4,
> @@ -633,7 +633,7 @@ static void tcx_rblit_writel(void *opaque, hwaddr addr,
>  static const MemoryRegionOps tcx_blit_ops = {
>      .read = tcx_blit_readl,
>      .write = tcx_blit_writel,
> -    .endianness = DEVICE_NATIVE_ENDIAN,
> +    .endianness = DEVICE_BIG_ENDIAN,
>      .impl = {
>          .min_access_size = 4,
>          .max_access_size = 4,
> @@ -647,7 +647,7 @@ static const MemoryRegionOps tcx_blit_ops = {
>  static const MemoryRegionOps tcx_rblit_ops = {
>      .read = tcx_blit_readl,
>      .write = tcx_rblit_writel,
> -    .endianness = DEVICE_NATIVE_ENDIAN,
> +    .endianness = DEVICE_BIG_ENDIAN,
>      .impl = {
>          .min_access_size = 4,
>          .max_access_size = 4,
> @@ -713,7 +713,7 @@ static void tcx_thc_writel(void *opaque, hwaddr addr,
>  static const MemoryRegionOps tcx_thc_ops = {
>      .read = tcx_thc_readl,
>      .write = tcx_thc_writel,
> -    .endianness = DEVICE_NATIVE_ENDIAN,
> +    .endianness = DEVICE_BIG_ENDIAN,
>      .valid = {
>          .min_access_size = 4,
>          .max_access_size = 4,
> @@ -734,7 +734,7 @@ static void tcx_dummy_writel(void *opaque, hwaddr addr,
>  static const MemoryRegionOps tcx_dummy_ops = {
>      .read = tcx_dummy_readl,
>      .write = tcx_dummy_writel,
> -    .endianness = DEVICE_NATIVE_ENDIAN,
> +    .endianness = DEVICE_BIG_ENDIAN,
>      .valid = {
>          .min_access_size = 4,
>          .max_access_size = 4,
> diff --git a/hw/dma/sparc32_dma.c b/hw/dma/sparc32_dma.c
> index 60c23b69e5c..2b6836b55ec 100644
> --- a/hw/dma/sparc32_dma.c
> +++ b/hw/dma/sparc32_dma.c
> @@ -230,7 +230,7 @@ static void dma_mem_write(void *opaque, hwaddr addr,
>  static const MemoryRegionOps dma_mem_ops = {
>      .read = dma_mem_read,
>      .write = dma_mem_write,
> -    .endianness = DEVICE_NATIVE_ENDIAN,
> +    .endianness = DEVICE_BIG_ENDIAN,
>      .valid = {
>          .min_access_size = 4,
>          .max_access_size = 4,
> diff --git a/hw/intc/grlib_irqmp.c b/hw/intc/grlib_irqmp.c
> index e0f26466ba3..454f25b185c 100644
> --- a/hw/intc/grlib_irqmp.c
> +++ b/hw/intc/grlib_irqmp.c
> @@ -330,7 +330,7 @@ static void grlib_irqmp_write(void *opaque, hwaddr addr,
>  static const MemoryRegionOps grlib_irqmp_ops = {
>      .read = grlib_irqmp_read,
>      .write = grlib_irqmp_write,
> -    .endianness = DEVICE_NATIVE_ENDIAN,
> +    .endianness = DEVICE_BIG_ENDIAN,
>      .valid = {
>          .min_access_size = 4,
>          .max_access_size = 4,
> diff --git a/hw/intc/slavio_intctl.c b/hw/intc/slavio_intctl.c
> index 00b80bb177c..6a7be888f24 100644
> --- a/hw/intc/slavio_intctl.c
> +++ b/hw/intc/slavio_intctl.c
> @@ -135,7 +135,7 @@ static void slavio_intctl_mem_writel(void *opaque, hwaddr addr,
>  static const MemoryRegionOps slavio_intctl_mem_ops = {
>      .read = slavio_intctl_mem_readl,
>      .write = slavio_intctl_mem_writel,
> -    .endianness = DEVICE_NATIVE_ENDIAN,
> +    .endianness = DEVICE_BIG_ENDIAN,
>      .valid = {
>          .min_access_size = 4,
>          .max_access_size = 4,
> @@ -205,7 +205,7 @@ static void slavio_intctlm_mem_writel(void *opaque, hwaddr addr,
>  static const MemoryRegionOps slavio_intctlm_mem_ops = {
>      .read = slavio_intctlm_mem_readl,
>      .write = slavio_intctlm_mem_writel,
> -    .endianness = DEVICE_NATIVE_ENDIAN,
> +    .endianness = DEVICE_BIG_ENDIAN,
>      .valid = {
>          .min_access_size = 4,
>          .max_access_size = 4,
> diff --git a/hw/misc/eccmemctl.c b/hw/misc/eccmemctl.c
> index 81fc536131c..4af106dcaa0 100644
> --- a/hw/misc/eccmemctl.c
> +++ b/hw/misc/eccmemctl.c
> @@ -232,7 +232,7 @@ static uint64_t ecc_mem_read(void *opaque, hwaddr addr,
>  static const MemoryRegionOps ecc_mem_ops = {
>      .read = ecc_mem_read,
>      .write = ecc_mem_write,
> -    .endianness = DEVICE_NATIVE_ENDIAN,
> +    .endianness = DEVICE_BIG_ENDIAN,
>      .valid = {
>          .min_access_size = 4,
>          .max_access_size = 4,
> diff --git a/hw/misc/slavio_misc.c b/hw/misc/slavio_misc.c
> index a034df3592f..aaca89de734 100644
> --- a/hw/misc/slavio_misc.c
> +++ b/hw/misc/slavio_misc.c
> @@ -147,7 +147,7 @@ static uint64_t slavio_cfg_mem_readb(void *opaque, hwaddr addr,
>  static const MemoryRegionOps slavio_cfg_mem_ops = {
>      .read = slavio_cfg_mem_readb,
>      .write = slavio_cfg_mem_writeb,
> -    .endianness = DEVICE_NATIVE_ENDIAN,
> +    .endianness = DEVICE_BIG_ENDIAN,
>      .valid = {
>          .min_access_size = 1,
>          .max_access_size = 1,
> @@ -177,7 +177,7 @@ static uint64_t slavio_diag_mem_readb(void *opaque, hwaddr addr,
>  static const MemoryRegionOps slavio_diag_mem_ops = {
>      .read = slavio_diag_mem_readb,
>      .write = slavio_diag_mem_writeb,
> -    .endianness = DEVICE_NATIVE_ENDIAN,
> +    .endianness = DEVICE_BIG_ENDIAN,
>      .valid = {
>          .min_access_size = 1,
>          .max_access_size = 1,
> @@ -207,7 +207,7 @@ static uint64_t slavio_mdm_mem_readb(void *opaque, hwaddr addr,
>  static const MemoryRegionOps slavio_mdm_mem_ops = {
>      .read = slavio_mdm_mem_readb,
>      .write = slavio_mdm_mem_writeb,
> -    .endianness = DEVICE_NATIVE_ENDIAN,
> +    .endianness = DEVICE_BIG_ENDIAN,
>      .valid = {
>          .min_access_size = 1,
>          .max_access_size = 1,
> @@ -245,7 +245,7 @@ static uint64_t slavio_aux1_mem_readb(void *opaque, hwaddr addr,
>  static const MemoryRegionOps slavio_aux1_mem_ops = {
>      .read = slavio_aux1_mem_readb,
>      .write = slavio_aux1_mem_writeb,
> -    .endianness = DEVICE_NATIVE_ENDIAN,
> +    .endianness = DEVICE_BIG_ENDIAN,
>      .valid = {
>          .min_access_size = 1,
>          .max_access_size = 1,
> @@ -282,7 +282,7 @@ static uint64_t slavio_aux2_mem_readb(void *opaque, hwaddr addr,
>  static const MemoryRegionOps slavio_aux2_mem_ops = {
>      .read = slavio_aux2_mem_readb,
>      .write = slavio_aux2_mem_writeb,
> -    .endianness = DEVICE_NATIVE_ENDIAN,
> +    .endianness = DEVICE_BIG_ENDIAN,
>      .valid = {
>          .min_access_size = 1,
>          .max_access_size = 1,
> @@ -310,7 +310,7 @@ static uint64_t apc_mem_readb(void *opaque, hwaddr addr,
>  static const MemoryRegionOps apc_mem_ops = {
>      .read = apc_mem_readb,
>      .write = apc_mem_writeb,
> -    .endianness = DEVICE_NATIVE_ENDIAN,
> +    .endianness = DEVICE_BIG_ENDIAN,
>      .valid = {
>          .min_access_size = 1,
>          .max_access_size = 1,
> @@ -355,7 +355,7 @@ static void slavio_sysctrl_mem_writel(void *opaque, hwaddr addr,
>  static const MemoryRegionOps slavio_sysctrl_mem_ops = {
>      .read = slavio_sysctrl_mem_readl,
>      .write = slavio_sysctrl_mem_writel,
> -    .endianness = DEVICE_NATIVE_ENDIAN,
> +    .endianness = DEVICE_BIG_ENDIAN,
>      .valid = {
>          .min_access_size = 4,
>          .max_access_size = 4,
> @@ -397,7 +397,7 @@ static void slavio_led_mem_writew(void *opaque, hwaddr addr,
>  static const MemoryRegionOps slavio_led_mem_ops = {
>      .read = slavio_led_mem_readw,
>      .write = slavio_led_mem_writew,
> -    .endianness = DEVICE_NATIVE_ENDIAN,
> +    .endianness = DEVICE_BIG_ENDIAN,
>      .valid = {
>          .min_access_size = 2,
>          .max_access_size = 2,
> diff --git a/hw/rtc/sun4v-rtc.c b/hw/rtc/sun4v-rtc.c
> index 29e24ef6bed..e9e66c2b7c5 100644
> --- a/hw/rtc/sun4v-rtc.c
> +++ b/hw/rtc/sun4v-rtc.c
> @@ -49,7 +49,7 @@ static void sun4v_rtc_write(void *opaque, hwaddr addr,
>  static const MemoryRegionOps sun4v_rtc_ops = {
>      .read = sun4v_rtc_read,
>      .write = sun4v_rtc_write,
> -    .endianness = DEVICE_NATIVE_ENDIAN,
> +    .endianness = DEVICE_BIG_ENDIAN,
>  };
>
>  void sun4v_rtc_init(hwaddr addr)
> diff --git a/hw/timer/grlib_gptimer.c b/hw/timer/grlib_gptimer.c
> index 0e06fa09e99..dfe9264468c 100644
> --- a/hw/timer/grlib_gptimer.c
> +++ b/hw/timer/grlib_gptimer.c
> @@ -332,7 +332,7 @@ static void grlib_gptimer_write(void *opaque, hwaddr addr,
>  static const MemoryRegionOps grlib_gptimer_ops = {
>      .read = grlib_gptimer_read,
>      .write = grlib_gptimer_write,
> -    .endianness = DEVICE_NATIVE_ENDIAN,
> +    .endianness = DEVICE_BIG_ENDIAN,
>      .valid = {
>          .min_access_size = 4,
>          .max_access_size = 4,
> diff --git a/hw/timer/slavio_timer.c b/hw/timer/slavio_timer.c
> index 3e071fbdb4c..81e6e55415d 100644
> --- a/hw/timer/slavio_timer.c
> +++ b/hw/timer/slavio_timer.c
> @@ -329,7 +329,7 @@ static void slavio_timer_mem_writel(void *opaque, hwaddr addr,
>  static const MemoryRegionOps slavio_timer_mem_ops = {
>      .read = slavio_timer_mem_readl,
>      .write = slavio_timer_mem_writel,
> -    .endianness = DEVICE_NATIVE_ENDIAN,
> +    .endianness = DEVICE_BIG_ENDIAN,
>      .valid = {
>          .min_access_size = 4,
>          .max_access_size = 8,
> --
> 2.52.0
>