On 4 December 2015 at 12:28, Paolo Bonzini <pbonz...@redhat.com> wrote: > ARM softmmu is always compiled as little endian; BE8/BE32 can be > done as part of CPU emulation. Thus, devices need not use the > endian-dependent loads and swaps.
The patch code is right, but I think the more significant point here is that the behaviour of the PXA2xx and OMAP devices being emulated here doesn't (shouldn't) depend on the CPU endianness anyway, and these devices are little endian when they do DMA accesses. > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> > --- > hw/display/omap_lcd_template.h | 4 ++-- > hw/display/pxa2xx_lcd.c | 8 ++++---- > 2 files changed, 6 insertions(+), 6 deletions(-) > > diff --git a/hw/display/omap_lcd_template.h b/hw/display/omap_lcd_template.h > index e5dd447..f0ce71f 100644 > --- a/hw/display/omap_lcd_template.h > +++ b/hw/display/omap_lcd_template.h > @@ -136,7 +136,7 @@ static void glue(draw_line12_, DEPTH)(void *opaque, > uint8_t r, g, b; > > do { > - v = lduw_p((void *) s); > + v = lduw_le_p((void *) s); > r = (v >> 4) & 0xf0; > g = v & 0xf0; > b = (v << 4) & 0xf0; > @@ -159,7 +159,7 @@ static void glue(draw_line16_, DEPTH)(void *opaque, > uint8_t r, g, b; > > do { > - v = lduw_p((void *) s); > + v = lduw_le_p((void *) s); > r = (v >> 8) & 0xf8; > g = (v >> 3) & 0xfc; > b = (v << 3) & 0xf8; > diff --git a/hw/display/pxa2xx_lcd.c b/hw/display/pxa2xx_lcd.c > index 494700d..4d36c94 100644 > --- a/hw/display/pxa2xx_lcd.c > +++ b/hw/display/pxa2xx_lcd.c > @@ -309,10 +309,10 @@ static void pxa2xx_descriptor_load(PXA2xxLCDState *s) > } > > cpu_physical_memory_read(descptr, &desc, sizeof(desc)); > - s->dma_ch[i].descriptor = tswap32(desc.fdaddr); > - s->dma_ch[i].source = tswap32(desc.fsaddr); > - s->dma_ch[i].id = tswap32(desc.fidr); > - s->dma_ch[i].command = tswap32(desc.ldcmd); > + s->dma_ch[i].descriptor = le32_to_cpu(desc.fdaddr); > + s->dma_ch[i].source = le32_to_cpu(desc.fsaddr); > + s->dma_ch[i].id = le32_to_cpu(desc.fidr); > + s->dma_ch[i].command = le32_to_cpu(desc.ldcmd); > } > } > > -- > 1.8.3.1 Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> thanks -- PMM