#include <linux/sched.h>
#include <linux/kernel.h>
#include <linux/string.h>
#include <linux/errno.h>
#include <linux/ptrace.h>
#include <linux/timer.h>
#include <linux/mm.h>
#include <linux/smp.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/delay.h>
#include <linux/module.h>
#include <linux/kallsyms.h>
#include <linux/reboot.h>
#include <linux/kprobes.h>
#include <linux/kdebug.h>
#include <asm/uaccess.h>
#include <asm/io.h>
#include <linux/atomic.h>
#include <asm/mathemu.h>
#include <asm/cpcmd.h>
#include <asm/lowcore.h>
#include <asm/debug.h>
#include <asm/irq.h>
Go to the source code of this file.
|
#define | ONELONG "%08lx: " |
|
#define | OPERAND_GPR 0x1 /* Operand printed as %rx */ |
|
#define | OPERAND_FPR 0x2 /* Operand printed as %fx */ |
|
#define | OPERAND_AR 0x4 /* Operand printed as %ax */ |
|
#define | OPERAND_CR 0x8 /* Operand printed as %cx */ |
|
#define | OPERAND_DISP 0x10 /* Operand printed as displacement */ |
|
#define | OPERAND_BASE 0x20 /* Operand printed as base register */ |
|
#define | OPERAND_INDEX 0x40 /* Operand printed as index register */ |
|
#define | OPERAND_PCREL 0x80 /* Operand printed as pc-relative symbol */ |
|
#define | OPERAND_SIGNED 0x100 /* Operand printed as signed value */ |
|
#define | OPERAND_LENGTH 0x200 /* Operand printed as length (+1) */ |
|
|
enum | {
UNUSED,
R_8,
R_12,
R_16,
R_20,
R_24,
R_28,
R_32,
F_8,
F_12,
F_16,
F_20,
F_24,
F_28,
F_32,
A_8,
A_12,
A_24,
A_28,
C_8,
C_12,
B_16,
B_32,
X_12,
D_20,
D_36,
D20_20,
L4_8,
L4_12,
L8_8,
U4_8,
U4_12,
U4_16,
U4_20,
U4_32,
U8_8,
U8_16,
U8_24,
U8_32,
I8_8,
I8_32,
I16_16,
I16_32,
U16_16,
U16_32,
J16_16,
J32_16,
I32_16,
U32_16,
M_16,
RO_28
} |
|
enum | {
INSTR_INVALID,
INSTR_E,
INSTR_RIE_R0IU,
INSTR_RIE_R0UU,
INSTR_RIE_RRP,
INSTR_RIE_RRPU,
INSTR_RIE_RRUUU,
INSTR_RIE_RUPI,
INSTR_RIE_RUPU,
INSTR_RIE_RRI0,
INSTR_RIL_RI,
INSTR_RIL_RP,
INSTR_RIL_RU,
INSTR_RIL_UP,
INSTR_RIS_R0RDU,
INSTR_RIS_R0UU,
INSTR_RIS_RURDI,
INSTR_RIS_RURDU,
INSTR_RI_RI,
INSTR_RI_RP,
INSTR_RI_RU,
INSTR_RI_UP,
INSTR_RRE_00,
INSTR_RRE_0R,
INSTR_RRE_AA,
INSTR_RRE_AR,
INSTR_RRE_F0,
INSTR_RRE_FF,
INSTR_RRE_FR,
INSTR_RRE_R0,
INSTR_RRE_RA,
INSTR_RRE_RF,
INSTR_RRE_RR,
INSTR_RRE_RR_OPT,
INSTR_RRF_0UFF,
INSTR_RRF_F0FF,
INSTR_RRF_F0FF2,
INSTR_RRF_F0FR,
INSTR_RRF_FFRU,
INSTR_RRF_FUFF,
INSTR_RRF_M0RR,
INSTR_RRF_R0RR,
INSTR_RRF_R0RR2,
INSTR_RRF_RURR,
INSTR_RRF_U0FF,
INSTR_RRF_U0RF,
INSTR_RRF_U0RR,
INSTR_RRF_UUFF,
INSTR_RRR_F0FF,
INSTR_RRS_RRRDU,
INSTR_RR_FF,
INSTR_RR_R0,
INSTR_RR_RR,
INSTR_RR_U0,
INSTR_RR_UR,
INSTR_RSE_CCRD,
INSTR_RSE_RRRD,
INSTR_RSE_RURD,
INSTR_RSI_RRP,
INSTR_RSL_R0RD,
INSTR_RSY_AARD,
INSTR_RSY_CCRD,
INSTR_RSY_RRRD,
INSTR_RSY_RURD,
INSTR_RSY_RDRM,
INSTR_RS_AARD,
INSTR_RS_CCRD,
INSTR_RS_R0RD,
INSTR_RS_RRRD,
INSTR_RS_RURD,
INSTR_RXE_FRRD,
INSTR_RXE_RRRD,
INSTR_RXF_FRRDF,
INSTR_RXY_FRRD,
INSTR_RXY_RRRD,
INSTR_RXY_URRD,
INSTR_RX_FRRD,
INSTR_RX_RRRD,
INSTR_RX_URRD,
INSTR_SIL_RDI,
INSTR_SIL_RDU,
INSTR_SIY_IRD,
INSTR_SIY_URD,
INSTR_SI_URD,
INSTR_SSE_RDRD,
INSTR_SSF_RRDRD,
INSTR_SSF_RRDRD2,
INSTR_SS_L0RDRD,
INSTR_SS_LIRDRD,
INSTR_SS_LLRDRD,
INSTR_SS_RRRDRD,
INSTR_SS_RRRDRD2,
INSTR_SS_RRRDRD3,
INSTR_S_00,
INSTR_S_RD
} |
|
enum | {
LONG_INSN_ALGHSIK,
LONG_INSN_ALHSIK,
LONG_INSN_CLFHSI,
LONG_INSN_CLGFRL,
LONG_INSN_CLGHRL,
LONG_INSN_CLGHSI,
LONG_INSN_CLHHSI,
LONG_INSN_LLGFRL,
LONG_INSN_LLGHRL,
LONG_INSN_POPCNT,
LONG_INSN_RISBHG,
LONG_INSN_RISBLG,
LONG_INSN_RINEXT,
LONG_INSN_RIEMIT,
LONG_INSN_TABORT,
LONG_INSN_TBEGIN,
LONG_INSN_TBEGINC
} |
|
#define ONELONG "%08lx: " |
Definition at line 35 of file dis.c.
#define OPERAND_AR 0x4 /* Operand printed as %ax */ |
Definition at line 42 of file dis.c.
#define OPERAND_BASE 0x20 /* Operand printed as base register */ |
Definition at line 45 of file dis.c.
#define OPERAND_CR 0x8 /* Operand printed as %cx */ |
Definition at line 43 of file dis.c.
#define OPERAND_DISP 0x10 /* Operand printed as displacement */ |
Definition at line 44 of file dis.c.
#define OPERAND_FPR 0x2 /* Operand printed as %fx */ |
Definition at line 41 of file dis.c.
#define OPERAND_GPR 0x1 /* Operand printed as %rx */ |
Definition at line 40 of file dis.c.
#define OPERAND_INDEX 0x40 /* Operand printed as index register */ |
Definition at line 46 of file dis.c.
#define OPERAND_LENGTH 0x200 /* Operand printed as length (+1) */ |
Definition at line 49 of file dis.c.
#define OPERAND_PCREL 0x80 /* Operand printed as pc-relative symbol */ |
Definition at line 47 of file dis.c.
#define OPERAND_SIGNED 0x100 /* Operand printed as signed value */ |
Definition at line 48 of file dis.c.
- Enumerator:
UNUSED |
|
R_8 |
|
R_12 |
|
R_16 |
|
R_20 |
|
R_24 |
|
R_28 |
|
R_32 |
|
F_8 |
|
F_12 |
|
F_16 |
|
F_20 |
|
F_24 |
|
F_28 |
|
F_32 |
|
A_8 |
|
A_12 |
|
A_24 |
|
A_28 |
|
C_8 |
|
C_12 |
|
B_16 |
|
B_32 |
|
X_12 |
|
D_20 |
|
D_36 |
|
D20_20 |
|
L4_8 |
|
L4_12 |
|
L8_8 |
|
U4_8 |
|
U4_12 |
|
U4_16 |
|
U4_20 |
|
U4_32 |
|
U8_8 |
|
U8_16 |
|
U8_24 |
|
U8_32 |
|
I8_8 |
|
I8_32 |
|
I16_16 |
|
I16_32 |
|
U16_16 |
|
U16_32 |
|
J16_16 |
|
J32_16 |
|
I32_16 |
|
U32_16 |
|
M_16 |
|
RO_28 |
|
Definition at line 51 of file dis.c.
- Enumerator:
INSTR_INVALID |
|
INSTR_E |
|
INSTR_RIE_R0IU |
|
INSTR_RIE_R0UU |
|
INSTR_RIE_RRP |
|
INSTR_RIE_RRPU |
|
INSTR_RIE_RRUUU |
|
INSTR_RIE_RUPI |
|
INSTR_RIE_RUPU |
|
INSTR_RIE_RRI0 |
|
INSTR_RIL_RI |
|
INSTR_RIL_RP |
|
INSTR_RIL_RU |
|
INSTR_RIL_UP |
|
INSTR_RIS_R0RDU |
|
INSTR_RIS_R0UU |
|
INSTR_RIS_RURDI |
|
INSTR_RIS_RURDU |
|
INSTR_RI_RI |
|
INSTR_RI_RP |
|
INSTR_RI_RU |
|
INSTR_RI_UP |
|
INSTR_RRE_00 |
|
INSTR_RRE_0R |
|
INSTR_RRE_AA |
|
INSTR_RRE_AR |
|
INSTR_RRE_F0 |
|
INSTR_RRE_FF |
|
INSTR_RRE_FR |
|
INSTR_RRE_R0 |
|
INSTR_RRE_RA |
|
INSTR_RRE_RF |
|
INSTR_RRE_RR |
|
INSTR_RRE_RR_OPT |
|
INSTR_RRF_0UFF |
|
INSTR_RRF_F0FF |
|
INSTR_RRF_F0FF2 |
|
INSTR_RRF_F0FR |
|
INSTR_RRF_FFRU |
|
INSTR_RRF_FUFF |
|
INSTR_RRF_M0RR |
|
INSTR_RRF_R0RR |
|
INSTR_RRF_R0RR2 |
|
INSTR_RRF_RURR |
|
INSTR_RRF_U0FF |
|
INSTR_RRF_U0RF |
|
INSTR_RRF_U0RR |
|
INSTR_RRF_UUFF |
|
INSTR_RRR_F0FF |
|
INSTR_RRS_RRRDU |
|
INSTR_RR_FF |
|
INSTR_RR_R0 |
|
INSTR_RR_RR |
|
INSTR_RR_U0 |
|
INSTR_RR_UR |
|
INSTR_RSE_CCRD |
|
INSTR_RSE_RRRD |
|
INSTR_RSE_RURD |
|
INSTR_RSI_RRP |
|
INSTR_RSL_R0RD |
|
INSTR_RSY_AARD |
|
INSTR_RSY_CCRD |
|
INSTR_RSY_RRRD |
|
INSTR_RSY_RURD |
|
INSTR_RSY_RDRM |
|
INSTR_RS_AARD |
|
INSTR_RS_CCRD |
|
INSTR_RS_R0RD |
|
INSTR_RS_RRRD |
|
INSTR_RS_RURD |
|
INSTR_RXE_FRRD |
|
INSTR_RXE_RRRD |
|
INSTR_RXF_FRRDF |
|
INSTR_RXY_FRRD |
|
INSTR_RXY_RRRD |
|
INSTR_RXY_URRD |
|
INSTR_RX_FRRD |
|
INSTR_RX_RRRD |
|
INSTR_RX_URRD |
|
INSTR_SIL_RDI |
|
INSTR_SIL_RDU |
|
INSTR_SIY_IRD |
|
INSTR_SIY_URD |
|
INSTR_SI_URD |
|
INSTR_SSE_RDRD |
|
INSTR_SSF_RRDRD |
|
INSTR_SSF_RRDRD2 |
|
INSTR_SS_L0RDRD |
|
INSTR_SS_LIRDRD |
|
INSTR_SS_LLRDRD |
|
INSTR_SS_RRRDRD |
|
INSTR_SS_RRRDRD2 |
|
INSTR_SS_RRRDRD3 |
|
INSTR_S_00 |
|
INSTR_S_RD |
|
Definition at line 109 of file dis.c.
- Enumerator:
LONG_INSN_ALGHSIK |
|
LONG_INSN_ALHSIK |
|
LONG_INSN_CLFHSI |
|
LONG_INSN_CLGFRL |
|
LONG_INSN_CLGHRL |
|
LONG_INSN_CLGHSI |
|
LONG_INSN_CLHHSI |
|
LONG_INSN_LLGFRL |
|
LONG_INSN_LLGHRL |
|
LONG_INSN_POPCNT |
|
LONG_INSN_RISBHG |
|
LONG_INSN_RISBLG |
|
LONG_INSN_RINEXT |
|
LONG_INSN_RIEMIT |
|
LONG_INSN_TABORT |
|
LONG_INSN_TBEGIN |
|
LONG_INSN_TBEGINC |
|
Definition at line 305 of file dis.c.
int insn_to_mnemonic |
( |
unsigned char * |
instruction, |
|
|
char |
buf[8] |
|
) |
| |
insn_to_mnemonic - decode an s390 instruction : instruction to decode : buffer to fill with mnemonic
Decode the instruction at and store the corresponding mnemonic into . is left unchanged if the instruction could not be decoded. Returns: %0 on success, %-ENOENT if the instruction was not found.
Definition at line 1515 of file dis.c.
void print_fn_code |
( |
unsigned char * |
code, |
|
|
unsigned long |
len |
|
) |
| |