[PATCH v4 1/6] target/m68k: Add dummy CAAR register
54weasels <[email protected]>
| Newsgroups | org.nongnu.qemu-devel |
|---|---|
| Message-ID | <[email protected]> |
High level description: The Sun-3 ROM expects the Cache Control Register (CAAR) to exist on the 68020. Reading/writing this register currently aborts QEMU. This patch provides a dummy implementation that simply ignores writes and returns 0 on reads, allowing the ROM to continue booting. Impact on existing functionality: No impact on existing targets. ColdFire and Mac targets do not access CAAR in a way that currently aborts, and providing a safe dummy implementation ensures robustness across M68k boards. Context: This patch was originally submitted as part of the monolithic Sun-3 Machine Emulation series (https://patchew.org/QEMU/[email protected]/) and has been split into atomic components. --- target/m68k/helper.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/target/m68k/helper.c b/target/m68k/helper.c index 5f91d206f5..68f523ea84 100644 --- a/target/m68k/helper.c +++ b/target/m68k/helper.c @@ -281,8 +281,10 @@ void HELPER(m68k_movec_to)(CPUM68KState *env, uint32_t reg, uint32_t val) return; } break; - /* Unimplemented Registers */ + /* Dummy implementation for CAAR */ case M68K_CR_CAAR: + return; + /* Unimplemented Registers */ case M68K_CR_PCR: case M68K_CR_BUSCR: cpu_abort(env_cpu(env), @@ -385,8 +387,10 @@ uint32_t HELPER(m68k_movec_from)(CPUM68KState *env, uint32_t reg) return env->mmu.ttr[M68K_DTTR1]; } break; - /* Unimplemented Registers */ + /* Dummy implementation for CAAR */ case M68K_CR_CAAR: + return 0; + /* Unimplemented Registers */ case M68K_CR_PCR: case M68K_CR_BUSCR: cpu_abort(env_cpu(env), "Unimplemented control register read 0x%x\n", -- 2.50.1 (Apple Git-155)