summaryrefslogtreecommitdiffstats
path: root/include/hw
diff options
context:
space:
mode:
authorMark Cave-Ayland2021-10-08 00:12:52 +0200
committerLaurent Vivier2021-10-08 13:31:03 +0200
commitc7a2f7ba0c736a119d7b530693de0e1b691cdd5a (patch)
treed06c48653aff9df89db7a934d23ea72dfb282ec6 /include/hw
parentmacfb: fix 24-bit RGB pixel encoding (diff)
downloadqemu-c7a2f7ba0c736a119d7b530693de0e1b691cdd5a.tar.gz
qemu-c7a2f7ba0c736a119d7b530693de0e1b691cdd5a.tar.xz
qemu-c7a2f7ba0c736a119d7b530693de0e1b691cdd5a.zip
macfb: add vertical blank interrupt
The MacOS driver expects a 60.15Hz vertical blank interrupt to be generated by the framebuffer which in turn schedules the mouse driver via the Vertical Retrace Manager. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by: Laurent Vivier <laurent@vivier.eu> Message-Id: <20211007221253.29024-13-mark.cave-ayland@ilande.co.uk> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Diffstat (limited to 'include/hw')
-rw-r--r--include/hw/display/macfb.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/hw/display/macfb.h b/include/hw/display/macfb.h
index 0aff0d84d2..e52775aa21 100644
--- a/include/hw/display/macfb.h
+++ b/include/hw/display/macfb.h
@@ -14,7 +14,9 @@
#define MACFB_H
#include "exec/memory.h"
+#include "hw/irq.h"
#include "ui/console.h"
+#include "qemu/timer.h"
#include "qom/object.h"
typedef enum {
@@ -63,6 +65,11 @@ typedef struct MacfbState {
uint32_t regs[MACFB_NUM_REGS];
MacFbMode *mode;
+
+ uint32_t irq_state;
+ uint32_t irq_mask;
+ QEMUTimer *vbl_timer;
+ qemu_irq irq;
} MacfbState;
#define TYPE_MACFB "sysbus-macfb"
@@ -81,6 +88,7 @@ struct MacfbNubusDeviceClass {
DeviceClass parent_class;
DeviceRealize parent_realize;
+ DeviceUnrealize parent_unrealize;
};