diff options
author | Michael Cree <mcree@orcon.net.nz> | 2009-12-08 14:27:01 -0500 |
---|---|---|
committer | Matt Turner <mattst88@gmail.com> | 2009-12-18 01:11:30 -0500 |
commit | a582e6f01b90211933e70edcec9bc0bbb1157402 (patch) | |
tree | f893e538cf288c153b7970f1b635f613cbb56e0e | |
parent | 21797c599c710d3851d241c4b50690f2482bf618 (diff) |
alpha: Add minimal support for software performance events
In the kernel the patch enables configuration of the perf event
option, adds the perf_event_open syscall, and includes a minimal
architecture specific asm/perf_event.h header file.
Signed-off-by: Michael Cree <mcree@orcon.net.nz>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Matt Turner <mattst88@gmail.com>
-rw-r--r-- | arch/alpha/Kconfig | 1 | ||||
-rw-r--r-- | arch/alpha/include/asm/perf_event.h | 9 | ||||
-rw-r--r-- | arch/alpha/include/asm/unistd.h | 3 | ||||
-rw-r--r-- | arch/alpha/kernel/systbls.S | 1 |
4 files changed, 13 insertions, 1 deletions
diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig index 443448154f32..bd7261ea8f94 100644 --- a/arch/alpha/Kconfig +++ b/arch/alpha/Kconfig | |||
@@ -9,6 +9,7 @@ config ALPHA | |||
9 | select HAVE_IDE | 9 | select HAVE_IDE |
10 | select HAVE_OPROFILE | 10 | select HAVE_OPROFILE |
11 | select HAVE_SYSCALL_WRAPPERS | 11 | select HAVE_SYSCALL_WRAPPERS |
12 | select HAVE_PERF_EVENTS | ||
12 | help | 13 | help |
13 | The Alpha is a 64-bit general-purpose processor designed and | 14 | The Alpha is a 64-bit general-purpose processor designed and |
14 | marketed by the Digital Equipment Corporation of blessed memory, | 15 | marketed by the Digital Equipment Corporation of blessed memory, |
diff --git a/arch/alpha/include/asm/perf_event.h b/arch/alpha/include/asm/perf_event.h new file mode 100644 index 000000000000..3bef8522017c --- /dev/null +++ b/arch/alpha/include/asm/perf_event.h | |||
@@ -0,0 +1,9 @@ | |||
1 | #ifndef __ASM_ALPHA_PERF_EVENT_H | ||
2 | #define __ASM_ALPHA_PERF_EVENT_H | ||
3 | |||
4 | /* Alpha only supports software events through this interface. */ | ||
5 | static inline void set_perf_event_pending(void) { } | ||
6 | |||
7 | #define PERF_EVENT_INDEX_OFFSET 0 | ||
8 | |||
9 | #endif /* __ASM_ALPHA_PERF_EVENT_H */ | ||
diff --git a/arch/alpha/include/asm/unistd.h b/arch/alpha/include/asm/unistd.h index 62e823e68f65..804e5311c841 100644 --- a/arch/alpha/include/asm/unistd.h +++ b/arch/alpha/include/asm/unistd.h | |||
@@ -448,10 +448,11 @@ | |||
448 | #define __NR_preadv 490 | 448 | #define __NR_preadv 490 |
449 | #define __NR_pwritev 491 | 449 | #define __NR_pwritev 491 |
450 | #define __NR_rt_tgsigqueueinfo 492 | 450 | #define __NR_rt_tgsigqueueinfo 492 |
451 | #define __NR_perf_event_open 493 | ||
451 | 452 | ||
452 | #ifdef __KERNEL__ | 453 | #ifdef __KERNEL__ |
453 | 454 | ||
454 | #define NR_SYSCALLS 493 | 455 | #define NR_SYSCALLS 494 |
455 | 456 | ||
456 | #define __ARCH_WANT_IPC_PARSE_VERSION | 457 | #define __ARCH_WANT_IPC_PARSE_VERSION |
457 | #define __ARCH_WANT_OLD_READDIR | 458 | #define __ARCH_WANT_OLD_READDIR |
diff --git a/arch/alpha/kernel/systbls.S b/arch/alpha/kernel/systbls.S index d0bc3c8c3ed3..09acb786e72b 100644 --- a/arch/alpha/kernel/systbls.S +++ b/arch/alpha/kernel/systbls.S | |||
@@ -511,6 +511,7 @@ sys_call_table: | |||
511 | .quad sys_preadv /* 490 */ | 511 | .quad sys_preadv /* 490 */ |
512 | .quad sys_pwritev | 512 | .quad sys_pwritev |
513 | .quad sys_rt_tgsigqueueinfo | 513 | .quad sys_rt_tgsigqueueinfo |
514 | .quad sys_perf_event_open | ||
514 | 515 | ||
515 | .size sys_call_table, . - sys_call_table | 516 | .size sys_call_table, . - sys_call_table |
516 | .type sys_call_table, @object | 517 | .type sys_call_table, @object |