Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/parisc/kernel/perf_event.c
30624 views
1
// SPDX-License-Identifier: GPL-2.0
2
/*
3
* Performance event support for parisc
4
*
5
* Copyright (C) 2025 by Helge Deller <[email protected]>
6
*/
7
8
#include <linux/kernel.h>
9
#include <linux/perf_event.h>
10
#include <asm/unwind.h>
11
12
void perf_callchain_kernel(struct perf_callchain_entry_ctx *entry,
13
struct pt_regs *regs)
14
{
15
16
struct unwind_frame_info info;
17
18
unwind_frame_init_task(&info, current, NULL);
19
while (1) {
20
if (unwind_once(&info) < 0 || info.ip == 0)
21
break;
22
23
if (!__kernel_text_address(info.ip) ||
24
perf_callchain_store(entry, info.ip))
25
return;
26
}
27
}
28
29