mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2024-12-23 00:45:40 +00:00
m68k: add missing BUSCR/PCR CR defines, and BUSCR/PCR/CAAR CR to m68k_move_to/from
The BUSCR/PCR CR defines were missing for 68060, and the move_to/from helper functions were also missing a decode for the 68060 M68K_CR_CAAR CR register. Added missing defines, and respective decodes for all three CR registers to the helpers. Although this patch defines them, the implementation is empty in this patch and these registers will result in a cpu abort - which is the default prior to this patch. This patch aims to reach full coverage of all CR registers within the helpers. Backports 5736526ce2da32205022b10dcdf9807e735e451a
This commit is contained in:
parent
c6d5eea686
commit
0e992c16fd
|
@ -388,6 +388,10 @@ typedef enum {
|
||||||
#define M68K_CR_DACR0 0x006
|
#define M68K_CR_DACR0 0x006
|
||||||
#define M68K_CR_DACR1 0x007
|
#define M68K_CR_DACR1 0x007
|
||||||
|
|
||||||
|
/* MC68060 */
|
||||||
|
#define M68K_CR_BUSCR 0x008
|
||||||
|
#define M68K_CR_PCR 0x808
|
||||||
|
|
||||||
#define M68K_FPIAR_SHIFT 0
|
#define M68K_FPIAR_SHIFT 0
|
||||||
#define M68K_FPIAR (1 << M68K_FPIAR_SHIFT)
|
#define M68K_FPIAR (1 << M68K_FPIAR_SHIFT)
|
||||||
#define M68K_FPSR_SHIFT 1
|
#define M68K_FPSR_SHIFT 1
|
||||||
|
|
|
@ -124,6 +124,11 @@ void HELPER(m68k_movec_to)(CPUM68KState *env, uint32_t reg, uint32_t val)
|
||||||
case M68K_CR_DTT1:
|
case M68K_CR_DTT1:
|
||||||
env->mmu.ttr[M68K_DTTR1] = val;
|
env->mmu.ttr[M68K_DTTR1] = val;
|
||||||
return;
|
return;
|
||||||
|
/* Unimplemented Registers */
|
||||||
|
case M68K_CR_CAAR:
|
||||||
|
case M68K_CR_PCR:
|
||||||
|
case M68K_CR_BUSCR:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
cpu_abort(env_cpu(env),
|
cpu_abort(env_cpu(env),
|
||||||
"Unimplemented control register write 0x%x = 0x%x\n",
|
"Unimplemented control register write 0x%x = 0x%x\n",
|
||||||
|
@ -178,6 +183,11 @@ uint32_t HELPER(m68k_movec_from)(CPUM68KState *env, uint32_t reg)
|
||||||
/* MC68040/MC68LC040 */
|
/* MC68040/MC68LC040 */
|
||||||
case M68K_CR_DTT1: /* MC68EC040 only: M68K_CR_DACR1 */
|
case M68K_CR_DTT1: /* MC68EC040 only: M68K_CR_DACR1 */
|
||||||
return env->mmu.ttr[M68K_DTTR1];
|
return env->mmu.ttr[M68K_DTTR1];
|
||||||
|
/* Unimplemented Registers */
|
||||||
|
case M68K_CR_CAAR:
|
||||||
|
case M68K_CR_PCR:
|
||||||
|
case M68K_CR_BUSCR:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
cpu_abort(env_cpu(env), "Unimplemented control register read 0x%x\n",
|
cpu_abort(env_cpu(env), "Unimplemented control register read 0x%x\n",
|
||||||
reg);
|
reg);
|
||||||
|
|
Loading…
Reference in a new issue