[PATCH] powerpc/booke: Add support for new e500mc core
Becky Bruce
becky.bruce at freescale.com
Tue Jun 17 02:56:30 EST 2008
On Jun 16, 2008, at 10:46 AM, Kumar Gala wrote:
> The new e500mc core from Freescale is based on the e500v2 but with the
> following changes:
>
> * Supports only the Enhanced Debug Architecture (DSRR0/1, etc)
> * Floating Point
> * No SPE
> * Supports lwsync
> * Doorbell Exceptions
> * Hypervisor
>
> ---
>
> In my powerpc-next tree.
>
> arch/powerpc/kernel/cputable.c | 15 +++++++++++++++
> arch/powerpc/kernel/head_booke.h | 6 +++++-
> arch/powerpc/kernel/head_fsl_booke.S | 10 ++++++++--
> arch/powerpc/platforms/Kconfig.cputype | 10 ++++++++--
> include/asm-powerpc/cache.h | 3 +++
> include/asm-powerpc/cputable.h | 6 ++++--
> include/asm-powerpc/synch.h | 2 +-
> 7 files changed, 44 insertions(+), 8 deletions(-)
>
> diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/
> cputable.c
> index e44d553..36fa061 100644
> --- a/arch/powerpc/kernel/cputable.c
> +++ b/arch/powerpc/kernel/cputable.c
> @@ -1522,6 +1522,21 @@ static struct cpu_spec __initdata cpu_specs
> [] = {
> .machine_check = machine_check_e500,
> .platform = "ppc8548",
> },
> + { /* e500mc */
> + .pvr_mask = 0xffff0000,
> + .pvr_value = 0x80230000,
> + .cpu_name = "e500mc",
> + /* xxx - galak: add CPU_FTR_MAYBE_CAN_DOZE */
> + .cpu_features = CPU_FTRS_E500MC,
> + .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
> + .icache_bsize = 64,
> + .dcache_bsize = 64,
> + .num_pmcs = 4,
> + .oprofile_cpu_type = "ppc/e500", /* xxx - galak, e500mc? */
> + .oprofile_type = PPC_OPROFILE_FSL_EMB,
> + .machine_check = machine_check_e500,
> + .platform = "ppc4080",
> + },
> { /* default match */
> .pvr_mask = 0x00000000,
> .pvr_value = 0x00000000,
Did you intend to leave your 2 "xxx - galak" comments in here?
Also, I think you have a problem - you allow CONFIG_SMP to be set
with CONFIG_FSL_BOOKE now, but if you actually turn on CONFIG_SMP, in
pgtable_32.c you're going to have build problems. CONFIG_SMP enables
hash_page_sync(), which we don't have on BookE. You need to add a !
BOOKE to the config protections in pgtable_32.c for hash_page_sync()
declaration and callers.
Cheers,
Becky
More information about the Linuxppc-dev
mailing list