diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2022-01-10 14:43:03 +0000 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2022-01-10 14:43:03 +0000 |
commit | de3f5223fa4cf8bfc5e3fe1fd495ddf468edcdf7 (patch) | |
tree | 7aad9a78e192ac7925732ef6de618bfd03ffe41c /hw | |
parent | df722e33d5da26ea8604500ca8f509245a0ea524 (diff) | |
parent | 31144eb6393b66b06a13e8a6ad0e730f9e82d4c6 (diff) | |
download | qemu-de3f5223fa4cf8bfc5e3fe1fd495ddf468edcdf7.zip qemu-de3f5223fa4cf8bfc5e3fe1fd495ddf468edcdf7.tar.gz qemu-de3f5223fa4cf8bfc5e3fe1fd495ddf468edcdf7.tar.bz2 |
Merge remote-tracking branch 'remotes/vivier/tags/m68k-for-7.0-pull-request' into staging
M68k pull request 20220109
Add virt compat machine type for 7.0
fix q800 -bios parameter
fix VRAM refresh
fix M68K_FEATURE_UNALIGNED_DATA feature
# gpg: Signature made Sun 09 Jan 2022 11:41:19 GMT
# gpg: using RSA key CD2F75DDC8E3A4DC2E4F5173F30C38BD3F2FBE3C
# gpg: issuer "laurent@vivier.eu"
# gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>" [full]
# gpg: aka "Laurent Vivier <laurent@vivier.eu>" [full]
# gpg: aka "Laurent Vivier (Red Hat) <lvivier@redhat.com>" [full]
# Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F 5173 F30C 38BD 3F2F BE3C
* remotes/vivier/tags/m68k-for-7.0-pull-request:
target/m68k: don't word align SP in stack frame if M68K_FEATURE_UNALIGNED_DATA feature enabled
macfb: fix VRAM dirty memory region logging
q800: fix segfault with invalid MacROM
hw: m68k: Add virt compat machine type for 7.0
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/display/macfb.c | 2 | ||||
-rw-r--r-- | hw/m68k/q800.c | 5 | ||||
-rw-r--r-- | hw/m68k/virt.c | 9 |
3 files changed, 12 insertions, 4 deletions
diff --git a/hw/display/macfb.c b/hw/display/macfb.c index 277d3e6..4bd7c3a 100644 --- a/hw/display/macfb.c +++ b/hw/display/macfb.c @@ -661,9 +661,9 @@ static bool macfb_common_realize(DeviceState *dev, MacfbState *s, Error **errp) memory_region_init_ram(&s->mem_vram, OBJECT(dev), "macfb-vram", MACFB_VRAM_SIZE, &error_abort); + memory_region_set_log(&s->mem_vram, true, DIRTY_MEMORY_VGA); s->vram = memory_region_get_ram_ptr(&s->mem_vram); s->vram_bit_mask = MACFB_VRAM_SIZE - 1; - memory_region_set_coalescing(&s->mem_vram); s->vbl_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, macfb_vbl_timer, s); macfb_update_mode(s); diff --git a/hw/m68k/q800.c b/hw/m68k/q800.c index e4c7c9b..55dfe50 100644 --- a/hw/m68k/q800.c +++ b/hw/m68k/q800.c @@ -672,12 +672,13 @@ static void q800_init(MachineState *machine) /* Remove qtest_enabled() check once firmware files are in the tree */ if (!qtest_enabled()) { - if (bios_size < 0 || bios_size > MACROM_SIZE) { + if (bios_size <= 0 || bios_size > MACROM_SIZE) { error_report("could not load MacROM '%s'", bios_name); exit(1); } - ptr = rom_ptr(MACROM_ADDR, MACROM_SIZE); + ptr = rom_ptr(MACROM_ADDR, bios_size); + assert(ptr != NULL); stl_phys(cs->as, 0, ldl_p(ptr)); /* reset initial SP */ stl_phys(cs->as, 4, MACROM_ADDR + ldl_p(ptr + 4)); /* reset initial PC */ diff --git a/hw/m68k/virt.c b/hw/m68k/virt.c index 0efa4a4..78e926a 100644 --- a/hw/m68k/virt.c +++ b/hw/m68k/virt.c @@ -304,10 +304,17 @@ type_init(virt_machine_register_types) } \ type_init(machvirt_machine_##major##_##minor##_init); +static void virt_machine_7_0_options(MachineClass *mc) +{ +} +DEFINE_VIRT_MACHINE(7, 0, true) + static void virt_machine_6_2_options(MachineClass *mc) { + virt_machine_7_0_options(mc); + compat_props_add(mc->compat_props, hw_compat_6_2, hw_compat_6_2_len); } -DEFINE_VIRT_MACHINE(6, 2, true) +DEFINE_VIRT_MACHINE(6, 2, false) static void virt_machine_6_1_options(MachineClass *mc) { |