Lines Matching refs:header
87 void perf_header__set_feat(struct perf_header *header, int feat) in perf_header__set_feat() argument
89 __set_bit(feat, header->adds_features); in perf_header__set_feat()
92 void perf_header__clear_feat(struct perf_header *header, int feat) in perf_header__clear_feat() argument
94 __clear_bit(feat, header->adds_features); in perf_header__clear_feat()
97 bool perf_header__has_feat(const struct perf_header *header, int feat) in perf_header__has_feat() argument
99 return test_bit(feat, header->adds_features); in perf_header__has_feat()
325 session = container_of(ff->ph, struct perf_session, header); in write_build_id()
916 session = container_of(ff->ph, struct perf_session, header); in write_auxtrace()
1005 session = container_of(ff->ph, struct perf_session, header); in write_dir_format()
1807 session = container_of(ff->ph, struct perf_session, header); in print_dir_format()
2189 session = container_of(ff->ph, struct perf_session, header); in print_group_desc()
2211 session = container_of(ff->ph, struct perf_session, header); in print_sample_time()
2271 cpumode = bev->header.misc & PERF_RECORD_MISC_CPUMODE_MASK; in __event_process_build_id()
2294 if (bev->header.misc & PERF_RECORD_MISC_BUILD_ID_SIZE) in __event_process_build_id()
2322 static int perf_header__read_build_ids_abi_quirk(struct perf_header *header, in perf_header__read_build_ids_abi_quirk() argument
2325 struct perf_session *session = container_of(header, struct perf_session, header); in perf_header__read_build_ids_abi_quirk()
2327 struct perf_event_header header; in perf_header__read_build_ids_abi_quirk() member
2341 if (header->needs_swap) in perf_header__read_build_ids_abi_quirk()
2342 perf_event_header__bswap(&old_bev.header); in perf_header__read_build_ids_abi_quirk()
2344 len = old_bev.header.size - sizeof(old_bev); in perf_header__read_build_ids_abi_quirk()
2348 bev.header = old_bev.header; in perf_header__read_build_ids_abi_quirk()
2355 if (bev.header.misc == PERF_RECORD_MISC_GUEST_USER || in perf_header__read_build_ids_abi_quirk()
2356 bev.header.misc == PERF_RECORD_MISC_GUEST_KERNEL) in perf_header__read_build_ids_abi_quirk()
2362 offset += bev.header.size; in perf_header__read_build_ids_abi_quirk()
2368 static int perf_header__read_build_ids(struct perf_header *header, in perf_header__read_build_ids() argument
2371 struct perf_session *session = container_of(header, struct perf_session, header); in perf_header__read_build_ids()
2383 if (header->needs_swap) in perf_header__read_build_ids()
2384 perf_event_header__bswap(&bev.header); in perf_header__read_build_ids()
2386 len = bev.header.size - sizeof(bev); in perf_header__read_build_ids()
2405 return perf_header__read_build_ids_abi_quirk(header, input, offset, size); in perf_header__read_build_ids()
2410 offset += bev.header.size; in perf_header__read_build_ids()
2518 session = container_of(ff->ph, struct perf_session, header); in process_event_desc()
2830 session = container_of(ff->ph, struct perf_session, header); in process_group_desc()
2878 session = container_of(ff->ph, struct perf_session, header); in process_auxtrace()
2949 session = container_of(ff->ph, struct perf_session, header); in process_sample_time()
3110 session = container_of(ff->ph, struct perf_session, header); in process_dir_format()
3506 struct perf_header *header = &session->header; in perf_header__fprintf_info() local
3522 fprintf(fp, "# header version : %u\n", header->version); in perf_header__fprintf_info()
3523 fprintf(fp, "# data offset : %" PRIu64 "\n", header->data_offset); in perf_header__fprintf_info()
3524 fprintf(fp, "# data size : %" PRIu64 "\n", header->data_size); in perf_header__fprintf_info()
3525 fprintf(fp, "# feat offset : %" PRIu64 "\n", header->feat_offset); in perf_header__fprintf_info()
3527 perf_header__process_sections(header, fd, &hd, in perf_header__fprintf_info()
3534 for_each_clear_bit(bit, header->adds_features, HEADER_LAST_FEATURE) { in perf_header__fprintf_info()
3603 static int perf_header__adds_write(struct perf_header *header, in perf_header__adds_write() argument
3610 .ph = header, in perf_header__adds_write()
3618 nr_sections = bitmap_weight(header->adds_features, HEADER_FEAT_BITS); in perf_header__adds_write()
3628 sec_start = header->feat_offset; in perf_header__adds_write()
3631 for_each_set_bit(feat, header->adds_features, HEADER_FEAT_BITS) { in perf_header__adds_write()
3633 perf_header__clear_feat(header, feat); in perf_header__adds_write()
3678 struct perf_header *header = &session->header; in perf_session__do_write_header() local
3681 .ph = header, in perf_session__do_write_header()
3692 if (!header->data_offset && header->data_size) { in perf_session__do_write_header()
3697 header->feat_offset = header->data_offset + header->data_size; in perf_session__do_write_header()
3698 err = perf_header__adds_write(header, evlist, fd, fc); in perf_session__do_write_header()
3746 if (!header->data_offset) { in perf_session__do_write_header()
3748 header->data_offset = sizeof(f_header); in perf_session__do_write_header()
3750 header->data_offset = attr_offset + attr_size; in perf_session__do_write_header()
3752 header->feat_offset = header->data_offset + header->data_size; in perf_session__do_write_header()
3756 err = perf_header__adds_write(header, evlist, fd, fc); in perf_session__do_write_header()
3770 .offset = header->data_offset, in perf_session__do_write_header()
3771 .size = header->data_size, in perf_session__do_write_header()
3776 memcpy(&f_header.adds_features, &header->adds_features, sizeof(header->adds_features)); in perf_session__do_write_header()
3824 static int perf_header__getbuffer64(struct perf_header *header, in perf_header__getbuffer64() argument
3830 if (header->needs_swap) in perf_header__getbuffer64()
3836 int perf_header__process_sections(struct perf_header *header, int fd, in perf_header__process_sections() argument
3848 nr_sections = bitmap_weight(header->adds_features, HEADER_FEAT_BITS); in perf_header__process_sections()
3858 lseek(fd, header->feat_offset, SEEK_SET); in perf_header__process_sections()
3860 err = perf_header__getbuffer64(header, fd, feat_sec, sec_size); in perf_header__process_sections()
3864 for_each_set_bit(feat, header->adds_features, HEADER_LAST_FEATURE) { in perf_header__process_sections()
3865 err = process(sec++, header, feat, fd, data); in perf_header__process_sections()
3992 int perf_file_header__read(struct perf_file_header *header, in perf_file_header__read() argument
3999 ret = readn(fd, header, sizeof(*header)); in perf_file_header__read()
4003 if (check_magic_endian(header->magic, in perf_file_header__read()
4004 header->attr_size, false, ph) < 0) { in perf_file_header__read()
4010 mem_bswap_64(header, offsetof(struct perf_file_header, in perf_file_header__read()
4014 if (header->size > header->attrs.offset) { in perf_file_header__read()
4019 if (header->size > header->data.offset) { in perf_file_header__read()
4024 if ((header->attrs.offset <= header->data.offset && in perf_file_header__read()
4025 header->attrs.offset + header->attrs.size > header->data.offset) || in perf_file_header__read()
4026 (header->attrs.offset > header->data.offset && in perf_file_header__read()
4027 header->data.offset + header->data.size > header->attrs.offset)) { in perf_file_header__read()
4032 if (header->size != sizeof(*header)) { in perf_file_header__read()
4034 if (header->size == offsetof(typeof(*header), adds_features)) in perf_file_header__read()
4035 bitmap_zero(header->adds_features, HEADER_FEAT_BITS); in perf_file_header__read()
4054 mem_bswap_64(&header->adds_features, in perf_file_header__read()
4057 if (!test_bit(HEADER_HOSTNAME, header->adds_features)) { in perf_file_header__read()
4059 mem_bswap_64(&header->adds_features, in perf_file_header__read()
4063 mem_bswap_32(&header->adds_features, in perf_file_header__read()
4067 if (!test_bit(HEADER_HOSTNAME, header->adds_features)) { in perf_file_header__read()
4068 bitmap_zero(header->adds_features, HEADER_FEAT_BITS); in perf_file_header__read()
4069 __set_bit(HEADER_BUILD_ID, header->adds_features); in perf_file_header__read()
4073 memcpy(&ph->adds_features, &header->adds_features, in perf_file_header__read()
4076 ph->data_offset = header->data.offset; in perf_file_header__read()
4077 ph->data_size = header->data.size; in perf_file_header__read()
4078 ph->feat_offset = header->data.offset + header->data.size; in perf_file_header__read()
4110 static int perf_file_header__read_pipe(struct perf_pipe_file_header *header, in perf_file_header__read_pipe() argument
4116 ret = perf_data__read(data, header, sizeof(*header)); in perf_file_header__read_pipe()
4120 if (check_magic_endian(header->magic, header->size, true, ph) < 0) { in perf_file_header__read_pipe()
4126 header->size = bswap_64(header->size); in perf_file_header__read_pipe()
4133 struct perf_header *header = &session->header; in perf_header__read_pipe() local
4136 if (perf_file_header__read_pipe(&f_header, header, session->data) < 0) { in perf_header__read_pipe()
4239 struct perf_header *header = &session->header; in perf_session__read_header() local
4251 session->machines.host.env = &header->env; in perf_session__read_header()
4263 if (perf_file_header__read(&f_header, header, fd) < 0) in perf_session__read_header()
4266 if (header->needs_swap && data->in_place_update) { in perf_session__read_header()
4297 if (read_attr(fd, header, &f_attr) < 0) in perf_session__read_header()
4300 if (header->needs_swap) { in perf_session__read_header()
4312 evsel->needs_swap = header->needs_swap; in perf_session__read_header()
4331 if (perf_header__getbuffer64(header, fd, &f_id, sizeof(f_id))) in perf_session__read_header()
4341 perf_header__process_sections(header, fd, &session->tevent, in perf_session__read_header()
4347 perf_header__process_sections(header, fd, NULL, perf_file_section__process); in perf_session__read_header()
4365 int type = fe->header.type; in perf_event__process_feature()
4380 ff.size = event->header.size - sizeof(*fe); in perf_event__process_feature()
4381 ff.ph = &session->header; in perf_event__process_feature()
4478 n_ids = event->header.size - sizeof(event->header) - event->attr.attr.size; in perf_event__process_attr()