qemu-ppc
[Top][All Lists]
Advanced

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

Re: [PATCH] target/ppc: Fix MPC8555 and MPC8560 core type to e500v1


From: Yonggang Luo
Subject: Re: [PATCH] target/ppc: Fix MPC8555 and MPC8560 core type to e500v1
Date: Mon, 4 Jul 2022 23:36:25 +0800



On Mon, Jul 4, 2022 at 6:20 PM Pali Rohár <pali@kernel.org> wrote:
>
> On Sunday 03 July 2022 21:50:29 Pali Rohár wrote:
> > Commit 80d11f4467c4 ("Add definitions for Freescale PowerPC implementations")
> > changed core type of MPC8555 and MPC8560 from e500v1 to e500v2.
> >
> > But both MPC8555 and MPC8560 have just e500v1 cores, there are no features
> > of e500v2 cores. It can be verified by reading NXP documentations:
> > https://www.nxp.com/docs/en/data-sheet/MPC8555EEC.pdf
> > https://www.nxp.com/docs/en/data-sheet/MPC8560EC.pdf
> > https://www.nxp.com/docs/en/reference-manual/MPC8555ERM.pdf
> > https://www.nxp.com/docs/en/reference-manual/MPC8560RM.pdf
> >
> > Therefore fix core type of MPC8555 and MPC8560 back to e500v1.
> >
> > Fixes: 80d11f4467c4 ("Add definitions for Freescale PowerPC implementations")
> > Signed-off-by: Pali Rohár <pali@kernel.org>
> > ---
>
> Just for completeness, here is list of all Motorola/Freescale/NXP
> processors which were released and have e500v1 or e500v2 cores.
>
> e500v1:
> MPC8540
> MPC8541
> MPC8555
> MPC8560
>
> e500v2:
> BSC9131
> BSC9132
> C291
> C292
> C293
> MPC8533
> MPC8535
> MPC8536
> MPC8543
> MPC8544
> MPC8545
> MPC8547
> MPC8548
> MPC8567
> MPC8568
> MPC8569
> MPC8572
> P1010
> P1011
> P1012
> P1013
> P1014
> P1015
> P1016
> P1020
> P1021
> P1022
> P1024
> P1025
> P2010
> P2020

I'll suggest add this list into comment or commit message for record

>
> (sorted alphabetically; not by release date / generation / feature set)
>
> All this is from public information available on NXP website.
>
> Seems that qemu has support only for some subset of MPC85?? processors.
>
> Historically processors with e500 cores have mpc85xx family codename and
> lot of software have them in mpc85xx architecture subdirectory.
>
> Note that GCC uses -mcpu=8540 option for specifying e500v1 core and
> -mcpu=8548 option for specifying e500v2 core.
>
> So sometimes (mpc)8540 is alias for e500v1 and (mpc)8548 is alias for
> e500v2.
>
> >  target/ppc/cpu-models.c | 14 +++++++-------
> >  target/ppc/cpu-models.h | 14 +++++++-------
> >  2 files changed, 14 insertions(+), 14 deletions(-)
> >
> > diff --git a/target/ppc/cpu-models.c b/target/ppc/cpu-models.c
> > index 976be5e0d171..44a2710c5843 100644
> > --- a/target/ppc/cpu-models.c
> > +++ b/target/ppc/cpu-models.c
> > @@ -385,19 +385,19 @@
> >      POWERPC_DEF_SVR("mpc8548e_v21", "MPC8548E v2.1",
> >                      CPU_POWERPC_MPC8548E_v21, POWERPC_SVR_8548E_v21, e500v2)
> >      POWERPC_DEF_SVR("mpc8555_v10", "MPC8555 v1.0",
> > -                    CPU_POWERPC_MPC8555_v10,  POWERPC_SVR_8555_v10,  e500v2)
> > +                    CPU_POWERPC_MPC8555_v10,  POWERPC_SVR_8555_v10,  e500v1)
> >      POWERPC_DEF_SVR("mpc8555_v11", "MPC8555 v1.1",
> > -                    CPU_POWERPC_MPC8555_v11,  POWERPC_SVR_8555_v11,  e500v2)
> > +                    CPU_POWERPC_MPC8555_v11,  POWERPC_SVR_8555_v11,  e500v1)
> >      POWERPC_DEF_SVR("mpc8555e_v10", "MPC8555E v1.0",
> > -                    CPU_POWERPC_MPC8555E_v10, POWERPC_SVR_8555E_v10, e500v2)
> > +                    CPU_POWERPC_MPC8555E_v10, POWERPC_SVR_8555E_v10, e500v1)
> >      POWERPC_DEF_SVR("mpc8555e_v11", "MPC8555E v1.1",
> > -                    CPU_POWERPC_MPC8555E_v11, POWERPC_SVR_8555E_v11, e500v2)
> > +                    CPU_POWERPC_MPC8555E_v11, POWERPC_SVR_8555E_v11, e500v1)
> >      POWERPC_DEF_SVR("mpc8560_v10", "MPC8560 v1.0",
> > -                    CPU_POWERPC_MPC8560_v10,  POWERPC_SVR_8560_v10,  e500v2)
> > +                    CPU_POWERPC_MPC8560_v10,  POWERPC_SVR_8560_v10,  e500v1)
> >      POWERPC_DEF_SVR("mpc8560_v20", "MPC8560 v2.0",
> > -                    CPU_POWERPC_MPC8560_v20,  POWERPC_SVR_8560_v20,  e500v2)
> > +                    CPU_POWERPC_MPC8560_v20,  POWERPC_SVR_8560_v20,  e500v1)
> >      POWERPC_DEF_SVR("mpc8560_v21", "MPC8560 v2.1",
> > -                    CPU_POWERPC_MPC8560_v21,  POWERPC_SVR_8560_v21,  e500v2)
> > +                    CPU_POWERPC_MPC8560_v21,  POWERPC_SVR_8560_v21,  e500v1)
> >      POWERPC_DEF_SVR("mpc8567", "MPC8567",
> >                      CPU_POWERPC_MPC8567,      POWERPC_SVR_8567,      e500v2)
> >      POWERPC_DEF_SVR("mpc8567e", "MPC8567E",
> > diff --git a/target/ppc/cpu-models.h b/target/ppc/cpu-models.h
> > index 76775a74a9b6..1326493a9a05 100644
> > --- a/target/ppc/cpu-models.h
> > +++ b/target/ppc/cpu-models.h
> > @@ -184,13 +184,13 @@ enum {
> >  #define CPU_POWERPC_MPC8548E_v11     CPU_POWERPC_e500v2_v11
> >  #define CPU_POWERPC_MPC8548E_v20     CPU_POWERPC_e500v2_v20
> >  #define CPU_POWERPC_MPC8548E_v21     CPU_POWERPC_e500v2_v21
> > -#define CPU_POWERPC_MPC8555_v10      CPU_POWERPC_e500v2_v10
> > -#define CPU_POWERPC_MPC8555_v11      CPU_POWERPC_e500v2_v11
> > -#define CPU_POWERPC_MPC8555E_v10     CPU_POWERPC_e500v2_v10
> > -#define CPU_POWERPC_MPC8555E_v11     CPU_POWERPC_e500v2_v11
> > -#define CPU_POWERPC_MPC8560_v10      CPU_POWERPC_e500v2_v10
> > -#define CPU_POWERPC_MPC8560_v20      CPU_POWERPC_e500v2_v20
> > -#define CPU_POWERPC_MPC8560_v21      CPU_POWERPC_e500v2_v21
> > +#define CPU_POWERPC_MPC8555_v10      CPU_POWERPC_e500v1_v20
> > +#define CPU_POWERPC_MPC8555_v11      CPU_POWERPC_e500v1_v20
> > +#define CPU_POWERPC_MPC8555E_v10     CPU_POWERPC_e500v1_v20
> > +#define CPU_POWERPC_MPC8555E_v11     CPU_POWERPC_e500v1_v20
> > +#define CPU_POWERPC_MPC8560_v10      CPU_POWERPC_e500v1_v10
> > +#define CPU_POWERPC_MPC8560_v20      CPU_POWERPC_e500v1_v20
> > +#define CPU_POWERPC_MPC8560_v21      CPU_POWERPC_e500v1_v20
> >  #define CPU_POWERPC_MPC8567          CPU_POWERPC_e500v2_v22
> >  #define CPU_POWERPC_MPC8567E         CPU_POWERPC_e500v2_v22
> >  #define CPU_POWERPC_MPC8568          CPU_POWERPC_e500v2_v22
> > --
> > 2.20.1
> >
>


--
         此致

罗勇刚
Yours
    sincerely,
Yonggang Luo

reply via email to

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