[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