From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53648) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WxkdI-00029V-Ar for qemu-devel@nongnu.org; Thu, 19 Jun 2014 18:16:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WxkdH-00017y-6E for qemu-devel@nongnu.org; Thu, 19 Jun 2014 18:16:36 -0400 Received: from hall.aurel32.net ([2001:bc8:30d7:101::1]:53357) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WxkdH-00017r-0W for qemu-devel@nongnu.org; Thu, 19 Jun 2014 18:16:35 -0400 Date: Fri, 20 Jun 2014 00:16:32 +0200 From: Aurelien Jarno Message-ID: <20140619221632.GA14358@ohm.rr44.fr> References: <1402499992-64851-1-git-send-email-leon.alrae@imgtec.com> <1402499992-64851-23-git-send-email-leon.alrae@imgtec.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline In-Reply-To: <1402499992-64851-23-git-send-email-leon.alrae@imgtec.com> Subject: Re: [Qemu-devel] [PATCH v2 22/22] target-mips: define a new generic CPU supporting MIPS64R6 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Leon Alrae Cc: yongbok.kim@imgtec.com, cristian.cuna@imgtec.com, qemu-devel@nongnu.org, rth@twiddle.net On Wed, Jun 11, 2014 at 04:19:52PM +0100, Leon Alrae wrote: > Signed-off-by: Leon Alrae > --- > target-mips/translate_init.c | 29 +++++++++++++++++++++++++++++ > 1 files changed, 29 insertions(+), 0 deletions(-) > > diff --git a/target-mips/translate_init.c b/target-mips/translate_init.c > index 29dc2ef..0adbb19 100644 > --- a/target-mips/translate_init.c > +++ b/target-mips/translate_init.c > @@ -516,6 +516,35 @@ static const mips_def_t mips_defs[] = > .mmu_type = MMU_TYPE_R4000, > }, > { > + /* A generic CPU providing MIPS64 Release 6 features. > + FIXME: Eventually this should be replaced by a real CPU model. */ > + .name = "MIPS64R6-generic", > + .CP0_PRid = 0x00010000, > + .CP0_Config0 = MIPS_CONFIG0 | (0x2 << CP0C0_AR) | (0x2 << CP0C0_AT) | > + (MMU_TYPE_R4000 << CP0C0_MT), > + .CP0_Config1 = MIPS_CONFIG1 | (1 << CP0C1_FP) | (63 << CP0C1_MMU) | > + (2 << CP0C1_IS) | (4 << CP0C1_IL) | (3 << CP0C1_IA) | > + (2 << CP0C1_DS) | (4 << CP0C1_DL) | (3 << CP0C1_DA) | > + (0 << CP0C1_PC) | (1 << CP0C1_WR) | (1 << CP0C1_EP), > + .CP0_Config2 = MIPS_CONFIG2, > + .CP0_Config3 = MIPS_CONFIG3, > + .CP0_LLAddr_rw_bitmask = 0, > + .CP0_LLAddr_shift = 0, > + .SYNCI_Step = 32, > + .CCRes = 2, > + .CP0_Status_rw_bitmask = 0x30D8FFFF, > + .CP1_fcr0 = (1 << FCR0_F64) | (1 << FCR0_L) | (1 << FCR0_W) | > + (1 << FCR0_D) | (1 << FCR0_S) | (0x00 << FCR0_PRID) | > + (0x0 << FCR0_REV), > + .SEGBITS = 42, > + /* The architectural limit is 59, but we have hardcoded 36 bit > + in some places... > + .PABITS = 59, */ /* the architectural limit */ > + .PABITS = 36, > + .insn_flags = CPU_MIPS64R6, > + .mmu_type = MMU_TYPE_R4000, > + }, > + { > .name = "Loongson-2E", > .CP0_PRid = 0x6302, > /*64KB I-cache and d-cache. 4 way with 32 bit cache line size*/ Sorry to say that again, but I think it should be deferred to the point where the MIPS R6 CPU is fully functional, so probably after the "implement features required in MIPS64 Release 6", and probably even more, as I haven't seen any patch concerning the unaligned access support yet. -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurelien@aurel32.net http://www.aurel32.net