aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/opcode/ChangeLog4
-rw-r--r--include/opcode/s390.h23
2 files changed, 24 insertions, 3 deletions
diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog
index a5e79f4..f97e56f 100644
--- a/include/opcode/ChangeLog
+++ b/include/opcode/ChangeLog
@@ -1,3 +1,7 @@
+2015-01-16 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * s390.h (s390_opcode_cpu_val): Add S390_OPCODE_Z13.
+
2015-01-01 Alan Modra <amodra@gmail.com>
Update year range in copyright notice of all files.
diff --git a/include/opcode/s390.h b/include/opcode/s390.h
index 79e9a60..b47709c 100644
--- a/include/opcode/s390.h
+++ b/include/opcode/s390.h
@@ -41,9 +41,13 @@ enum s390_opcode_cpu_val
S390_OPCODE_Z10,
S390_OPCODE_Z196,
S390_OPCODE_ZEC12,
+ S390_OPCODE_Z13,
S390_OPCODE_MAXCPU
};
+/* Instruction specific flags. */
+#define S390_INSTR_FLAG_OPTPARM 0x1
+
/* The opcode table is an array of struct s390_opcode. */
struct s390_opcode
@@ -74,6 +78,9 @@ struct s390_opcode
/* First cpu this opcode is available for. */
enum s390_opcode_cpu_val min_cpu;
+
+ /* Instruction specific flags. */
+ unsigned int flags;
};
/* The table itself is sorted by major opcode number, and is otherwise
@@ -86,7 +93,7 @@ extern const int s390_num_opcodes;
extern const struct s390_opcode s390_opformats[];
extern const int s390_num_opformats;
-/* Values defined for the flags field of a struct powerpc_opcode. */
+/* Values defined for the flags field of a struct s390_opcode. */
/* The operands table is an array of struct s390_operand. */
@@ -103,7 +110,7 @@ struct s390_operand
};
/* Elements in the table are retrieved by indexing with values from
- the operands field of the powerpc_opcodes table. */
+ the operands field of the s390_opcodes table. */
extern const struct s390_operand s390_operands[];
@@ -151,4 +158,14 @@ extern const struct s390_operand s390_operands[];
/* The operand needs to be a valid GP or FP register pair. */
#define S390_OPERAND_REG_PAIR 0x800
- #endif /* S390_H */
+/* This operand names a vector register. The disassembler uses this
+ to print register names with a leading 'v'. */
+#define S390_OPERAND_VR 0x1000
+
+#define S390_OPERAND_CP16 0x2000
+
+#define S390_OPERAND_OR1 0x4000
+#define S390_OPERAND_OR2 0x8000
+#define S390_OPERAND_OR8 0x10000
+
+#endif /* S390_H */