From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1FRyjn-0000bC-5L for qemu-devel@nongnu.org; Fri, 07 Apr 2006 17:43:27 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1FRyjl-0000af-Is for qemu-devel@nongnu.org; Fri, 07 Apr 2006 17:43:26 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FRyjl-0000aa-E1 for qemu-devel@nongnu.org; Fri, 07 Apr 2006 17:43:25 -0400 Received: from [66.249.82.204] (helo=xproxy.gmail.com) by monty-python.gnu.org with esmtp (Exim 4.52) id 1FRyno-00049z-Br for qemu-devel@nongnu.org; Fri, 07 Apr 2006 17:47:36 -0400 Received: by xproxy.gmail.com with SMTP id t5so354590wxc for ; Fri, 07 Apr 2006 14:43:24 -0700 (PDT) Message-ID: Date: Fri, 7 Apr 2006 23:43:23 +0200 From: "andrzej zaborowski" Sender: balrogg@gmail.com MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_34533_25629581.1144446203772" Subject: [Qemu-devel] [PATCH] fix DEBUG_TB_CHECK in exec.c Reply-To: balrogg@gmail.com, qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org ------=_Part_34533_25629581.1144446203772 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 Content-Disposition: inline V2l0aCBERUJVR19UQl9DSEVDSyBlbmFibGVkLCBleGVjLmMgZmFpbHMgdG8gYnVpbGQuIFRoaXMg cGF0Y2gKY29ycmVjdHMgdGhlIGNvbXBpbGF0aW9uIGVycm9ycy4KUmVnYXJkcywKQW5kcmV3Ci0t CmJhbHJvZyAyb282CgpEZWFyIE91dGxvb2sgdXNlcnM6IFBsZWFzZSByZW1vdmUgbWUgZnJvbSB5 b3VyIGFkZHJlc3MgYm9va3MKaHR0cDovL3d3dy5uZXdzZm9yZ2UuY29tL2FydGljbGUucGw/c2lk PTAzLzA4LzIxLzE0MzI1OAo= ------=_Part_34533_25629581.1144446203772 Content-Type: application/octet-stream; name=qemu-exec-cleanups.patch Content-Transfer-Encoding: 7bit X-Attachment-Id: 0.1 Content-Disposition: attachment; filename="qemu-exec-cleanups.patch" diff -pNaur qemu/exec.c qemu-omap-clean/exec.c --- qemu/exec.c 2006-02-08 22:43:39.000000000 +0000 +++ qemu-omap-clean/exec.c 2006-04-07 20:56:55.000000000 +0000 @@ -40,8 +40,8 @@ //#define DEBUG_TLB /* make various TB consistency checks */ -//#define DEBUG_TB_CHECK -//#define DEBUG_TLB_CHECK +//#define DEBUG_TB_CHECK +//#define DEBUG_TLB_CHECK /* threshold to flush the translated code buffer */ #define CODE_GEN_BUFFER_MAX_SIZE (CODE_GEN_BUFFER_SIZE - CODE_GEN_MAX_SIZE) @@ -319,16 +319,17 @@ void tb_flush(CPUState *env1) #ifdef DEBUG_TB_CHECK +#ifndef CONFIG_SOFTMMU static void tb_invalidate_check(unsigned long address) { TranslationBlock *tb; int i; address &= TARGET_PAGE_MASK; - for(i = 0;i < CODE_GEN_HASH_SIZE; i++) { - for(tb = tb_hash[i]; tb != NULL; tb = tb->hash_next) { + for(i = 0;i < CODE_GEN_PHYS_HASH_SIZE; i++) { + for(tb = tb_phys_hash[i]; tb != NULL; tb = tb->phys_hash_next) { if (!(address + TARGET_PAGE_SIZE <= tb->pc || address >= tb->pc + tb->size)) { - printf("ERROR invalidate: address=%08lx PC=%08lx size=%04x\n", + printf("ERROR invalidate: address=%08lx PC=%08x size=%04x\n", address, tb->pc, tb->size); } } @@ -341,17 +342,18 @@ static void tb_page_check(void) TranslationBlock *tb; int i, flags1, flags2; - for(i = 0;i < CODE_GEN_HASH_SIZE; i++) { - for(tb = tb_hash[i]; tb != NULL; tb = tb->hash_next) { + for(i = 0;i < CODE_GEN_PHYS_HASH_SIZE; i++) { + for(tb = tb_phys_hash[i]; tb != NULL; tb = tb->phys_hash_next) { flags1 = page_get_flags(tb->pc); flags2 = page_get_flags(tb->pc + tb->size - 1); if ((flags1 & PAGE_WRITE) || (flags2 & PAGE_WRITE)) { - printf("ERROR page flags: PC=%08lx size=%04x f1=%x f2=%x\n", + printf("ERROR page flags: PC=%08x size=%04x f1=%x f2=%x\n", tb->pc, tb->size, flags1, flags2); } } } } +#endif void tb_jmp_check(TranslationBlock *tb) { @@ -907,7 +909,7 @@ void tb_link_phys(TranslationBlock *tb, if (tb->tb_next_offset[1] != 0xffff) tb_reset_jump(tb, 1); -#ifdef DEBUG_TB_CHECK +#if defined(DEBUG_TB_CHECK) && !defined(CONFIG_SOFTMMU) tb_page_check(); #endif } ------=_Part_34533_25629581.1144446203772--