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:04
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name: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).

Proto:void insn_get_opcode(struct insn *insn)

Type:void

Parameter:

TypeParameterName
struct insn *insn
236  opcode = * opcode.bytes[0]: opcode1 * opcode.bytes[1]: opcode2 * opcode.bytes[2]: opcode3
239  If !0 if we've run insn_get_xxx() for this field Then Return
241  If Not !0 if we've run insn_get_xxx() for this field Then sn_get_prefixes - scan x86 instruction prefix bytes*@insn: &struct insn containing instruction* Populates the @insn->prefixes bitmap, and updates @insn->next_byte* to point to the (first) opcode. No effect if @insn->prefixes.got* is already set.
245  op = get_next(insn_byte_t, insn)
246  bytes[0] = op
247  nbytes = 1
250  If insn_is_avx(insn) Then
252  m = insn_vex_m_bits(insn)
253  p = insn_vex_p_bits(insn)
254  attr = inat_get_avx_attribute(op, m, p)
255  If inat_must_evex(attr) && Not insn_is_evex(insn) || Not inat_accept_vex(attr) && Not inat_is_group(attr) Then attr = 0
259  Go to end
262  attr = Attribute search APIs
263  When inat_is_escape(attr) cycle
265  op = get_next(insn_byte_t, insn)
266  bytes[nbytes++] = op
267  pfx_id = Get the last prefix id from last prefix or VEX prefix
268  attr = inat_get_escape_attribute(op, pfx_id, attr)
270  If inat_must_vex(attr) Then attr = 0
272  end :
273  !0 if we've run insn_get_xxx() for this field = 1
275  err_out :
276  Return
Caller
NameDescribe
insn_get_modrmsn_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))
is_string_insns_string_insn() - Determine if instruction is a string instruction*@insn: Instruction containing the opcode to inspect* Returns:* true if the instruction, determined by the opcode, is any of the