[PATCH v2 2/7] hw/display/{cg3,tcx}: Do not use memory_region_init_rom_nomigrate()

BALATON Zoltan posted 7 patches 6 days, 14 hours ago
Maintainers: Pierrick Bouvier <pierrick.bouvier@linaro.org>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>, Gerd Hoffmann <kraxel@redhat.com>, Artyom Tarasenko <atar4qemu@gmail.com>, Max Filippov <jcmvbkbc@gmail.com>, Paolo Bonzini <pbonzini@redhat.com>, Peter Xu <peterx@redhat.com>, "Philippe Mathieu-Daudé" <philmd@linaro.org>
There is a newer version of this series
[PATCH v2 2/7] hw/display/{cg3,tcx}: Do not use memory_region_init_rom_nomigrate()
Posted by BALATON Zoltan 6 days, 14 hours ago
We could simply convert these to use memory_region_init_rom but that
would be a migration compatibility break so preserve current behaviour
for now.

Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
---
 hw/display/cg3.c | 6 ++++--
 hw/display/tcx.c | 6 ++++--
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/hw/display/cg3.c b/hw/display/cg3.c
index 568d6048a6..44966e7586 100644
--- a/hw/display/cg3.c
+++ b/hw/display/cg3.c
@@ -282,8 +282,10 @@ static void cg3_initfn(Object *obj)
     SysBusDevice *sbd = SYS_BUS_DEVICE(obj);
     CG3State *s = CG3(obj);
 
-    memory_region_init_rom_nomigrate(&s->rom, obj, "cg3.prom",
-                                     FCODE_MAX_ROM_SIZE, &error_fatal);
+    memory_region_init_ram_flags_nomigrate(&s->rom, obj, "cg3.prom",
+                                           FCODE_MAX_ROM_SIZE, 0,
+                                           &error_fatal);
+    memory_region_set_readonly(&s->rom, true);
     sysbus_init_mmio(sbd, &s->rom);
 
     memory_region_init_io(&s->reg, obj, &cg3_reg_ops, s, "cg3.reg",
diff --git a/hw/display/tcx.c b/hw/display/tcx.c
index 36cad82abd..87fe7216ba 100644
--- a/hw/display/tcx.c
+++ b/hw/display/tcx.c
@@ -756,8 +756,10 @@ static void tcx_initfn(Object *obj)
     SysBusDevice *sbd = SYS_BUS_DEVICE(obj);
     TCXState *s = TCX(obj);
 
-    memory_region_init_rom_nomigrate(&s->rom, obj, "tcx.prom",
-                                     FCODE_MAX_ROM_SIZE, &error_fatal);
+    memory_region_init_ram_flags_nomigrate(&s->rom, obj, "tcx.prom",
+                                           FCODE_MAX_ROM_SIZE, 0,
+                                           &error_fatal);
+    memory_region_set_readonly(&s->rom, true);
     sysbus_init_mmio(sbd, &s->rom);
 
     /* 2/STIP : Stippler */
-- 
2.41.3
Re: [PATCH v2 2/7] hw/display/{cg3,tcx}: Do not use memory_region_init_rom_nomigrate()
Posted by Mark Cave-Ayland 6 days, 9 hours ago
On 02/02/2026 14:28, BALATON Zoltan wrote:

> We could simply convert these to use memory_region_init_rom but that
> would be a migration compatibility break so preserve current behaviour
> for now.
> 
> Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
> ---
>   hw/display/cg3.c | 6 ++++--
>   hw/display/tcx.c | 6 ++++--
>   2 files changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/hw/display/cg3.c b/hw/display/cg3.c
> index 568d6048a6..44966e7586 100644
> --- a/hw/display/cg3.c
> +++ b/hw/display/cg3.c
> @@ -282,8 +282,10 @@ static void cg3_initfn(Object *obj)
>       SysBusDevice *sbd = SYS_BUS_DEVICE(obj);
>       CG3State *s = CG3(obj);
>   
> -    memory_region_init_rom_nomigrate(&s->rom, obj, "cg3.prom",
> -                                     FCODE_MAX_ROM_SIZE, &error_fatal);
> +    memory_region_init_ram_flags_nomigrate(&s->rom, obj, "cg3.prom",
> +                                           FCODE_MAX_ROM_SIZE, 0,
> +                                           &error_fatal);
> +    memory_region_set_readonly(&s->rom, true);
>       sysbus_init_mmio(sbd, &s->rom);
>   
>       memory_region_init_io(&s->reg, obj, &cg3_reg_ops, s, "cg3.reg",
> diff --git a/hw/display/tcx.c b/hw/display/tcx.c
> index 36cad82abd..87fe7216ba 100644
> --- a/hw/display/tcx.c
> +++ b/hw/display/tcx.c
> @@ -756,8 +756,10 @@ static void tcx_initfn(Object *obj)
>       SysBusDevice *sbd = SYS_BUS_DEVICE(obj);
>       TCXState *s = TCX(obj);
>   
> -    memory_region_init_rom_nomigrate(&s->rom, obj, "tcx.prom",
> -                                     FCODE_MAX_ROM_SIZE, &error_fatal);
> +    memory_region_init_ram_flags_nomigrate(&s->rom, obj, "tcx.prom",
> +                                           FCODE_MAX_ROM_SIZE, 0,
> +                                           &error_fatal);
> +    memory_region_set_readonly(&s->rom, true);
>       sysbus_init_mmio(sbd, &s->rom);
>   
>       /* 2/STIP : Stippler */

Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


ATB,

Mark.