From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate.crashing.org (gate.crashing.org [63.228.1.57]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTP id 6EE2DDDE19 for ; Fri, 22 Feb 2008 17:23:57 +1100 (EST) Subject: Re: [PATCH 1/5] [POWERPC] Add AMCC 460EX/460GT support to cputable.c & cpu_setup_44x.S From: Benjamin Herrenschmidt To: Stefan Roese In-Reply-To: <1203602435-11302-1-git-send-email-sr@denx.de> References: <1203602435-11302-1-git-send-email-sr@denx.de> Content-Type: text/plain Date: Fri, 22 Feb 2008 17:23:33 +1100 Message-Id: <1203661413.10422.283.camel@pasglop> Mime-Version: 1.0 Cc: linuxppc-dev@ozlabs.org Reply-To: benh@kernel.crashing.org List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Thu, 2008-02-21 at 15:00 +0100, Stefan Roese wrote: > Signed-off-by: Stefan Roese Ack. > --- > arch/powerpc/kernel/cpu_setup_44x.S | 5 ++++- > arch/powerpc/kernel/cputable.c | 28 +++++++++++++++++++++++++++- > 2 files changed, 31 insertions(+), 2 deletions(-) > > diff --git a/arch/powerpc/kernel/cpu_setup_44x.S b/arch/powerpc/kernel/cpu_setup_44x.S > index 6250443..5465e8d 100644 > --- a/arch/powerpc/kernel/cpu_setup_44x.S > +++ b/arch/powerpc/kernel/cpu_setup_44x.S > @@ -3,7 +3,7 @@ > * Valentine Barshak > * MontaVista Software, Inc (c) 2007 > * > - * Based on cpu_setup_6xx code by > + * Based on cpu_setup_6xx code by > * Benjamin Herrenschmidt > * > * This program is free software; you can redistribute it and/or > @@ -32,6 +32,9 @@ _GLOBAL(__setup_cpu_440grx) > bl __fixup_440A_mcheck > mtlr r4 > blr > +_GLOBAL(__setup_cpu_460ex) > +_GLOBAL(__setup_cpu_460gt) > + b __init_fpu_44x > _GLOBAL(__setup_cpu_440gx) > _GLOBAL(__setup_cpu_440spe) > b __fixup_440A_mcheck > diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c > index 2a8f5cc..26ffb44 100644 > --- a/arch/powerpc/kernel/cputable.c > +++ b/arch/powerpc/kernel/cputable.c > @@ -36,6 +36,8 @@ extern void __setup_cpu_440epx(unsigned long offset, struct cpu_spec* spec); > extern void __setup_cpu_440gx(unsigned long offset, struct cpu_spec* spec); > extern void __setup_cpu_440grx(unsigned long offset, struct cpu_spec* spec); > extern void __setup_cpu_440spe(unsigned long offset, struct cpu_spec* spec); > +extern void __setup_cpu_460ex(unsigned long offset, struct cpu_spec* spec); > +extern void __setup_cpu_460gt(unsigned long offset, struct cpu_spec* spec); > extern void __setup_cpu_603(unsigned long offset, struct cpu_spec* spec); > extern void __setup_cpu_604(unsigned long offset, struct cpu_spec* spec); > extern void __setup_cpu_750(unsigned long offset, struct cpu_spec* spec); > @@ -1397,6 +1399,30 @@ static struct cpu_spec __initdata cpu_specs[] = { > .machine_check = machine_check_440A, > .platform = "ppc440", > }, > + { /* 460EX */ > + .pvr_mask = 0xffff0002, > + .pvr_value = 0x13020002, > + .cpu_name = "460EX", > + .cpu_features = CPU_FTRS_44X, > + .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU, > + .icache_bsize = 32, > + .dcache_bsize = 32, > + .cpu_setup = __setup_cpu_460ex, > + .machine_check = machine_check_440A, > + .platform = "ppc440", > + }, > + { /* 460GT */ > + .pvr_mask = 0xffff0002, > + .pvr_value = 0x13020000, > + .cpu_name = "460GT", > + .cpu_features = CPU_FTRS_44X, > + .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU, > + .icache_bsize = 32, > + .dcache_bsize = 32, > + .cpu_setup = __setup_cpu_460gt, > + .machine_check = machine_check_440A, > + .platform = "ppc440", > + }, > #endif /* CONFIG_44x */ > #ifdef CONFIG_FSL_BOOKE > #ifdef CONFIG_E200 > @@ -1512,7 +1538,7 @@ struct cpu_spec * __init identify_cpu(unsigned long offset, unsigned int pvr) > *t = *s; > *PTRRELOC(&cur_cpu_spec) = &the_cpu_spec; > #if defined(CONFIG_PPC64) || defined(CONFIG_BOOKE) > - /* ppc64 and booke expect identify_cpu to also call > + /* ppc64 and booke expect identify_cpu to also call > * setup_cpu for that processor. I will consolidate > * that at a later time, for now, just use #ifdef. > * we also don't need to PTRRELOC the function pointer