qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] target/mips: Disable R5900 support


From: Philippe Mathieu-Daudé
Subject: Re: [Qemu-devel] [PATCH] target/mips: Disable R5900 support
Date: Tue, 13 Nov 2018 20:29:28 +0100

Hi Aleksandar,

On Tue, Nov 13, 2018 at 8:08 PM Aleksandar Markovic
<address@hidden> wrote:
>
> From: Aleksandar Markovic <address@hidden>
>
> Disable R5900 support. There are some outstanding issues related
> to ABI support and emulation accuracy, that were not understood
> well during review process. Disable to avoid backward compatibility
> issues.

Can you add:

This reverts commit ed4f49ba9bb56ebca6987b1083255daf6c89b5de.

Or

Fixes: ed4f49ba9

when applying?

>
> Signed-off-by: Aleksandar Markovic <address@hidden>
> ---
>  target/mips/translate_init.inc.c | 59 
> ----------------------------------------
>  1 file changed, 59 deletions(-)
>
> diff --git a/target/mips/translate_init.inc.c 
> b/target/mips/translate_init.inc.c
> index 85da4a2..acab097 100644
> --- a/target/mips/translate_init.inc.c
> +++ b/target/mips/translate_init.inc.c
> @@ -411,65 +411,6 @@ const mips_def_t mips_defs[] =
>          .mmu_type = MMU_TYPE_R4000,
>      },
>      {
> -        /*
> -         * The Toshiba TX System RISC TX79 Core Architecture manual
> -         *
> -         * https://wiki.qemu.org/File:C790.pdf
> -         *
> -         * describes the C790 processor that is a follow-up to the R5900.
> -         * There are a few notable differences in that the R5900 FPU
> -         *
> -         * - is not IEEE 754-1985 compliant,
> -         * - does not implement double format, and
> -         * - its machine code is nonstandard.
> -         */
> -        .name = "R5900",
> -        .CP0_PRid = 0x00002E00,
> -        /* No L2 cache, icache size 32k, dcache size 32k, uncached 
> coherency. */
> -        .CP0_Config0 = (0x3 << 9) | (0x3 << 6) | (0x2 << CP0C0_K0),
> -        .CP0_Status_rw_bitmask = 0xF4C79C1F,
> -#ifdef CONFIG_USER_ONLY
> -        /*
> -         * R5900 hardware traps to the Linux kernel for IEEE 754-1985 and 
> LL/SC
> -         * emulation. For user only, QEMU is the kernel, so we emulate the 
> traps
> -         * by simply emulating the instructions directly.
> -         *
> -         * Note: Config1 is only used internally, the R5900 has only Config0.
> -         */
> -        .CP0_Config1 = (1 << CP0C1_FP) | (47 << CP0C1_MMU),
> -        .CP0_LLAddr_rw_bitmask = 0xFFFFFFFF,
> -        .CP0_LLAddr_shift = 4,
> -        .CP1_fcr0 = (0x38 << FCR0_PRID) | (0x0 << FCR0_REV),
> -        .CP1_fcr31 = 0,
> -        .CP1_fcr31_rw_bitmask = 0x0183FFFF,
> -#else
> -        /*
> -         * The R5900 COP1 FPU implements single-precision floating-point
> -         * operations but is not entirely IEEE 754-1985 compatible. In
> -         * particular,
> -         *
> -         * - NaN (not a number) and +/- infinities are not supported;
> -         * - exception mechanisms are not fully supported;
> -         * - denormalized numbers are not supported;
> -         * - rounding towards nearest and +/- infinities are not supported;
> -         * - computed results usually differs in the least significant bit;
> -         * - saturations can differ more than the least significant bit.
> -         *
> -         * Since only rounding towards zero is supported, the two least
> -         * significant bits of FCR31 are hardwired to 01.
> -         *
> -         * FPU emulation is disabled here until it is implemented.
> -         *
> -         * Note: Config1 is only used internally, the R5900 has only Config0.
> -         */
> -        .CP0_Config1 = (47 << CP0C1_MMU),
> -#endif /* !CONFIG_USER_ONLY */
> -        .SEGBITS = 32,
> -        .PABITS = 32,
> -        .insn_flags = CPU_R5900 | ASE_MMI,
> -        .mmu_type = MMU_TYPE_R4000,
> -    },
> -    {
>          /* A generic CPU supporting MIPS32 Release 6 ISA.
>             FIXME: Support IEEE 754-2008 FP.
>                    Eventually this should be replaced by a real CPU model. */
> --
> 2.7.4
>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]