Lines Matching refs:earg
809 static int get_entry_arg_max_offset(struct probe_entry_arg *earg) in get_entry_arg_max_offset() argument
823 for (i = 0; i < earg->size - 1 && earg->code[i].op != FETCH_OP_END; i++) { in get_entry_arg_max_offset()
824 if (earg->code[i].op == FETCH_OP_ST_EDATA) in get_entry_arg_max_offset()
825 if (earg->code[i].offset > max_offset) in get_entry_arg_max_offset()
826 max_offset = earg->code[i].offset; in get_entry_arg_max_offset()
837 struct probe_entry_arg *earg = tp->entry_arg; in __store_entry_arg() local
840 if (!earg) { in __store_entry_arg()
841 earg = kzalloc_obj(*tp->entry_arg); in __store_entry_arg()
842 if (!earg) in __store_entry_arg()
844 earg->size = 2 * tp->nr_args + 1; in __store_entry_arg()
845 earg->code = kzalloc_objs(struct fetch_insn, earg->size); in __store_entry_arg()
846 if (!earg->code) { in __store_entry_arg()
847 kfree(earg); in __store_entry_arg()
851 for (i = 0; i < earg->size; i++) in __store_entry_arg()
852 earg->code[i].op = FETCH_OP_END; in __store_entry_arg()
853 tp->entry_arg = earg; in __store_entry_arg()
854 store_entry_arg_at(earg->code, argnum, 0); in __store_entry_arg()
871 for (i = 0; i < earg->size - 1 && earg->code[i].op != FETCH_OP_END; i += 2) { in __store_entry_arg()
872 if (WARN_ON_ONCE(earg->code[i].op != FETCH_OP_ARG)) in __store_entry_arg()
875 if (earg->code[i].param != argnum) in __store_entry_arg()
878 if (WARN_ON_ONCE(earg->code[i + 1].op != FETCH_OP_ST_EDATA)) in __store_entry_arg()
881 return earg->code[i + 1].offset; in __store_entry_arg()
884 if (i >= earg->size - 1) in __store_entry_arg()
889 if (WARN_ON_ONCE(earg->code[i - 1].op != FETCH_OP_ST_EDATA)) in __store_entry_arg()
891 last_offset = earg->code[i - 1].offset; in __store_entry_arg()
895 store_entry_arg_at(&earg->code[i], argnum, offset); in __store_entry_arg()
901 struct probe_entry_arg *earg = tp->entry_arg; in traceprobe_get_entry_data_size() local
903 if (!earg) in traceprobe_get_entry_data_size()
906 return get_entry_arg_max_offset(earg) + sizeof(unsigned long); in traceprobe_get_entry_data_size()
911 struct probe_entry_arg *earg = tp->entry_arg; in store_trace_entry_data() local
915 if (!earg) in store_trace_entry_data()
918 for (i = 0; i < earg->size; i++) { in store_trace_entry_data()
919 struct fetch_insn *code = &earg->code[i]; in store_trace_entry_data()