From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42777) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YTUe2-0000WI-9G for qemu-devel@nongnu.org; Thu, 05 Mar 2015 07:12:54 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YTUdv-0007PQ-TW for qemu-devel@nongnu.org; Thu, 05 Mar 2015 07:12:50 -0500 Received: from static.88-198-71-155.clients.your-server.de ([88.198.71.155]:36712 helo=socrates.bennee.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YTUdv-0007PF-OD for qemu-devel@nongnu.org; Thu, 05 Mar 2015 07:12:43 -0500 References: From: Alex =?utf-8?Q?Benn=C3=A9e?= In-reply-to: Date: Thu, 05 Mar 2015 12:12:44 +0000 Message-ID: <87oao763sz.fsf@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [PATCH target-arm v2 02/15] target-arm: cpu64: Add support for cortex-a53 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Crosthwaite Cc: edgar.iglesias@xilinx.com, peter.maydell@linaro.org, zach.pfeffer@xilinx.com, ozaki.ryota@gmail.com, qemu-devel@nongnu.org, alistair.francis@xilinx.com, michals@xilinx.com Peter Crosthwaite writes: > Similar to a53, but with different L1 I cache policy, phys addr size and > different cache geometries. The cache sizes is implementation > configurable, but use these values (from Xilinx MPSoC) as a default > until cache size configurability is added. > > Signed-off-by: Peter Crosthwaite Reviewed-by: Alex Bennée > --- > target-arm/cpu64.c | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/target-arm/cpu64.c b/target-arm/cpu64.c > index 5cf3121..0b9728e 100644 > --- a/target-arm/cpu64.c > +++ b/target-arm/cpu64.c > @@ -148,6 +148,20 @@ static void aarch64_a57_initfn(Object *obj) > cpu->ccsidr[2] = 0x70ffe07a; /* 2048KB L2 cache */ > } > > +static void aarch64_a53_initfn(Object *obj) > +{ > + ARMCPU *cpu = ARM_CPU(obj); > + > + aarch64_axx_initfn(cpu); > + > + cpu->midr = 0x410fd034; > + cpu->ctr = 0x84448004; /* L1Ip = VIPT */ > + cpu->id_aa64mmfr0 = 0x00001122; /* 40 bit physical addr */ > + cpu->ccsidr[0] = 0x700fe01a; /* 32KB L1 dcache */ > + cpu->ccsidr[1] = 0x201fe00a; /* 32KB L1 icache */ > + cpu->ccsidr[2] = 0x707fe07a; /* 1024KB L2 cache */ > +} > + > #ifdef CONFIG_USER_ONLY > static void aarch64_any_initfn(Object *obj) > { > @@ -175,6 +189,7 @@ typedef struct ARMCPUInfo { > > static const ARMCPUInfo aarch64_cpus[] = { > { .name = "cortex-a57", .initfn = aarch64_a57_initfn }, > + { .name = "cortex-a53", .initfn = aarch64_a53_initfn }, > #ifdef CONFIG_USER_ONLY > { .name = "any", .initfn = aarch64_any_initfn }, > #endif -- Alex Bennée