From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57356) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VKBnW-000722-1d for qemu-devel@nongnu.org; Thu, 12 Sep 2013 14:39:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VKBnN-0001K1-L2 for qemu-devel@nongnu.org; Thu, 12 Sep 2013 14:39:21 -0400 Sender: Richard Henderson Message-ID: <52320A4C.6020202@twiddle.net> Date: Thu, 12 Sep 2013 11:39:08 -0700 From: Richard Henderson MIME-Version: 1.0 References: <1379009870-18323-1-git-send-email-sw@weilnetz.de> In-Reply-To: <1379009870-18323-1-git-send-email-sw@weilnetz.de> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] tci: Fix qemu-alpha on 32 bit hosts (wrong assertions) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Weil Cc: qemu-trivial , qemu-devel , qemu-stable On 09/12/2013 11:17 AM, Stefan Weil wrote: > @@ -1093,7 +1093,6 @@ uintptr_t tcg_qemu_tb_exec(CPUArchState *env, uint8_t *tb_ptr) > tmp8 = helper_ldb_mmu(env, taddr, tci_read_i(&tb_ptr)); > #else > host_addr = (tcg_target_ulong)taddr; > - assert(taddr == host_addr); > tmp8 = *(uint8_t *)(host_addr + GUEST_BASE); > #endif I noticed first that g2h would be better than fiddling GUEST_BASE by hand. But then I noticed failure to handle endianness and failure to handle unaligned accesses too. You should be using tmp8 = ldub(taddr); et al. See include/exec/cpu-all.h, beginning line 253. r~