@samitouri / QOSamiQemu / commits / 79c0b57251

hw/arm/aspeed_ast27x0-{ssp, tsp}: Do not access SerialMM internals directly

SerialMM inherits from SysBusDevice and exposes the memory region by means of sysbus_mmio_get_region(). Use that in order to avoid accessing implementation details of SerialMM. Reviewed-by: Jamin Lin <jamin_lin@aspeedtech.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Bernhard Beschow <shentey@gmail.com> Message-ID: <20260305220911.131508-4-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

Bernhard Beschow committed Mar 5, 2026 at 23:09 UTC 79c0b572516818bdfb08dfce2bb769d10d1aa816
2 files changed +8 -6
hw/arm/aspeed_ast27x0-ssp.c
+4 -3
@@ -149,6 +149,7 @@ static void aspeed_soc_ast27x0ssp_realize(DeviceState *dev_soc, Error **errp)
149 AspeedCoprocessorState *s = ASPEED_COPROCESSOR(dev_soc);
150 AspeedCoprocessorClass *sc = ASPEED_COPROCESSOR_GET_CLASS(s);
151 DeviceState *armv7m;
152 + MemoryRegion *mr;
153 g_autofree char *sdram_name = NULL;
154 int i;
155
@@ -230,9 +231,9 @@ static void aspeed_soc_ast27x0ssp_realize(DeviceState *dev_soc, Error **errp)
231 }
232
233 /* UART */
233 - memory_region_init_alias(&s->uart_alias, OBJECT(s), "uart.alias",
234 - &s->uart->serial.io, 0,
235 - memory_region_size(&s->uart->serial.io));
234 + mr = sysbus_mmio_get_region(SYS_BUS_DEVICE(s->uart), 0);
235 + memory_region_init_alias(&s->uart_alias, OBJECT(s), "uart.alias", mr, 0,
236 + memory_region_size(mr));
237 memory_region_add_subregion(s->memory, sc->memmap[s->uart_dev],
238 &s->uart_alias);
239 /*
hw/arm/aspeed_ast27x0-tsp.c
+4 -3
@@ -149,6 +149,7 @@ static void aspeed_soc_ast27x0tsp_realize(DeviceState *dev_soc, Error **errp)
149 AspeedCoprocessorState *s = ASPEED_COPROCESSOR(dev_soc);
150 AspeedCoprocessorClass *sc = ASPEED_COPROCESSOR_GET_CLASS(s);
151 DeviceState *armv7m;
152 + MemoryRegion *mr;
153 g_autofree char *sdram_name = NULL;
154 int i;
155
@@ -230,9 +231,9 @@ static void aspeed_soc_ast27x0tsp_realize(DeviceState *dev_soc, Error **errp)
231 }
232
233 /* UART */
233 - memory_region_init_alias(&s->uart_alias, OBJECT(s), "uart.alias",
234 - &s->uart->serial.io, 0,
235 - memory_region_size(&s->uart->serial.io));
234 + mr = sysbus_mmio_get_region(SYS_BUS_DEVICE(s->uart), 0);
235 + memory_region_init_alias(&s->uart_alias, OBJECT(s), "uart.alias", mr, 0,
236 + memory_region_size(mr));
237 memory_region_add_subregion(s->memory, sc->memmap[s->uart_dev],
238 &s->uart_alias);
239 /*