qemu-ppc
[Top][All Lists]
Advanced

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

Re: [PATCH] target/ppc: Remove support for the PowerPC 602 CPU


From: Fabiano Rosas
Subject: Re: [PATCH] target/ppc: Remove support for the PowerPC 602 CPU
Date: Fri, 28 Jan 2022 11:29:53 -0300

Cédric Le Goater <clg@kaod.org> writes:

> The 602 was derived from the PowerPC 603, for the gaming market it
> seems. It was hardly used and no firmware supporting the CPU could be
> found. Drop support.
>
> Signed-off-by: Cédric Le Goater <clg@kaod.org>
> ---
>  target/ppc/cpu-models.h      |   1 -
>  target/ppc/cpu.h             |   2 -
>  target/ppc/helper.h          |   1 -
>  target/ppc/cpu-models.c      |   2 -
>  target/ppc/cpu_init.c        | 145 -----------------------------------
>  target/ppc/excp_helper.c     |   1 -
>  target/ppc/int_helper.c      |  21 -----
>  target/ppc/mfrom_table_gen.c |  34 --------
>  target/ppc/translate.c       |  30 --------
>  target/ppc/mfrom_table.c.inc |  78 -------------------
>  10 files changed, 315 deletions(-)
>  delete mode 100644 target/ppc/mfrom_table_gen.c
>  delete mode 100644 target/ppc/mfrom_table.c.inc
>
> diff --git a/target/ppc/cpu-models.h b/target/ppc/cpu-models.h
> index bf1dc7e5ca3d..612978a3fbd2 100644
> --- a/target/ppc/cpu-models.h
> +++ b/target/ppc/cpu-models.h
> @@ -208,7 +208,6 @@ enum {
>      CPU_POWERPC_601_v0             = 0x00010001,
>      CPU_POWERPC_601_v1             = 0x00010001,
>      CPU_POWERPC_601_v2             = 0x00010002,
> -    CPU_POWERPC_602                = 0x00050100,
>      CPU_POWERPC_603                = 0x00030100,
>      CPU_POWERPC_603E_v11           = 0x00060101,
>      CPU_POWERPC_603E_v12           = 0x00060102,
> diff --git a/target/ppc/cpu.h b/target/ppc/cpu.h
> index 66e13075c3df..b9119479958c 100644
> --- a/target/ppc/cpu.h
> +++ b/target/ppc/cpu.h

In cpu.h you could probably remove the MSR_AP and MSR_SA bit definitions
as well. And the code in ppc_cpu_reset that sets them.

> @@ -2142,8 +2142,6 @@ enum {
>      PPC_MFTB           = 0x0000000000000200ULL,
>  
>      /* Fixed-point unit extensions                                           
> */
> -    /*   PowerPC 602 specific                                                
> */
> -    PPC_602_SPEC       = 0x0000000000000400ULL,
>      /*   isel instruction                                                    
> */
>      PPC_ISEL           = 0x0000000000000800ULL,
>      /*   popcntb instruction                                                 
> */

...

> diff --git a/target/ppc/int_helper.c b/target/ppc/int_helper.c
> index 9bc327bcba5a..d7765fd3e3d8 100644
> --- a/target/ppc/int_helper.c
> +++ b/target/ppc/int_helper.c
> @@ -488,27 +488,6 @@ target_ulong helper_divso(CPUPPCState *env, target_ulong 
> arg1,
>      }
>  }
>  
> -/*****************************************************************************/
> -/* 602 specific instructions */
> -/* mfrom is the most crazy instruction ever seen, imho ! */

How do you have the heart to remove the "most crazy instruction ever
seen"?

> -/* Real implementation uses a ROM table. Do the same */
> -/*
> - * Extremely decomposed:
> - *                      -arg / 256
> - * return 256 * log10(10           + 1.0) + 0.5
> - */
> -#if !defined(CONFIG_USER_ONLY)
> -target_ulong helper_602_mfrom(target_ulong arg)
> -{
> -    if (likely(arg < 602)) {
> -#include "mfrom_table.c.inc"
> -        return mfrom_ROM_table[arg];
> -    } else {
> -        return 0;
> -    }
> -}
> -#endif



reply via email to

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