From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41165) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZKvvr-0006uI-H2 for qemu-devel@nongnu.org; Thu, 30 Jul 2015 18:04:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZKvvp-0002L2-Hh for qemu-devel@nongnu.org; Thu, 30 Jul 2015 18:04:07 -0400 Received: from hall.aurel32.net ([2001:bc8:30d7:100::1]:40060) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZKvvp-0002KR-CU for qemu-devel@nongnu.org; Thu, 30 Jul 2015 18:04:05 -0400 From: Aurelien Jarno Date: Fri, 31 Jul 2015 00:03:58 +0200 Message-Id: <1438293840-7569-2-git-send-email-aurelien@aurel32.net> In-Reply-To: <1438293840-7569-1-git-send-email-aurelien@aurel32.net> References: <1438293840-7569-1-git-send-email-aurelien@aurel32.net> Subject: [Qemu-devel] [PATCH 1/3] tcg/mips: fix TLB loading for BE host with 32-bit guests List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Aurelien Jarno , Richard Henderson For 32-bit guest, we load a 32-bit address from the TLB, so there is no need to compensate for the low or high part. This fixes 32-bit guests on big-endian hosts. Cc: Richard Henderson Signed-off-by: Aurelien Jarno --- tcg/mips/tcg-target.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tcg/mips/tcg-target.c b/tcg/mips/tcg-target.c index 6680299..8dce19c 100644 --- a/tcg/mips/tcg-target.c +++ b/tcg/mips/tcg-target.c @@ -963,9 +963,11 @@ static void tcg_out_tlb_load(TCGContext *s, TCGReg base, TCGReg addrl, } /* Load the tlb comparator. */ - tcg_out_opc_imm(s, OPC_LW, TCG_TMP0, TCG_REG_A0, cmp_off + LO_OFF); if (TARGET_LONG_BITS == 64) { + tcg_out_opc_imm(s, OPC_LW, TCG_TMP0, TCG_REG_A0, cmp_off + LO_OFF); tcg_out_opc_imm(s, OPC_LW, base, TCG_REG_A0, cmp_off + HI_OFF); + } else { + tcg_out_opc_imm(s, OPC_LW, TCG_TMP0, TCG_REG_A0, cmp_off); } /* Mask the page bits, keeping the alignment bits to compare against. -- 2.1.4