lkml.org 
[lkml]   [2011]   [Nov]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[RFC PATCH 12/17] powerpc/e500: Separate e500mc CPU table entries from e500v1/e500v2
    Date
    The e500mc CPUs have a classic FPU and are not compatible with e500v1 or
    e500v2. This patch fixes the 32-bit CPU feature tables so that e500mc
    entries are not present on e500v1/e500v2 systems and vice versa.

    Signed-off-by: Kyle Moffett <Kyle.D.Moffett@boeing.com>
    ---
    arch/powerpc/include/asm/cputable.h | 16 ++++++++++------
    arch/powerpc/kernel/cputable.c | 8 +++++---
    2 files changed, 15 insertions(+), 9 deletions(-)

    diff --git a/arch/powerpc/include/asm/cputable.h b/arch/powerpc/include/asm/cputable.h
    index b69f255..c7c2582 100644
    --- a/arch/powerpc/include/asm/cputable.h
    +++ b/arch/powerpc/include/asm/cputable.h
    @@ -480,9 +480,11 @@ enum {
    #ifdef CONFIG_E200
    CPU_FTRS_E200 |
    #endif
    -#ifdef CONFIG_E500
    - CPU_FTRS_E500 | CPU_FTRS_E500_2 | CPU_FTRS_E500MC |
    - CPU_FTRS_E5500 |
    +#ifdef CONFIG_FSL_E500_V1_V2
    + CPU_FTRS_E500 | CPU_FTRS_E500_2 |
    +#endif
    +#ifdef CONFIG_FSL_E500MC
    + CPU_FTRS_E500MC | CPU_FTRS_E5500 |
    #endif
    0,
    };
    @@ -525,9 +527,11 @@ enum {
    #ifdef CONFIG_FSL_E200
    CPU_FTRS_E200 &
    #endif
    -#ifdef CONFIG_E500
    - CPU_FTRS_E500 & CPU_FTRS_E500_2 & CPU_FTRS_E500MC &
    - CPU_FTRS_E5500 &
    +#ifdef CONFIG_FSL_E500_V1_V2
    + CPU_FTRS_E500 & CPU_FTRS_E500_2 &
    +#endif
    +#ifdef CONFIG_FSL_E500MC
    + CPU_FTRS_E500MC & CPU_FTRS_E5500 &
    #endif
    CPU_FTRS_POSSIBLE,
    };
    diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c
    index e5b142c..a6f2544 100644
    --- a/arch/powerpc/kernel/cputable.c
    +++ b/arch/powerpc/kernel/cputable.c
    @@ -1917,8 +1917,7 @@ static struct cpu_spec __initdata cpu_specs[] = {
    }
    #endif /* CONFIG_FSL_E200 */
    #endif /* CONFIG_PPC32 */
    -#ifdef CONFIG_E500
    -#ifdef CONFIG_PPC32
    +#ifdef CONFIG_FSL_E500_V1_V2
    { /* e500 */
    .pvr_mask = 0xffff0000,
    .pvr_value = 0x80200000,
    @@ -1956,6 +1955,8 @@ static struct cpu_spec __initdata cpu_specs[] = {
    .machine_check = machine_check_e500,
    .platform = "ppc8548",
    },
    +#endif /* CONFIG_FSL_E500_V1_V2 */
    +#ifdef CONFIG_FSL_E500MC
    { /* e500mc */
    .pvr_mask = 0xffff0000,
    .pvr_value = 0x80230000,
    @@ -1973,7 +1974,8 @@ static struct cpu_spec __initdata cpu_specs[] = {
    .machine_check = machine_check_e500mc,
    .platform = "ppce500mc",
    },
    -#endif /* CONFIG_PPC32 */
    +#endif /* CONFIG_FSL_E500MC */
    +#ifdef CONFIG_E500 /* FIXME */
    { /* e5500 */
    .pvr_mask = 0xffff0000,
    .pvr_value = 0x80240000,
    --
    1.7.2.5


    \
     
     \ /
      Last update: 2011-11-10 01:11    [W:0.033 / U:33.184 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site