Lines Matching defs:regoff

143  * @regoff:	Operand offset, in pt_regs, for which the check is performed
152 * in @regoff. False if otherwise.
154 static bool check_seg_overrides(struct insn *insn, int regoff)
156 if (regoff == offsetof(struct pt_regs, di) && is_string_insn(insn))
233 * @regoff: Operand offset, in pt_regs, used to determine segment register
253 * operand indicated by @regoff. If allowed, obtain such overridden segment
260 * The operand register, @regoff, is represented as the offset from the base of
265 * must be valid. However, if @regoff indicates rIP, we don't need to inspect
281 static int resolve_seg_reg(struct insn *insn, struct pt_regs *regs, int regoff)
291 if (regoff == offsetof(struct pt_regs, ip)) {
301 if (!check_seg_overrides(insn, regoff))
302 return resolve_default_seg(insn, regs, regoff);
309 return resolve_default_seg(insn, regs, regoff);
899 * @regoff: Operand offset, in pt_regs, used to resolve segment descriptor
904 * @regoff and, if any or allowed, override prefixes in @insn. This function is
917 int regoff, unsigned long *base,
925 seg_reg_idx = resolve_seg_reg(insn, regs, regoff);
947 * @regoff: Obtained operand offset, in pt_regs, with the effective address
953 * register operand, as an offset from the base of pt_regs, is saved in @regoff;
961 * operand indicated by ModRM. @regoff will have such operand as an offset from
967 int *regoff, long *eff_addr)
978 *regoff = get_reg_offset(insn, regs, REG_TYPE_RM);
979 if (*regoff < 0)
984 *eff_addr = regs_get_register(regs, *regoff) & 0xffff;
986 *eff_addr = regs_get_register(regs, *regoff) & 0xffffffff;
988 *eff_addr = regs_get_register(regs, *regoff);
997 * @regoff: Obtained operand offset, in pt_regs, associated with segment
1004 * segment is stored in @regoff, this parameter can later be used to determine
1009 * 0 on success. @eff_addr will have the referenced effective address. @regoff
1016 int *regoff, long *eff_addr)
1031 *regoff = get_reg_offset(insn, regs, REG_TYPE_RM);
1038 if (*regoff == -EDOM) {
1043 } else if (*regoff < 0) {
1046 tmp = regs_get_register(regs, *regoff);
1064 * @regoff: Obtained operand offset, in pt_regs, associated with segment
1071 * the associated segment is stored in @regoff, this parameter can later be used
1076 * 0 on success. @eff_addr will have the referenced effective address. @regoff
1083 int *regoff, short *eff_addr)
1123 *regoff = addr_offset1;
1132 * @regoff: Obtained operand offset, in pt_regs, associated with segment
1139 * associated segment is stored in @regoff, this parameter can later be used to
1237 int ret, regoff;
1248 ret = get_eff_addr_reg(insn, regs, &regoff, &tmp);
1254 ret = get_eff_addr_modrm_16(insn, regs, &regoff, &eff_addr);
1259 ret = get_seg_base_limit(insn, regs, regoff, &seg_base, &seg_limit);
1301 int eff_addr, regoff;
1309 ret = get_eff_addr_reg(insn, regs, &regoff, &tmp);
1317 ret = get_eff_addr_sib(insn, regs, &regoff, &tmp);
1323 ret = get_eff_addr_modrm(insn, regs, &regoff, &tmp);
1331 ret = get_seg_base_limit(insn, regs, regoff, &seg_base, &seg_limit);
1395 int regoff, ret;
1402 ret = get_eff_addr_reg(insn, regs, &regoff, &eff_addr);
1408 ret = get_eff_addr_sib(insn, regs, &regoff, &eff_addr);
1412 ret = get_eff_addr_modrm(insn, regs, &regoff, &eff_addr);
1419 ret = get_seg_base_limit(insn, regs, regoff, &seg_base, NULL);