[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 01/13] macfb: handle errors that occur during realize
From: |
Laurent Vivier |
Subject: |
[PULL 01/13] macfb: handle errors that occur during realize |
Date: |
Fri, 8 Oct 2021 13:45:06 +0200 |
From: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Make sure any errors that occur within the macfb realize chain are detected
and handled correctly to prevent crashes and to ensure that error messages are
reported back to the user.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: BALATON Zoltan <balaton@eik.bme.hu>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20211007221253.29024-2-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
hw/display/macfb.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/hw/display/macfb.c b/hw/display/macfb.c
index 76808b69ccc8..2b747a8de8a1 100644
--- a/hw/display/macfb.c
+++ b/hw/display/macfb.c
@@ -379,6 +379,10 @@ static void macfb_sysbus_realize(DeviceState *dev, Error
**errp)
MacfbState *ms = &s->macfb;
macfb_common_realize(dev, ms, errp);
+ if (*errp) {
+ return;
+ }
+
sysbus_init_mmio(SYS_BUS_DEVICE(s), &ms->mem_ctrl);
sysbus_init_mmio(SYS_BUS_DEVICE(s), &ms->mem_vram);
}
@@ -391,8 +395,15 @@ static void macfb_nubus_realize(DeviceState *dev, Error
**errp)
MacfbState *ms = &s->macfb;
ndc->parent_realize(dev, errp);
+ if (*errp) {
+ return;
+ }
macfb_common_realize(dev, ms, errp);
+ if (*errp) {
+ return;
+ }
+
memory_region_add_subregion(&nd->slot_mem, DAFB_BASE, &ms->mem_ctrl);
memory_region_add_subregion(&nd->slot_mem, VIDEO_BASE, &ms->mem_vram);
}
--
2.31.1
- [PULL 00/13] M68k next patches, Laurent Vivier, 2021/10/08
- [PULL 01/13] macfb: handle errors that occur during realize,
Laurent Vivier <=
- [PULL 04/13] macfb: fix overflow of color_palette array, Laurent Vivier, 2021/10/08
- [PULL 02/13] macfb: update macfb.c to use the Error API best practices, Laurent Vivier, 2021/10/08
- [PULL 09/13] macfb: add common monitor modes supported by the MacOS toolbox ROM, Laurent Vivier, 2021/10/08
- [PULL 10/13] macfb: fix up 1-bit pixel encoding, Laurent Vivier, 2021/10/08
- [PULL 12/13] macfb: add vertical blank interrupt, Laurent Vivier, 2021/10/08
- [PULL 06/13] macfb: add trace events for reading and writing the control registers, Laurent Vivier, 2021/10/08
- [PULL 11/13] macfb: fix 24-bit RGB pixel encoding, Laurent Vivier, 2021/10/08
- [PULL 13/13] q800: wire macfb IRQ to separate video interrupt on VIA2, Laurent Vivier, 2021/10/08
- [PULL 05/13] macfb: use memory_region_init_ram() in macfb_common_realize() for the framebuffer, Laurent Vivier, 2021/10/08
- [PULL 08/13] macfb: add qdev property to specify display type, Laurent Vivier, 2021/10/08