[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 4/6] Add missing BUSCR/PCR CR defines, and BUSCR
From: |
Laurent Vivier |
Subject: |
Re: [Qemu-devel] [PATCH 4/6] Add missing BUSCR/PCR CR defines, and BUSCR/PCR/CAAR CR to m68k_move_to/from |
Date: |
Tue, 2 Jul 2019 11:53:57 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0 |
Le 16/06/2019 à 16:23, Lucien Murray-Pitts a écrit :
> 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.
>
> Signed-off-by: Lucien Murray-Pitts <address@hidden>
> ---
> target/m68k/cpu.h | 4 ++++
> target/m68k/helper.c | 14 ++++++++++++++
> 2 files changed, 18 insertions(+)
>
> diff --git a/target/m68k/cpu.h b/target/m68k/cpu.h
> index b5b3db01c9..2386419c42 100644
> --- a/target/m68k/cpu.h
> +++ b/target/m68k/cpu.h
> @@ -411,6 +411,10 @@ typedef enum {
> #define M68K_CR_DACR0 0x006
> #define M68K_CR_DACR1 0x007
>
> +/* MC68060 */
> +#define M68K_CR_BUSCR 0x008
> +#define M68K_CR_PCR 0x808
> +
> #define M68K_FPIAR_SHIFT 0
> #define M68K_FPIAR (1 << M68K_FPIAR_SHIFT)
> #define M68K_FPSR_SHIFT 1
> diff --git a/target/m68k/helper.c b/target/m68k/helper.c
> index 5483ce9837..47b352c9c9 100644
> --- a/target/m68k/helper.c
> +++ b/target/m68k/helper.c
> @@ -257,6 +257,14 @@ void HELPER(m68k_movec_to)(CPUM68KState *env, uint32_t
> reg, uint32_t val)
> case M68K_CR_DTT1:
> env->mmu.ttr[M68K_DTTR1] = val;
> return;
> + /* Unimplemented Registers */
> + case M68K_CR_CAAR:
> + case M68K_CR_PCR:
> + case M68K_CR_BUSCR:
> + cpu_abort(CPU(cpu),
> + "Unimplemented control register write 0x%x = 0x%x\n",
> + reg, val);
> + return;
> }
> cpu_abort(CPU(cpu), "Unimplemented control register write 0x%x = 0x%x\n",
> reg, val);
> @@ -312,6 +320,12 @@ uint32_t HELPER(m68k_movec_from)(CPUM68KState *env,
> uint32_t reg)
> /* MC68040/MC68LC040 */
> case M68K_CR_DTT1: /* MC68EC040 only: M68K_CR_DACR1 */
> return env->mmu.ttr[M68K_DTTR1];
> + /* Unimplemented Registers */
> + case M68K_CR_CAAR:
> + case M68K_CR_PCR:
> + case M68K_CR_BUSCR:
> + cpu_abort(CPU(cpu), "Unimplemented control register read 0x%x\n",
> + reg);
> }
> cpu_abort(CPU(cpu), "Unimplemented control register read 0x%x\n",
> reg);
>
Reviewed-by: Laurent Vivier <address@hidden>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [PATCH 4/6] Add missing BUSCR/PCR CR defines, and BUSCR/PCR/CAAR CR to m68k_move_to/from,
Laurent Vivier <=