From patchwork Thu Feb 19 22:31:19 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Gaisler X-Patchwork-Id: 5179 Received: (qmail 8235 invoked by alias); 19 Feb 2015 22:32:23 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 8148 invoked by uid 89); 19 Feb 2015 22:32:18 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.2 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_NONE, UNWANTED_LANGUAGE_BODY autolearn=ham version=3.3.2 X-HELO: bin-vsp-out-02.atm.binero.net Received: from vsp-unauthed01.binero.net (HELO bin-vsp-out-02.atm.binero.net) (195.74.38.225) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Thu, 19 Feb 2015 22:32:16 +0000 X-Halon-ID: 2513b0ae-b887-11e4-891e-005056917f90 Authorized-sender: jiri@gaisler.se Received: from localhost.localdomain (unknown [78.68.173.120]) by bin-vsp-out-02.atm.binero.net (Halon Mail Gateway) with ESMTPSA; Thu, 19 Feb 2015 23:32:10 +0100 (CET) From: Jiri Gaisler To: gdb-patches@sourceware.org Cc: Jiri Gaisler Subject: [PATCH v2 01/22] sim/erc32: Disassembly in stand-alone mode did not work. Date: Thu, 19 Feb 2015 23:31:19 +0100 Message-Id: <1424385100-15397-2-git-send-email-jiri@gaisler.se> In-Reply-To: <1424385100-15397-1-git-send-email-jiri@gaisler.se> References: <1424385100-15397-1-git-send-email-jiri@gaisler.se> X-IsSubscribed: yes The API to print_insn_sparc() has changed over the years ... * func.c (print_insn_sparc_sis) Add helper function for disassembly. (disp_ctrl) Use helper function. --- sim/erc32/func.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/sim/erc32/func.c b/sim/erc32/func.c index d001c58..e6744ee 100644 --- a/sim/erc32/func.c +++ b/sim/erc32/func.c @@ -759,6 +759,17 @@ disp_regs(sregs,cwp) } } +static void print_insn_sparc_sis(uint32 addr, struct disassemble_info *info) +{ + unsigned char i[4]; + + sis_memory_read(addr, i, 4); + dinfo.buffer_vma = addr; + dinfo.buffer_length = 4; + dinfo.buffer = i; + print_insn_sparc(addr, info); +} + static void disp_ctrl(sregs) struct pstate *sregs; @@ -770,10 +781,10 @@ disp_ctrl(sregs) sregs->psr, sregs->wim, sregs->tbr, sregs->y); sis_memory_read(sregs->pc, i, 4); printf("\n pc: %08X = %02X%02X%02X%02X ", sregs->pc,i[0],i[1],i[2],i[3]); - print_insn_sparc(sregs->pc, &dinfo); + print_insn_sparc_sis(sregs->pc, &dinfo); sis_memory_read(sregs->npc, i, 4); printf("\n npc: %08X = %02X%02X%02X%02X ",sregs->npc,i[0],i[1],i[2],i[3]); - print_insn_sparc(sregs->npc, &dinfo); + print_insn_sparc_sis(sregs->npc, &dinfo); if (sregs->err_mode) printf("\n IU in error mode"); printf("\n\n"); @@ -821,7 +832,7 @@ dis_mem(addr, len, info) for (i = addr & -3; i < ((addr & -3) + (len << 2)); i += 4) { sis_memory_read(i, data, 4); printf(" %08x %02x%02x%02x%02x ", i, data[0],data[1],data[2],data[3]); - print_insn_sparc(i, info); + print_insn_sparc_sis(i, info); if (i >= 0xfffffffc) break; printf("\n"); }