diff mbox series

[v2,06/23] q800: move ROM memory region to Q800MachineState

Message ID 20230531125400.288917-7-mark.cave-ayland@ilande.co.uk
State New
Headers show
Series q800: add support for booting MacOS Classic - part 1 | expand

Commit Message

Mark Cave-Ayland May 31, 2023, 12:53 p.m. UTC
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
---
 hw/m68k/q800.c         | 13 +++++--------
 include/hw/m68k/q800.h |  1 +
 2 files changed, 6 insertions(+), 8 deletions(-)

Comments

Philippe Mathieu-Daudé May 31, 2023, 1:42 p.m. UTC | #1
On 31/5/23 14:53, Mark Cave-Ayland wrote:
> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
> ---
>   hw/m68k/q800.c         | 13 +++++--------
>   include/hw/m68k/q800.h |  1 +
>   2 files changed, 6 insertions(+), 8 deletions(-)


> diff --git a/include/hw/m68k/q800.h b/include/hw/m68k/q800.h
> index 0f54f1c2cf..3e41f0e297 100644
> --- a/include/hw/m68k/q800.h
> +++ b/include/hw/m68k/q800.h
> @@ -31,6 +31,7 @@ struct Q800MachineState {
>       MachineState parent_obj;
>   
>       M68kCPU cpu;
> +    MemoryRegion rom;

Declared in "exec/memory.h" (missing #include), otherwise:

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>

>   };
>   
>   #define TYPE_Q800_MACHINE MACHINE_TYPE_NAME("q800")
Laurent Vivier May 31, 2023, 8:22 p.m. UTC | #2
Le 31/05/2023 à 14:53, Mark Cave-Ayland a écrit :
> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
> ---
>   hw/m68k/q800.c         | 13 +++++--------
>   include/hw/m68k/q800.h |  1 +
>   2 files changed, 6 insertions(+), 8 deletions(-)
> 
> diff --git a/hw/m68k/q800.c b/hw/m68k/q800.c
> index c34b2548ca..3d0a56d9f3 100644
> --- a/hw/m68k/q800.c
> +++ b/hw/m68k/q800.c
> @@ -372,7 +372,6 @@ static void q800_machine_init(MachineState *machine)
>       int bios_size;
>       ram_addr_t initrd_base;
>       int32_t initrd_size;
> -    MemoryRegion *rom;
>       MemoryRegion *io;
>       MemoryRegion *dp8393x_prom = g_new(MemoryRegion, 1);
>       uint8_t *prom;
> @@ -647,11 +646,10 @@ static void q800_machine_init(MachineState *machine)
>           BOOTINFO1(param_ptr, BI_MAC_VROW, macfb_mode->stride);
>           BOOTINFO1(param_ptr, BI_MAC_SCCBASE, SCC_BASE);
>   
> -        rom = g_malloc(sizeof(*rom));
> -        memory_region_init_ram_ptr(rom, NULL, "m68k_fake_mac.rom",
> +        memory_region_init_ram_ptr(&m->rom, NULL, "m68k_fake_mac.rom",
>                                      sizeof(fake_mac_rom), fake_mac_rom);
> -        memory_region_set_readonly(rom, true);
> -        memory_region_add_subregion(get_system_memory(), MACROM_ADDR, rom);
> +        memory_region_set_readonly(&m->rom, true);
> +        memory_region_add_subregion(get_system_memory(), MACROM_ADDR, &m->rom);
>   
>           if (kernel_cmdline) {
>               BOOTINFOSTR(param_ptr, BI_COMMAND_LINE,
> @@ -693,11 +691,10 @@ static void q800_machine_init(MachineState *machine)
>       } else {
>           uint8_t *ptr;
>           /* allocate and load BIOS */
> -        rom = g_malloc(sizeof(*rom));
> -        memory_region_init_rom(rom, NULL, "m68k_mac.rom", MACROM_SIZE,
> +        memory_region_init_rom(&m->rom, NULL, "m68k_mac.rom", MACROM_SIZE,
>                                  &error_abort);
>           filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name);
> -        memory_region_add_subregion(get_system_memory(), MACROM_ADDR, rom);
> +        memory_region_add_subregion(get_system_memory(), MACROM_ADDR, &m->rom);
>   
>           /* Load MacROM binary */
>           if (filename) {
> diff --git a/include/hw/m68k/q800.h b/include/hw/m68k/q800.h
> index 0f54f1c2cf..3e41f0e297 100644
> --- a/include/hw/m68k/q800.h
> +++ b/include/hw/m68k/q800.h
> @@ -31,6 +31,7 @@ struct Q800MachineState {
>       MachineState parent_obj;
>   
>       M68kCPU cpu;
> +    MemoryRegion rom;
>   };
>   
>   #define TYPE_Q800_MACHINE MACHINE_TYPE_NAME("q800")

Reviewed-by: Laurent Vivier <laurent@vivier.eu>
diff mbox series

Patch

diff --git a/hw/m68k/q800.c b/hw/m68k/q800.c
index c34b2548ca..3d0a56d9f3 100644
--- a/hw/m68k/q800.c
+++ b/hw/m68k/q800.c
@@ -372,7 +372,6 @@  static void q800_machine_init(MachineState *machine)
     int bios_size;
     ram_addr_t initrd_base;
     int32_t initrd_size;
-    MemoryRegion *rom;
     MemoryRegion *io;
     MemoryRegion *dp8393x_prom = g_new(MemoryRegion, 1);
     uint8_t *prom;
@@ -647,11 +646,10 @@  static void q800_machine_init(MachineState *machine)
         BOOTINFO1(param_ptr, BI_MAC_VROW, macfb_mode->stride);
         BOOTINFO1(param_ptr, BI_MAC_SCCBASE, SCC_BASE);
 
-        rom = g_malloc(sizeof(*rom));
-        memory_region_init_ram_ptr(rom, NULL, "m68k_fake_mac.rom",
+        memory_region_init_ram_ptr(&m->rom, NULL, "m68k_fake_mac.rom",
                                    sizeof(fake_mac_rom), fake_mac_rom);
-        memory_region_set_readonly(rom, true);
-        memory_region_add_subregion(get_system_memory(), MACROM_ADDR, rom);
+        memory_region_set_readonly(&m->rom, true);
+        memory_region_add_subregion(get_system_memory(), MACROM_ADDR, &m->rom);
 
         if (kernel_cmdline) {
             BOOTINFOSTR(param_ptr, BI_COMMAND_LINE,
@@ -693,11 +691,10 @@  static void q800_machine_init(MachineState *machine)
     } else {
         uint8_t *ptr;
         /* allocate and load BIOS */
-        rom = g_malloc(sizeof(*rom));
-        memory_region_init_rom(rom, NULL, "m68k_mac.rom", MACROM_SIZE,
+        memory_region_init_rom(&m->rom, NULL, "m68k_mac.rom", MACROM_SIZE,
                                &error_abort);
         filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name);
-        memory_region_add_subregion(get_system_memory(), MACROM_ADDR, rom);
+        memory_region_add_subregion(get_system_memory(), MACROM_ADDR, &m->rom);
 
         /* Load MacROM binary */
         if (filename) {
diff --git a/include/hw/m68k/q800.h b/include/hw/m68k/q800.h
index 0f54f1c2cf..3e41f0e297 100644
--- a/include/hw/m68k/q800.h
+++ b/include/hw/m68k/q800.h
@@ -31,6 +31,7 @@  struct Q800MachineState {
     MachineState parent_obj;
 
     M68kCPU cpu;
+    MemoryRegion rom;
 };
 
 #define TYPE_Q800_MACHINE MACHINE_TYPE_NAME("q800")