This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils 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]

[binutils-gdb] FT32: define macros for instruction recognition.


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=71f4ed30fe331d062703e803f29a67b558e8e22d

commit 71f4ed30fe331d062703e803f29a67b558e8e22d
Author: jamesbowman <jamesb@excamera.com>
Date:   Mon Sep 28 11:22:06 2015 -0700

    FT32: define macros for instruction recognition.
    
    Other places (e.g. the gdb stack unwinder) can use these instead of
    hard-coded patterns.
    
    [include/Changelog]
    
    2015-09-26  James Bowman  <james.bowman@ftdichip.com>
    
    	* opcode/ft32.h: Add instruction macros FT32_*()

Diff:
---
 include/ChangeLog     | 4 ++++
 include/opcode/ft32.h | 6 ++++++
 2 files changed, 10 insertions(+)

diff --git a/include/ChangeLog b/include/ChangeLog
index 8b9f921..99a8bd9 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,7 @@
+2015-09-26  James Bowman  <james.bowman@ftdichip.com>
+
+	* opcode/ft32.h: Add instruction macros FT32_*()
+
 2015-09-20  Rich Felker  <dalias@libc.org>
 
 	* bfdlink.h (struct bfd_link_info): Add "nointerp" field.
diff --git a/include/opcode/ft32.h b/include/opcode/ft32.h
index 9617890..6db46d9 100644
--- a/include/opcode/ft32.h
+++ b/include/opcode/ft32.h
@@ -96,5 +96,11 @@ typedef struct ft32_opc_info_t
 #define FT32_FLD_AL_BIT 0
 #define FT32_FLD_AL_SIZ 4
 
+#define FT32_IS_CALL(inst)   (((inst) & 0xfffc0000) == 0x00340000)
+#define FT32_IS_PUSH(inst)   (((inst) & 0xfff00000) == 0x84000000)
+#define FT32_PUSH_REG(inst)  (((inst) >> 15) & 0x1f)
+#define FT32_IS_LINK(inst)   (((inst) & 0xffff0000) == 0x95d00000)
+#define FT32_LINK_SIZE(inst) ((inst) & 0xffff)
+
 #define FT32_FLD_R_D_POST (1 << 17)
 #define FT32_FLD_R_1_POST (1 << 18)


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