[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 00/13] macfb: fixes for booting MacOS
From: |
Laurent Vivier |
Subject: |
Re: [PATCH v4 00/13] macfb: fixes for booting MacOS |
Date: |
Fri, 8 Oct 2021 13:42:52 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 |
Le 08/10/2021 à 00:12, Mark Cave-Ayland a écrit :
> This is the next set of patches to allow users to boot MacOS in QEMU's
> q800 machine.
>
> Patches 1 to 4 are fixes for existing bugs that I discovered whilst
> developing the remainder of the patchset whilst patch 5 simplifies the
> registration of the framebuffer RAM.
>
> Patch 6 adds trace events to the framebuffer register accesses. The
> framebuffer registers are not officially documented, so the macfb
> device changes here are based upon reading of Linux/NetBSD source code,
> using gdbstub during the MacOS toolbox ROM initialisation, and changing
> the framebuffer size/depth within MacOS itself with these trace events
> enabled.
>
> Patches 7 and 8 implement the mode sense logic documented in Apple
> Technical Note HW26 "Macintosh Quadra Built-In Video" and configure the
> default display type to be VGA.
>
> Patch 9 implements the common monitor modes used for VGA at 640x480 and
> 800x600 for 1, 2, 4, 8 and 24-bit depths and also the Apple 21" color
> monitor at 1152x870 with 8-bit depth.
>
> Patches 10 and 11 fix up errors in the 1-bit and 24-bit pixel encodings
> discovered when testing these color depths in MacOS.
>
> Patch 12 adds a timer to implement the 60.15Hz VBL interrupt which is
> required for MacOS to process mouse movements, whilst patch 13 wires the
> same interrupt to a dedicated pin on VIA2 reserved for the video
> interrupt on the Quadra 800.
>
> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
>
> v4:
> - Rebase onto master
> - Add R-B tags from Laurent
> - Change %d to %u for the macfb_ctrl_* trace-events size parameter in patch 6
>
> v3:
> - Rebase onto master
> - Add Laurent's code for displaying supported display modes as an error hint
> in patch 9
> and update the patch description
> - Fix typo in patch 8 description: 32-bit -> 24-bit
> - Split Error API changes from patch 1 into a new patch 2
>
> v2:
> - Rebase onto master
> - Add R-B tags from Zoltan, Philippe and Laurent
> - Rework macfb_common_realize() to return a bool in patch 1
> - Add Fixes tag to patch 2
> - Use Laurent's suggested change for s->current_palette (slightly modified)
> in patch 3
> - Change size trace-events parameter to unsigned int in patch 5
> - Add assert() as suggested by Philippe in patch 7
> - Move calculation of next VBL time into a separate macfb_next_vbl() function
> in patch 11
>
> Mark Cave-Ayland (13):
> macfb: handle errors that occur during realize
> macfb: update macfb.c to use the Error API best practices
> macfb: fix invalid object reference in macfb_common_realize()
> macfb: fix overflow of color_palette array
> macfb: use memory_region_init_ram() in macfb_common_realize() for the
> framebuffer
> macfb: add trace events for reading and writing the control registers
> macfb: implement mode sense to allow display type to be detected
> macfb: add qdev property to specify display type
> macfb: add common monitor modes supported by the MacOS toolbox ROM
> macfb: fix up 1-bit pixel encoding
> macfb: fix 24-bit RGB pixel encoding
> macfb: add vertical blank interrupt
> q800: wire macfb IRQ to separate video interrupt on VIA2
>
> hw/display/macfb.c | 386 ++++++++++++++++++++++++++++++++++---
> hw/display/trace-events | 7 +
> hw/m68k/q800.c | 23 ++-
> include/hw/display/macfb.h | 43 +++++
> 4 files changed, 429 insertions(+), 30 deletions(-)
>
Applied to my q800 branch,
Thanks,
Laurent
- [PATCH v4 04/13] macfb: fix overflow of color_palette array, (continued)
- [PATCH v4 04/13] macfb: fix overflow of color_palette array, Mark Cave-Ayland, 2021/10/07
- [PATCH v4 05/13] macfb: use memory_region_init_ram() in macfb_common_realize() for the framebuffer, Mark Cave-Ayland, 2021/10/07
- [PATCH v4 06/13] macfb: add trace events for reading and writing the control registers, Mark Cave-Ayland, 2021/10/07
- [PATCH v4 09/13] macfb: add common monitor modes supported by the MacOS toolbox ROM, Mark Cave-Ayland, 2021/10/07
- [PATCH v4 07/13] macfb: implement mode sense to allow display type to be detected, Mark Cave-Ayland, 2021/10/07
- [PATCH v4 08/13] macfb: add qdev property to specify display type, Mark Cave-Ayland, 2021/10/07
- [PATCH v4 10/13] macfb: fix up 1-bit pixel encoding, Mark Cave-Ayland, 2021/10/07
- [PATCH v4 11/13] macfb: fix 24-bit RGB pixel encoding, Mark Cave-Ayland, 2021/10/07
- [PATCH v4 12/13] macfb: add vertical blank interrupt, Mark Cave-Ayland, 2021/10/07
- [PATCH v4 13/13] q800: wire macfb IRQ to separate video interrupt on VIA2, Mark Cave-Ayland, 2021/10/07
- Re: [PATCH v4 00/13] macfb: fixes for booting MacOS,
Laurent Vivier <=