[PATCH] powerpc/booke: Add support for new e500mc core

Kumar Gala galak at kernel.crashing.org
Tue Jun 17 04:01:38 EST 2008


On Jun 16, 2008, at 11:56 AM, Becky Bruce wrote:

>
> 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?

Yes, the _CAN_DOZE exists on all e500's right now and will go away  
once we resolve the e500 PM patch from Dave Liu.  The perf mon comment  
I plan on keeping around for now.

> 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.

Yeah, I'll drop the CONFIG_SMP bits since the full blown SMP support  
for fsl booke isnt in the tree (at which time we will address the  
issue you raise).

- k



More information about the Linuxppc-dev mailing list