summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry V. Levin <ldv@strace.io>2022-12-11 08:00:00 +0000
committerDmitry V. Levin <ldv@strace.io>2022-12-11 08:00:00 +0000
commitcc8f44dbba78c7364b466af5d5a2d6fbcf362c8e (patch)
tree0a16fac6fb1d927e08d29bfe6607cb9e2624c212
parentc8247f32115103b82a244ed4c6799bfd083a0fe5 (diff)
downloadstrace-cc8f44dbba78c7364b466af5d5a2d6fbcf362c8e.tar.gz
xlat: update PERF_* constants
* src/xlat/perf_branch_sample_type.in (PERF_SAMPLE_BRANCH_PRIV_SAVE): New constant introduced by Linux kernel commit v6.1-rc1~97^2~60. * tests/perf_event_open.c (BRANCH_TYPE_ALL, main): Update expected output. * NEWS: Mention this change.
-rw-r--r--NEWS2
-rw-r--r--src/xlat/perf_branch_sample_type.in37
-rw-r--r--tests/perf_event_open.c9
3 files changed, 25 insertions, 23 deletions
diff --git a/NEWS b/NEWS
index 3c277989f..ee6d3308a 100644
--- a/NEWS
+++ b/NEWS
@@ -4,7 +4,7 @@ Noteworthy changes in release ?.? (????-??-??)
* Improvements
* Enhanced decoding of terminal ioctl commands.
* Updated lists of ABS_*, BPF_*, BTRFS_*, COUNTER_*, ETH_P_*, IFLA_*,
- KVM_*, MADV_*, and NLMSGERR_* constants.
+ KVM_*, MADV_*, NLMSGERR_*, and PERF_* constants.
* Updated lists of ioctl commands from Linux 6.1.
* Bug fixes
diff --git a/src/xlat/perf_branch_sample_type.in b/src/xlat/perf_branch_sample_type.in
index 7ae59a65e..b4bf1c018 100644
--- a/src/xlat/perf_branch_sample_type.in
+++ b/src/xlat/perf_branch_sample_type.in
@@ -1,18 +1,19 @@
-PERF_SAMPLE_BRANCH_USER 1 << 0
-PERF_SAMPLE_BRANCH_KERNEL 1 << 1
-PERF_SAMPLE_BRANCH_HV 1 << 2
-PERF_SAMPLE_BRANCH_ANY 1 << 3
-PERF_SAMPLE_BRANCH_ANY_CALL 1 << 4
-PERF_SAMPLE_BRANCH_ANY_RETURN 1 << 5
-PERF_SAMPLE_BRANCH_IND_CALL 1 << 6
-PERF_SAMPLE_BRANCH_ABORT_TX 1 << 7
-PERF_SAMPLE_BRANCH_IN_TX 1 << 8
-PERF_SAMPLE_BRANCH_NO_TX 1 << 9
-PERF_SAMPLE_BRANCH_COND 1 << 10
-PERF_SAMPLE_BRANCH_CALL_STACK 1 << 11
-PERF_SAMPLE_BRANCH_IND_JUMP 1 << 12
-PERF_SAMPLE_BRANCH_CALL 1 << 13
-PERF_SAMPLE_BRANCH_NO_FLAGS 1 << 14
-PERF_SAMPLE_BRANCH_NO_CYCLES 1 << 15
-PERF_SAMPLE_BRANCH_TYPE_SAVE 1 << 16
-PERF_SAMPLE_BRANCH_HW_INDEX 1 << 17
+PERF_SAMPLE_BRANCH_USER 1U << 0
+PERF_SAMPLE_BRANCH_KERNEL 1U << 1
+PERF_SAMPLE_BRANCH_HV 1U << 2
+PERF_SAMPLE_BRANCH_ANY 1U << 3
+PERF_SAMPLE_BRANCH_ANY_CALL 1U << 4
+PERF_SAMPLE_BRANCH_ANY_RETURN 1U << 5
+PERF_SAMPLE_BRANCH_IND_CALL 1U << 6
+PERF_SAMPLE_BRANCH_ABORT_TX 1U << 7
+PERF_SAMPLE_BRANCH_IN_TX 1U << 8
+PERF_SAMPLE_BRANCH_NO_TX 1U << 9
+PERF_SAMPLE_BRANCH_COND 1U << 10
+PERF_SAMPLE_BRANCH_CALL_STACK 1U << 11
+PERF_SAMPLE_BRANCH_IND_JUMP 1U << 12
+PERF_SAMPLE_BRANCH_CALL 1U << 13
+PERF_SAMPLE_BRANCH_NO_FLAGS 1U << 14
+PERF_SAMPLE_BRANCH_NO_CYCLES 1U << 15
+PERF_SAMPLE_BRANCH_TYPE_SAVE 1U << 16
+PERF_SAMPLE_BRANCH_HW_INDEX 1U << 17
+PERF_SAMPLE_BRANCH_PRIV_SAVE 1U << 18
diff --git a/tests/perf_event_open.c b/tests/perf_event_open.c
index 67b2d0411..139d16ce5 100644
--- a/tests/perf_event_open.c
+++ b/tests/perf_event_open.c
@@ -422,7 +422,8 @@ end:
"PERF_SAMPLE_BRANCH_NO_FLAGS|" \
"PERF_SAMPLE_BRANCH_NO_CYCLES|" \
"PERF_SAMPLE_BRANCH_TYPE_SAVE|" \
- "PERF_SAMPLE_BRANCH_HW_INDEX"
+ "PERF_SAMPLE_BRANCH_HW_INDEX|" \
+ "PERF_SAMPLE_BRANCH_PRIV_SAVE"
int
main(void)
@@ -562,11 +563,11 @@ main(void)
static const struct u64_val_str branch_sample_types[] = {
{ ARG_STR(0) },
{ 0x80, "PERF_SAMPLE_BRANCH_ABORT_TX" },
- { 0x3ffff, BRANCH_TYPE_ALL },
- { ARG_ULL_STR(0xdeadcaffeeec0000)
+ { 0x7ffff, BRANCH_TYPE_ALL },
+ { ARG_ULL_STR(0xdeadcaffeee80000)
" /* PERF_SAMPLE_BRANCH_??? */" },
{ 0xffffffffffffffffULL,
- BRANCH_TYPE_ALL "|0xfffffffffffc0000" }
+ BRANCH_TYPE_ALL "|0xfffffffffff80000" }
};
static const struct s32_val_str clockids[] = {
{ 11, "CLOCK_TAI" },