Commit 3ab47a47d7 for qemu.org
commit 3ab47a47d716f8f2b7686cc06c8312db2e6fc2d4
Author: Thomas Huth <thuth@redhat.com>
Date: Wed Apr 22 09:54:29 2026 +0200
hw/sh4/sh7750: Remove forgotten abort() in the MM_ITLB_DATA handler
QEMU currently aborts when the guest writes to the MM_ITLB_DATA register:
echo "writel 0xf3000000 0x11223344" | \
./qemu-system-sh4 -M r2d -display none -accel qtest -qtest stdio
[I 0.000000] OPENED
[R +0.004476] writel 0xf3000000 0x11223344
Aborted (core dumped)
Looking at the history of the code, the abort() here has likely just
been forgotten when the register handler had been implemented (it used
to be a reminder about unimplemented functionality initially):
https://gitlab.com/qemu-project/qemu/-/commit/9f97309a70f12df5f9104f1f
Thus simply remove the abort() now to get rid of the problem.
Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/3420
Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20260422075429.341409-1-thuth@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
diff --git a/hw/sh4/sh7750.c b/hw/sh4/sh7750.c
index 3ae71f99fe..6aa7f63773 100644
--- a/hw/sh4/sh7750.c
+++ b/hw/sh4/sh7750.c
@@ -687,7 +687,6 @@ static void sh7750_mmct_write(void *opaque, hwaddr addr,
break;
case MM_ITLB_DATA:
cpu_sh4_write_mmaped_itlb_data(&s->cpu->env, addr, mem_value);
- abort();
break;
case MM_OCACHE_ADDR:
case MM_OCACHE_DATA: