qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC PATCH] ati-vga: Implement dummy VBlank IRQ


From: BALATON Zoltan
Subject: Re: [Qemu-devel] [RFC PATCH] ati-vga: Implement dummy VBlank IRQ
Date: Thu, 15 Aug 2019 13:17:34 +0200 (CEST)
User-agent: Alpine 2.21.9999 (BSF 287 2018-06-16)

On Thu, 15 Aug 2019, Gerd Hoffmann wrote:
+static void ati_vga_update_irq(ATIVGAState *s)
+{
+    pci_set_irq(&s->dev, s->regs.gen_int_status & 1);

This should be "s->regs.gen_int_status & s->regs.gen_int_cntl" I guess?

Probably, but we only try to emulate VBlank yet so to avoid any problems due
to raising irq for unknown bits I restricted it for that now.

Well, qemu doesn't set unknown status bits, only vblank.  The guest
can't set them either due to status register having write-one-to-clear
semantics.  So, that should not happen.  If you want an extra check to
catch programming errors I'd suggest to add an assert() for that.

OK I'll change that then.

+        s->regs.gen_int_status &= ~data;

ati_vga_update_irq() needed here too.

Thanks. Indeed I forgot this. With that it works a bit better, mouse now can
be moved but only vertically... No idea why, I'll have to check,

Still progress.  One step at a time ;)

Got this too (and cursor color as well). These are becuase MacOS accesses these regs with less than 4 size so we need to support unaligned access for them. It's a bit tricky because we could get reg content in pieces and we need to decide when it's complete to act on it. I'll try to fix that and then it hopefully will work (well, at least boot to see it fail whenever tries to use any unimplemented acceleration but at least we can test emulation with it when further pieces are implemented in the future).

Regards,
BALATON Zoltan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]