ati-vga: Add limited support for big endian frame buffer aperture
commit8bb9a2b26d83a0989367e3688badb2914283827d
authorBALATON Zoltan <balaton@eik.bme.hu>
Sun, 11 Aug 2019 21:14:53 +0000 (11 23:14 +0200)
committerGerd Hoffmann <kraxel@redhat.com>
Wed, 21 Aug 2019 08:56:27 +0000 (21 10:56 +0200)
treeae5d6a79f9a0fd715bbdaae4d3c95e75f0ad4de3
parentc026350a842a02c225e3ecbcda5c298e70e37a62
ati-vga: Add limited support for big endian frame buffer aperture

Set frame buffer endianness according to requested endianness for
frame buffer apertures. We set frame buffer to big endian if any of
the two apertures are set to big endian. Using different endianness
for the two apertures is not implemented. This fixes inverted colors
with MacOS and Xorg frame buffer driver but some Linux drivers may
have endianness issues even on real hardware so this may not fix all
cases. MorphOS uses aper0 in LE, Linux uses aper0 in BE and MacOS uses
aper1 in BE but not sure about others or if MacOS also may need aper0
in which case we'll need a more complex fix but MacOS has other
problems yet so for now this might work.

Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
Message-id: e2a7ec7af3fc30523213bcd27832ccad34323f2c.1565558093.git.balaton@eik.bme.hu
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
hw/display/ati.c
hw/display/ati_int.h
hw/display/ati_regs.h