This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] sim: bfin: add helpful info for generating test tables


Committed.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>

2013-06-17  Mike Frysinger  <vapier@gentoo.org>

	* se_allopcodes.h: Add debugging related comments.
---
 sim/testsuite/sim/bfin/se_allopcodes.h | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/sim/testsuite/sim/bfin/se_allopcodes.h b/sim/testsuite/sim/bfin/se_allopcodes.h
index b49862a..8f96125 100644
--- a/sim/testsuite/sim/bfin/se_allopcodes.h
+++ b/sim/testsuite/sim/bfin/se_allopcodes.h
@@ -129,6 +129,25 @@ _match_done:
 	jump _next_instruction;
 
 _new_instruction:
+	/* The table is generated in memory and can be extracted:
+	   (gdb) dump binary memory bin &table next_location
+
+	   16bit:
+	   $ od -j6 -x --width=4 bin | \
+	     awk '{ s=last; e=strtonum("0x"$2); \
+	       printf "\t.dw 0x%04x,\t0x%04x,\t\t0x%02x\n", \
+	          s, e-1, strtonum("0x"seq); \
+	       last=e; seq=$3}'
+
+	   32bit:
+	   $ od -j12 -x --width=8 bin | \
+	     awk '{ s=last; e=strtonum("0x"$3$2); \
+	       printf "\t.dw 0x%04x, 0x%04x,\t0x%04x, 0x%04x,\t\t0x%02x, 0\n", \
+	          and(s,0xffff), rshift(s,16), and(e-1,0xffff), rshift(e-1,16), \
+	          strtonum("0x"seq); \
+	       last=e; seq=$3}'
+
+	   This should be much faster than dumping over serial/jtag.  */
 	se_all_new_insn_stub
 
 	/* output the insn (R0) and excause (R3) if diff from last */
-- 
1.8.2.1


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]