In order to remove the convenient CPUState::as field, access the vcpu first address space using the cpu_get_address_space() helper.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]> --- hw/m68k/mcf5208.c | 6 ++++-- hw/m68k/q800.c | 17 ++++++++++------- hw/m68k/virt.c | 5 +++-- 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/hw/m68k/mcf5208.c b/hw/m68k/mcf5208.c index 75cc076f787..9354829e8a4 100644 --- a/hw/m68k/mcf5208.c +++ b/hw/m68k/mcf5208.c @@ -206,12 +206,14 @@ static void m5208_rcm_write(void *opaque, hwaddr addr, { M68kCPU *cpu = opaque; CPUState *cs = CPU(cpu); + AddressSpace *as = cpu_get_address_space(cs, 0); + switch (addr) { case 0x0: /* RCR */ if (value & RCR_SOFTRST) { cpu_reset(cs); - cpu->env.aregs[7] = ldl_phys(cs->as, 0); - cpu->env.pc = ldl_phys(cs->as, 4); + cpu->env.aregs[7] = ldl_phys(as, 0); + cpu->env.pc = ldl_phys(as, 4); } break; default: diff --git a/hw/m68k/q800.c b/hw/m68k/q800.c index 793b23f8155..9ec7122a4f8 100644 --- a/hw/m68k/q800.c +++ b/hw/m68k/q800.c @@ -107,10 +107,11 @@ static void main_cpu_reset(void *opaque) { M68kCPU *cpu = opaque; CPUState *cs = CPU(cpu); + AddressSpace *as = cpu_get_address_space(cs, 0); cpu_reset(cs); - cpu->env.aregs[7] = ldl_phys(cs->as, 0); - cpu->env.pc = ldl_phys(cs->as, 4); + cpu->env.aregs[7] = ldl_phys(as, 0); + cpu->env.pc = ldl_phys(as, 4); } static void rerandomize_rng_seed(void *opaque) @@ -263,6 +264,7 @@ static void q800_machine_init(MachineState *machine) const char *bios_name = machine->firmware ?: MACROM_FILENAME; hwaddr parameters_base; CPUState *cs; + AddressSpace *cpu_as; DeviceState *dev; SysBusESPState *sysbus_esp; ESPState *esp; @@ -573,6 +575,7 @@ static void q800_machine_init(MachineState *machine) macfb_mode = (NUBUS_MACFB(dev)->macfb).mode; cs = CPU(&m->cpu); + cpu_as = cpu_get_address_space(cs, 0); if (linux_boot) { uint64_t high; void *param_blob, *param_ptr, *param_rng_seed; @@ -590,7 +593,7 @@ static void q800_machine_init(MachineState *machine) error_report("could not load kernel '%s'", kernel_filename); exit(1); } - stl_phys(cs->as, 4, elf_entry); /* reset initial PC */ + stl_phys(cpu_as, 4, elf_entry); /* reset initial PC */ parameters_base = (high + 1) & ~1; param_ptr = param_blob; @@ -647,9 +650,9 @@ static void q800_machine_init(MachineState *machine) } BOOTINFO0(param_ptr, BI_LAST); rom_add_blob_fixed_as("bootinfo", param_blob, param_ptr - param_blob, - parameters_base, cs->as); + parameters_base, cpu_as); qemu_register_reset_nosnapshotload(rerandomize_rng_seed, - rom_ptr_for_as(cs->as, parameters_base, + rom_ptr_for_as(cpu_as, parameters_base, param_ptr - param_blob) + (param_rng_seed - param_blob)); g_free(param_blob); @@ -683,8 +686,8 @@ static void q800_machine_init(MachineState *machine) ptr = rom_ptr(MACROM_ADDR, bios_size); assert(ptr != NULL); - stl_phys(cs->as, 0, ldl_be_p(ptr)); /* reset initial SP */ - stl_phys(cs->as, 4, + stl_phys(cpu_as, 0, ldl_be_p(ptr)); /* reset initial SP */ + stl_phys(cpu_as, 4, MACROM_ADDR + ldl_be_p(ptr + 4)); /* reset initial PC */ } } diff --git a/hw/m68k/virt.c b/hw/m68k/virt.c index 98cfe43c73a..e5ce0c28878 100644 --- a/hw/m68k/virt.c +++ b/hw/m68k/virt.c @@ -219,6 +219,7 @@ static void virt_init(MachineState *machine) if (kernel_filename) { CPUState *cs = CPU(cpu); + AddressSpace *as = cpu_get_address_space(cs, 0); uint64_t high; void *param_blob, *param_ptr, *param_rng_seed; @@ -301,9 +302,9 @@ static void virt_init(MachineState *machine) } BOOTINFO0(param_ptr, BI_LAST); rom_add_blob_fixed_as("bootinfo", param_blob, param_ptr - param_blob, - parameters_base, cs->as); + parameters_base, as); qemu_register_reset_nosnapshotload(rerandomize_rng_seed, - rom_ptr_for_as(cs->as, parameters_base, + rom_ptr_for_as(as, parameters_base, param_ptr - param_blob) + (param_rng_seed - param_blob)); g_free(param_blob); -- 2.51.0
