|
@@ -155,19 +155,19 @@ enum {
|
|
|
INSTR_S_00, INSTR_S_RD,
|
|
|
};
|
|
|
|
|
|
-struct operand {
|
|
|
+struct s390_operand {
|
|
|
int bits; /* The number of bits in the operand. */
|
|
|
int shift; /* The number of bits to shift. */
|
|
|
int flags; /* One bit syntax flags. */
|
|
|
};
|
|
|
|
|
|
-struct insn {
|
|
|
+struct s390_insn {
|
|
|
const char name[5];
|
|
|
unsigned char opfrag;
|
|
|
unsigned char format;
|
|
|
};
|
|
|
|
|
|
-static const struct operand operands[] =
|
|
|
+static const struct s390_operand operands[] =
|
|
|
{
|
|
|
[UNUSED] = { 0, 0, 0 },
|
|
|
[R_8] = { 4, 8, OPERAND_GPR },
|
|
@@ -479,7 +479,7 @@ static char *long_insn_name[] = {
|
|
|
[LONG_INSN_PCISTB] = "pcistb",
|
|
|
};
|
|
|
|
|
|
-static struct insn opcode[] = {
|
|
|
+static struct s390_insn opcode[] = {
|
|
|
#ifdef CONFIG_64BIT
|
|
|
{ "bprp", 0xc5, INSTR_MII_UPI },
|
|
|
{ "bpp", 0xc7, INSTR_SMI_U0RDP },
|
|
@@ -668,7 +668,7 @@ static struct insn opcode[] = {
|
|
|
{ "", 0, INSTR_INVALID }
|
|
|
};
|
|
|
|
|
|
-static struct insn opcode_01[] = {
|
|
|
+static struct s390_insn opcode_01[] = {
|
|
|
#ifdef CONFIG_64BIT
|
|
|
{ "ptff", 0x04, INSTR_E },
|
|
|
{ "pfpo", 0x0a, INSTR_E },
|
|
@@ -684,7 +684,7 @@ static struct insn opcode_01[] = {
|
|
|
{ "", 0, INSTR_INVALID }
|
|
|
};
|
|
|
|
|
|
-static struct insn opcode_a5[] = {
|
|
|
+static struct s390_insn opcode_a5[] = {
|
|
|
#ifdef CONFIG_64BIT
|
|
|
{ "iihh", 0x00, INSTR_RI_RU },
|
|
|
{ "iihl", 0x01, INSTR_RI_RU },
|
|
@@ -706,7 +706,7 @@ static struct insn opcode_a5[] = {
|
|
|
{ "", 0, INSTR_INVALID }
|
|
|
};
|
|
|
|
|
|
-static struct insn opcode_a7[] = {
|
|
|
+static struct s390_insn opcode_a7[] = {
|
|
|
#ifdef CONFIG_64BIT
|
|
|
{ "tmhh", 0x02, INSTR_RI_RU },
|
|
|
{ "tmhl", 0x03, INSTR_RI_RU },
|
|
@@ -728,7 +728,7 @@ static struct insn opcode_a7[] = {
|
|
|
{ "", 0, INSTR_INVALID }
|
|
|
};
|
|
|
|
|
|
-static struct insn opcode_aa[] = {
|
|
|
+static struct s390_insn opcode_aa[] = {
|
|
|
#ifdef CONFIG_64BIT
|
|
|
{ { 0, LONG_INSN_RINEXT }, 0x00, INSTR_RI_RI },
|
|
|
{ "rion", 0x01, INSTR_RI_RI },
|
|
@@ -739,7 +739,7 @@ static struct insn opcode_aa[] = {
|
|
|
{ "", 0, INSTR_INVALID }
|
|
|
};
|
|
|
|
|
|
-static struct insn opcode_b2[] = {
|
|
|
+static struct s390_insn opcode_b2[] = {
|
|
|
#ifdef CONFIG_64BIT
|
|
|
{ "stckf", 0x7c, INSTR_S_RD },
|
|
|
{ "lpp", 0x80, INSTR_S_RD },
|
|
@@ -851,7 +851,7 @@ static struct insn opcode_b2[] = {
|
|
|
{ "", 0, INSTR_INVALID }
|
|
|
};
|
|
|
|
|
|
-static struct insn opcode_b3[] = {
|
|
|
+static struct s390_insn opcode_b3[] = {
|
|
|
#ifdef CONFIG_64BIT
|
|
|
{ "maylr", 0x38, INSTR_RRF_F0FF },
|
|
|
{ "mylr", 0x39, INSTR_RRF_F0FF },
|
|
@@ -1034,7 +1034,7 @@ static struct insn opcode_b3[] = {
|
|
|
{ "", 0, INSTR_INVALID }
|
|
|
};
|
|
|
|
|
|
-static struct insn opcode_b9[] = {
|
|
|
+static struct s390_insn opcode_b9[] = {
|
|
|
#ifdef CONFIG_64BIT
|
|
|
{ "lpgr", 0x00, INSTR_RRE_RR },
|
|
|
{ "lngr", 0x01, INSTR_RRE_RR },
|
|
@@ -1167,7 +1167,7 @@ static struct insn opcode_b9[] = {
|
|
|
{ "", 0, INSTR_INVALID }
|
|
|
};
|
|
|
|
|
|
-static struct insn opcode_c0[] = {
|
|
|
+static struct s390_insn opcode_c0[] = {
|
|
|
#ifdef CONFIG_64BIT
|
|
|
{ "lgfi", 0x01, INSTR_RIL_RI },
|
|
|
{ "xihf", 0x06, INSTR_RIL_RU },
|
|
@@ -1187,7 +1187,7 @@ static struct insn opcode_c0[] = {
|
|
|
{ "", 0, INSTR_INVALID }
|
|
|
};
|
|
|
|
|
|
-static struct insn opcode_c2[] = {
|
|
|
+static struct s390_insn opcode_c2[] = {
|
|
|
#ifdef CONFIG_64BIT
|
|
|
{ "msgfi", 0x00, INSTR_RIL_RI },
|
|
|
{ "msfi", 0x01, INSTR_RIL_RI },
|
|
@@ -1205,7 +1205,7 @@ static struct insn opcode_c2[] = {
|
|
|
{ "", 0, INSTR_INVALID }
|
|
|
};
|
|
|
|
|
|
-static struct insn opcode_c4[] = {
|
|
|
+static struct s390_insn opcode_c4[] = {
|
|
|
#ifdef CONFIG_64BIT
|
|
|
{ "llhrl", 0x02, INSTR_RIL_RP },
|
|
|
{ "lghrl", 0x04, INSTR_RIL_RP },
|
|
@@ -1222,7 +1222,7 @@ static struct insn opcode_c4[] = {
|
|
|
{ "", 0, INSTR_INVALID }
|
|
|
};
|
|
|
|
|
|
-static struct insn opcode_c6[] = {
|
|
|
+static struct s390_insn opcode_c6[] = {
|
|
|
#ifdef CONFIG_64BIT
|
|
|
{ "exrl", 0x00, INSTR_RIL_RP },
|
|
|
{ "pfdrl", 0x02, INSTR_RIL_UP },
|
|
@@ -1240,7 +1240,7 @@ static struct insn opcode_c6[] = {
|
|
|
{ "", 0, INSTR_INVALID }
|
|
|
};
|
|
|
|
|
|
-static struct insn opcode_c8[] = {
|
|
|
+static struct s390_insn opcode_c8[] = {
|
|
|
#ifdef CONFIG_64BIT
|
|
|
{ "mvcos", 0x00, INSTR_SSF_RRDRD },
|
|
|
{ "ectg", 0x01, INSTR_SSF_RRDRD },
|
|
@@ -1251,7 +1251,7 @@ static struct insn opcode_c8[] = {
|
|
|
{ "", 0, INSTR_INVALID }
|
|
|
};
|
|
|
|
|
|
-static struct insn opcode_cc[] = {
|
|
|
+static struct s390_insn opcode_cc[] = {
|
|
|
#ifdef CONFIG_64BIT
|
|
|
{ "brcth", 0x06, INSTR_RIL_RP },
|
|
|
{ "aih", 0x08, INSTR_RIL_RI },
|
|
@@ -1263,7 +1263,7 @@ static struct insn opcode_cc[] = {
|
|
|
{ "", 0, INSTR_INVALID }
|
|
|
};
|
|
|
|
|
|
-static struct insn opcode_e3[] = {
|
|
|
+static struct s390_insn opcode_e3[] = {
|
|
|
#ifdef CONFIG_64BIT
|
|
|
{ "ltg", 0x02, INSTR_RXY_RRRD },
|
|
|
{ "lrag", 0x03, INSTR_RXY_RRRD },
|
|
@@ -1369,7 +1369,7 @@ static struct insn opcode_e3[] = {
|
|
|
{ "", 0, INSTR_INVALID }
|
|
|
};
|
|
|
|
|
|
-static struct insn opcode_e5[] = {
|
|
|
+static struct s390_insn opcode_e5[] = {
|
|
|
#ifdef CONFIG_64BIT
|
|
|
{ "strag", 0x02, INSTR_SSE_RDRD },
|
|
|
{ "mvhhi", 0x44, INSTR_SIL_RDI },
|
|
@@ -1391,7 +1391,7 @@ static struct insn opcode_e5[] = {
|
|
|
{ "", 0, INSTR_INVALID }
|
|
|
};
|
|
|
|
|
|
-static struct insn opcode_eb[] = {
|
|
|
+static struct s390_insn opcode_eb[] = {
|
|
|
#ifdef CONFIG_64BIT
|
|
|
{ "lmg", 0x04, INSTR_RSY_RRRD },
|
|
|
{ "srag", 0x0a, INSTR_RSY_RRRD },
|
|
@@ -1465,7 +1465,7 @@ static struct insn opcode_eb[] = {
|
|
|
{ "", 0, INSTR_INVALID }
|
|
|
};
|
|
|
|
|
|
-static struct insn opcode_ec[] = {
|
|
|
+static struct s390_insn opcode_ec[] = {
|
|
|
#ifdef CONFIG_64BIT
|
|
|
{ "brxhg", 0x44, INSTR_RIE_RRP },
|
|
|
{ "brxlg", 0x45, INSTR_RIE_RRP },
|
|
@@ -1504,7 +1504,7 @@ static struct insn opcode_ec[] = {
|
|
|
{ "", 0, INSTR_INVALID }
|
|
|
};
|
|
|
|
|
|
-static struct insn opcode_ed[] = {
|
|
|
+static struct s390_insn opcode_ed[] = {
|
|
|
#ifdef CONFIG_64BIT
|
|
|
{ "mayl", 0x38, INSTR_RXF_FRRDF },
|
|
|
{ "myl", 0x39, INSTR_RXF_FRRDF },
|
|
@@ -1572,7 +1572,7 @@ static struct insn opcode_ed[] = {
|
|
|
|
|
|
/* Extracts an operand value from an instruction. */
|
|
|
static unsigned int extract_operand(unsigned char *code,
|
|
|
- const struct operand *operand)
|
|
|
+ const struct s390_operand *operand)
|
|
|
{
|
|
|
unsigned int val;
|
|
|
int bits;
|
|
@@ -1613,11 +1613,11 @@ static inline int insn_length(unsigned char code)
|
|
|
return ((((int) code + 64) >> 7) + 1) << 1;
|
|
|
}
|
|
|
|
|
|
-static struct insn *find_insn(unsigned char *code)
|
|
|
+static struct s390_insn *find_insn(unsigned char *code)
|
|
|
{
|
|
|
unsigned char opfrag = code[1];
|
|
|
unsigned char opmask;
|
|
|
- struct insn *table;
|
|
|
+ struct s390_insn *table;
|
|
|
|
|
|
switch (code[0]) {
|
|
|
case 0x01:
|
|
@@ -1706,7 +1706,7 @@ static struct insn *find_insn(unsigned char *code)
|
|
|
*/
|
|
|
int insn_to_mnemonic(unsigned char *instruction, char *buf, unsigned int len)
|
|
|
{
|
|
|
- struct insn *insn;
|
|
|
+ struct s390_insn *insn;
|
|
|
|
|
|
insn = find_insn(instruction);
|
|
|
if (!insn)
|
|
@@ -1722,9 +1722,9 @@ EXPORT_SYMBOL_GPL(insn_to_mnemonic);
|
|
|
|
|
|
static int print_insn(char *buffer, unsigned char *code, unsigned long addr)
|
|
|
{
|
|
|
- struct insn *insn;
|
|
|
+ struct s390_insn *insn;
|
|
|
const unsigned char *ops;
|
|
|
- const struct operand *operand;
|
|
|
+ const struct s390_operand *operand;
|
|
|
unsigned int value;
|
|
|
char separator;
|
|
|
char *ptr;
|