summaryrefslogtreecommitdiffstats
path: root/hw/display/ati_int.h
diff options
context:
space:
mode:
authorBALATON Zoltan2019-08-16 00:18:09 +0200
committerGerd Hoffmann2019-08-22 10:04:20 +0200
commitb7105d280cab053465de79ff1766d2f7e1ea7554 (patch)
tree43d9a7f15db59a02aabc2f28f0b50107fc822c5d /hw/display/ati_int.h
parentati-vga: Add limited support for big endian frame buffer aperture (diff)
downloadqemu-b7105d280cab053465de79ff1766d2f7e1ea7554.tar.gz
qemu-b7105d280cab053465de79ff1766d2f7e1ea7554.tar.xz
qemu-b7105d280cab053465de79ff1766d2f7e1ea7554.zip
ati-vga: Implement dummy VBlank IRQ
The MacOS driver exits if the card does not have an interrupt. If we set PCI_INTERRUPT_PIN to 1 then it enables VBlank interrupts and it boots but the mouse pointer cannot be moved. This patch implements a dummy VBlank interrupt triggered by a 60 Hz timer. With this the pointer now moves but MacOS still hangs somewhere before completely finishing boot. Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Message-Id: <89364275f2fb5f85ee73c0e76528aa91691a499a.1565907489.git.balaton@eik.bme.hu> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw/display/ati_int.h')
-rw-r--r--hw/display/ati_int.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/hw/display/ati_int.h b/hw/display/ati_int.h
index 5b4d3be1e6..2a16708e4f 100644
--- a/hw/display/ati_int.h
+++ b/hw/display/ati_int.h
@@ -9,6 +9,7 @@
#ifndef ATI_INT_H
#define ATI_INT_H
+#include "qemu/timer.h"
#include "hw/pci/pci.h"
#include "hw/i2c/bitbang_i2c.h"
#include "vga_int.h"
@@ -33,6 +34,8 @@
typedef struct ATIVGARegs {
uint32_t mm_index;
uint32_t bios_scratch[8];
+ uint32_t gen_int_cntl;
+ uint32_t gen_int_status;
uint32_t crtc_gen_cntl;
uint32_t crtc_ext_cntl;
uint32_t dac_cntl;
@@ -89,6 +92,7 @@ typedef struct ATIVGAState {
uint16_t cursor_size;
uint32_t cursor_offset;
QEMUCursor *cursor;
+ QEMUTimer vblank_timer;
bitbang_i2c_interface bbi2c;
MemoryRegion io;
MemoryRegion mm;