From 39de53882c1919795ecbf9a426c8c68f51df148d Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 5 Feb 2013 17:00:10 +0100 Subject: bsps/powerpc: Add and use ppc_cpu_is_specific_e200 --- .../libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_initialize.c | 7 +++++-- c/src/lib/libcpu/powerpc/shared/include/cpuIdent.h | 5 +++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_initialize.c b/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_initialize.c index 872eed49a9..31c9881c60 100644 --- a/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_initialize.c +++ b/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_initialize.c @@ -105,7 +105,10 @@ static void ppc_exc_initialize_booke(void) /* Interupt vector prefix register */ MTIVPR(ppc_exc_vector_base); - if (ppc_cpu_is(PPC_e200z0) || ppc_cpu_is(PPC_e200z1)) { + if ( + ppc_cpu_is_specific_e200(PPC_e200z0) + || ppc_cpu_is_specific_e200(PPC_e200z1) + ) { /* * These cores have hard wired IVOR registers. An access will case a * program exception. @@ -135,7 +138,7 @@ static void ppc_exc_initialize_booke(void) MTIVOR(33, ppc_exc_vector_address(ASM_E500_EMB_FP_DATA_VECTOR)); MTIVOR(34, ppc_exc_vector_address(ASM_E500_EMB_FP_ROUND_VECTOR)); } - if (ppc_cpu_is_e500()) { + if (ppc_cpu_is_specific_e200(PPC_e200z7) || ppc_cpu_is_e500()) { MTIVOR(35, ppc_exc_vector_address(ASM_E500_PERFMON_VECTOR)); } } diff --git a/c/src/lib/libcpu/powerpc/shared/include/cpuIdent.h b/c/src/lib/libcpu/powerpc/shared/include/cpuIdent.h index cb9607e70f..bbda15e19b 100644 --- a/c/src/lib/libcpu/powerpc/shared/include/cpuIdent.h +++ b/c/src/lib/libcpu/powerpc/shared/include/cpuIdent.h @@ -124,6 +124,11 @@ static inline bool ppc_cpu_is_e200(void) return (ppc_cpu_current() & 0xff80) == 0x8100; } +static inline bool ppc_cpu_is_specific_e200(ppc_cpu_id_t id) +{ + return (ppc_cpu_current() & 0xfff0) == id; +} + static inline bool ppc_cpu_is_e300(void) { return ppc_cpu_current() == PPC_e300c1 -- cgit v1.2.3