mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-20 00:22:02 -06:00
target/m68k: only change valid bits in CACR
This is used by netBSD (and MacOS ROM) to detect the MMU type Signed-off-by: Laurent Vivier <laurent@vivier.eu> Reviewed-by: Thomas Huth <huth@tuxfamily.org> Message-Id: <20191220172415.35838-1-laurent@vivier.eu> [lv: add a comment before m680x0_cpu_common()] Signed-off-by: Laurent Vivier <laurent@vivier.eu>
This commit is contained in:
parent
e24e58e8ac
commit
18b6102e51
3 changed files with 36 additions and 9 deletions
|
@ -203,9 +203,17 @@ void HELPER(m68k_movec_to)(CPUM68KState *env, uint32_t reg, uint32_t val)
|
|||
case M68K_CR_VBR:
|
||||
env->vbr = val;
|
||||
return;
|
||||
/* MC680[234]0 */
|
||||
/* MC680[2346]0 */
|
||||
case M68K_CR_CACR:
|
||||
env->cacr = val;
|
||||
if (m68k_feature(env, M68K_FEATURE_M68020)) {
|
||||
env->cacr = val & 0x0000000f;
|
||||
} else if (m68k_feature(env, M68K_FEATURE_M68030)) {
|
||||
env->cacr = val & 0x00003f1f;
|
||||
} else if (m68k_feature(env, M68K_FEATURE_M68040)) {
|
||||
env->cacr = val & 0x80008000;
|
||||
} else if (m68k_feature(env, M68K_FEATURE_M68060)) {
|
||||
env->cacr = val & 0xf8e0e000;
|
||||
}
|
||||
m68k_switch_sp(env);
|
||||
return;
|
||||
/* MC680[34]0 */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue