aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/builtin-script.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/builtin-script.c')
-rw-r--r--tools/perf/builtin-script.c40
1 files changed, 17 insertions, 23 deletions
diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c
index daf73832743e..04913136bac9 100644
--- a/tools/perf/builtin-script.c
+++ b/tools/perf/builtin-script.c
@@ -566,30 +566,10 @@ out:
566 return 0; 566 return 0;
567} 567}
568 568
569static int perf_sample__fprintf_iregs(struct perf_sample *sample, 569static int perf_sample__fprintf_regs(struct regs_dump *regs, uint64_t mask,
570 struct perf_event_attr *attr, FILE *fp) 570 FILE *fp
571{ 571)
572 struct regs_dump *regs = &sample->intr_regs;
573 uint64_t mask = attr->sample_regs_intr;
574 unsigned i = 0, r;
575 int printed = 0;
576
577 if (!regs)
578 return 0;
579
580 for_each_set_bit(r, (unsigned long *) &mask, sizeof(mask) * 8) {
581 u64 val = regs->regs[i++];
582 printed += fprintf(fp, "%5s:0x%"PRIx64" ", perf_reg_name(r), val);
583 }
584
585 return printed;
586}
587
588static int perf_sample__fprintf_uregs(struct perf_sample *sample,
589 struct perf_event_attr *attr, FILE *fp)
590{ 572{
591 struct regs_dump *regs = &sample->user_regs;
592 uint64_t mask = attr->sample_regs_user;
593 unsigned i = 0, r; 573 unsigned i = 0, r;
594 int printed = 0; 574 int printed = 0;
595 575
@@ -608,6 +588,20 @@ static int perf_sample__fprintf_uregs(struct perf_sample *sample,
608 return printed; 588 return printed;
609} 589}
610 590
591static int perf_sample__fprintf_iregs(struct perf_sample *sample,
592 struct perf_event_attr *attr, FILE *fp)
593{
594 return perf_sample__fprintf_regs(&sample->intr_regs,
595 attr->sample_regs_intr, fp);
596}
597
598static int perf_sample__fprintf_uregs(struct perf_sample *sample,
599 struct perf_event_attr *attr, FILE *fp)
600{
601 return perf_sample__fprintf_regs(&sample->user_regs,
602 attr->sample_regs_user, fp);
603}
604
611static int perf_sample__fprintf_start(struct perf_sample *sample, 605static int perf_sample__fprintf_start(struct perf_sample *sample,
612 struct thread *thread, 606 struct thread *thread,
613 struct perf_evsel *evsel, 607 struct perf_evsel *evsel,