From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55556) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z0xhj-0001aj-95 for qemu-devel@nongnu.org; Fri, 05 Jun 2015 15:55:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z0xhf-0005ta-IA for qemu-devel@nongnu.org; Fri, 05 Jun 2015 15:54:59 -0400 Received: from mailapp01.imgtec.com ([195.59.15.196]:44279) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z0xhf-0005tQ-CN for qemu-devel@nongnu.org; Fri, 05 Jun 2015 15:54:55 -0400 Message-ID: <5571FE8D.2090706@imgtec.com> Date: Fri, 5 Jun 2015 20:54:53 +0100 From: Leon Alrae MIME-Version: 1.0 References: <1433433631-5322-1-git-send-email-leon.alrae@imgtec.com> <20150605094222.GA12018@aurel32.net> In-Reply-To: <20150605094222.GA12018@aurel32.net> Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] target-mips: add ERETNC instruction and Config5.LLB bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Aurelien Jarno Cc: qemu-devel@nongnu.org On 05/06/15 10:42, Aurelien Jarno wrote: > On 2015-06-04 17:00, Leon Alrae wrote: >> ERETNC is identical to ERET except that an ERETNC will not clear the LLbit >> that is set by execution of an LL instruction, and thus when placed between >> an LL and SC sequence, will never cause the SC to fail. >> >> Presence of ERETNC is denoted by the Config5.LLB. >> >> Signed-off-by: Leon Alrae >> --- >> disas/mips.c | 1 + >> target-mips/cpu.h | 1 + >> target-mips/helper.h | 1 + >> target-mips/op_helper.c | 12 +++++++++++- >> target-mips/translate.c | 20 +++++++++++++++----- >> target-mips/translate_init.c | 4 +++- >> 6 files changed, 32 insertions(+), 7 deletions(-) > > Reviewed-by: Aurelien Jarno Thanks for your review! > As a side note, I have seen that you have added a check for MIPS2 to the > ERET instruction. This is correct, but given in practice we don't > emulate any MIPS1 CPU, I do wonder if it's not the time to make MIPS2 > the basic instruction set and remove all MIPS2 checks. Yes, in current codebase the MIPS2 checks don't seem to have much value and the removal makes sense. On the other hand I'm wondering if there are QEMU users who maintain artificial MIPS1 CPU templates locally to test if their compiler doesn't emit any non-MIPS1 instructions. Leon