diff options
author | BALATON Zoltan | 2019-08-16 00:18:09 +0200 |
---|---|---|
committer | Gerd Hoffmann | 2019-08-22 10:04:20 +0200 |
commit | b7105d280cab053465de79ff1766d2f7e1ea7554 (patch) | |
tree | 43d9a7f15db59a02aabc2f28f0b50107fc822c5d /hw/display/ati_int.h | |
parent | ati-vga: Add limited support for big endian frame buffer aperture (diff) | |
download | qemu-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.h | 4 |
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; |