Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\lib\insn.c Create Date:2022-07-28 07:25:05
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:sn_get_modrm - collect ModRM byte, if any*@insn: &struct insn containing instruction* Populates @insn->modrm and updates @insn->next_byte to point past the* ModRM byte, if any. If necessary, first collects the preceding bytes* (prefixes and opcode(s))

Proto:void insn_get_modrm(struct insn *insn)

Type:void

Parameter:

TypeParameterName
struct insn *insn
289  modrm = modrm
291  If !0 if we've run insn_get_xxx() for this field Then Return
293  If Not !0 if we've run insn_get_xxx() for this field Then sn_get_opcode - collect opcode(s)*@insn: &struct insn containing instruction* Populates @insn->opcode, updates @insn->next_byte to point past the* opcode byte(s), and set @insn->attr (except for groups).
296  If inat_has_modrm(attr) Then
297  mod = get_next(insn_byte_t, insn)
298  value = mod
299  nbytes = 1
300  If inat_is_group(attr) Then
304  If insn_is_avx(insn) && Not inat_accept_vex(attr) Then attr = 0
309  If x86_64 && inat_is_force64(attr) Then opnd_bytes = 8
311  !0 if we've run insn_get_xxx() for this field = 1
313  err_out :
314  Return
Caller
NameDescribe
insn_rip_relativesn_rip_relative() - Does instruction use RIP-relative addressing mode?*@insn: &struct insn containing instruction* If necessary, first collects the instruction up to and including the* ModRM byte. No effect if @insn->x86_64 is 0.
insn_get_sibsn_get_sib() - Get the SIB byte of instruction*@insn: &struct insn containing instruction* If necessary, first collects the instruction up to and including the* ModRM byte.
get_eff_addr_regget_eff_addr_reg() - Obtain effective address from register operand*@insn: Instruction
get_eff_addr_modrmget_eff_addr_modrm() - Obtain referenced effective address via ModRM*@insn: Instruction
get_eff_addr_modrm_16get_eff_addr_modrm_16() - Obtain referenced effective address via ModRM*@insn: Instruction
get_eff_addr_sibget_eff_addr_sib() - Obtain referenced effective address via SIB*@insn: Instruction
get_addr_ref_16get_addr_ref_16() - Obtain the 16-bit address referred by instruction*@insn: Instruction containing ModRM byte and displacement*@regs: Register values as seen when entering kernel mode* This function is to be used with 16-bit address encodings
insn_get_attributeAttribute will be determined after getting ModRM (for opcode groups)