Lines Matching refs:buf_b
3055 * @buf_b: second buffer
3062 * Return: A pointer into @buf_b from where non-overlapped data starts
3064 static unsigned char *adj_for_padding(unsigned char *buf_b,
3067 unsigned char *p = buf_b - MAX_PADDING;
3084 * @buf_b: second buffer
3086 * @consecutive: returns true if there is data in buf_b that is consecutive
3090 * first TSC of @buf_b in order to determine if the buffers overlap, and then
3091 * walk forward in @buf_b until a later TSC is found. A precondition is that
3092 * @buf_a and @buf_b are positioned at a PSB.
3094 * Return: A pointer into @buf_b from where non-overlapped data starts, or
3095 * @buf_b + @len_b if there is no non-overlapped data.
3099 unsigned char *buf_b,
3108 return buf_b; /* No PSB in buf_a => no overlap */
3116 return buf_b; /* No full PSB+ => assume no overlap */
3119 return buf_b; /* No TSC in buf_a => assume no overlap */
3124 if (intel_pt_next_tsc(buf_b, len_b, &tsc_b, &rem_b)) {
3132 start = buf_b + len_b - (rem_b - rem_a);
3136 return buf_b; /* tsc_a < tsc_b => no overlap */
3139 if (!intel_pt_step_psb(&buf_b, &len_b))
3140 return buf_b + len_b; /* No PSB in buf_b => no data */
3148 * @buf_b: second buffer
3151 * @consecutive: returns true if there is data in buf_b that is consecutive
3158 * Return: A pointer into @buf_b from where non-overlapped data starts, or
3159 * @buf_b + @len_b if there is no non-overlapped data.
3162 unsigned char *buf_b, size_t len_b,
3168 if (!intel_pt_next_psb(&buf_b, &len_b))
3169 return buf_b + len_b; /* No PSB */
3172 return buf_b; /* No overlap */
3175 found = intel_pt_find_overlap_tsc(buf_a, len_a, buf_b, len_b,
3187 return buf_b; /* No overlap */
3193 found = memmem(buf_a, len_a, buf_b, len_a);
3196 return adj_for_padding(buf_b + len_a, buf_a, len_a);
3201 return buf_b; /* No overlap */