On 8/12/19 12:28 PM, BALATON Zoltan wrote:
On Mon, 12 Aug 2019, Philippe Mathieu-Daudé wrote:
On 8/11/19 11:14 PM, BALATON Zoltan wrote:
Fixes: a38127414bd007c5b6ae64c664d9e8839393277e
Signed-off-by: BALATON Zoltan <address@hidden>
---
?hw/display/ati.c | 2 +-
?1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/display/ati.c b/hw/display/ati.c
index 699f38223b..b849f5d510 100644
--- a/hw/display/ati.c
+++ b/hw/display/ati.c
@@ -207,7 +207,7 @@ static void ati_cursor_draw_line(VGACommonState
*vga, uint8_t *d, int scr_y)
???????????????? }
???????????? } else {
???????????????? color = (xbits & BIT(7) ? s->regs.cur_color1 :
-????????????????????????????????????????? s->regs.cur_color0) << 8 |
0xff;
+????????????????????????????????????????? s->regs.cur_color0) |
0xff000000;
???????????? }
???????????? if (vga->hw_cursor_x + i * 8 + j >= h) {
???????????????? return; /* end of screen, don't span to next line */
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Thanks. I've noticed that cursor color may still be wrong with MacOS
that uses big endian frame buffer so maybe this will also need to take
frame buffer endianness into account somehow but this patch corrects a
difference between guest_hwcursor true and false values, reproducible
with some Linux versions (as far as I remember). While the wrong cursor
color with MacOS is now consistent after this patch with both
guest_hwcursor true or false so that likely needs a different fix that
should be applied both to this place and to ati_cursor_define. (MacOS
does not yet boot fully, it needs patches to OpenBIOS to be able to run
an FCode ROM and will probably need the VBlank interrupt implemented in
ati-vga without which it displays a desktop but freezes there).
If you remember which Linux version had this problem, or you can link to
roms that behave incorrectly, please share, so we can add display
regression tests.