diff options
author | Vineet Gupta <vgupta@synopsys.com> | 2013-01-22 06:32:38 -0500 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2013-02-15 12:46:00 -0500 |
commit | 769bc1fd7b8591a312d4c5c8834bc6510272938e (patch) | |
tree | 72ce15497ddabc58e492a0f489d1a6a08639f06b /arch/arc/oprofile | |
parent | 01b812bcce4920d9587fab7a964493d368be1522 (diff) |
ARC: OProfile support
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Cc: Robert Richter <rric@kernel.org>
Cc: oprofile-list@lists.sf.net
Reviewed-by: James Hogan <james.hogan@imgtec.com>
Diffstat (limited to 'arch/arc/oprofile')
-rw-r--r-- | arch/arc/oprofile/Makefile | 9 | ||||
-rw-r--r-- | arch/arc/oprofile/common.c | 26 |
2 files changed, 35 insertions, 0 deletions
diff --git a/arch/arc/oprofile/Makefile b/arch/arc/oprofile/Makefile new file mode 100644 index 000000000000..ce417a6e70b8 --- /dev/null +++ b/arch/arc/oprofile/Makefile | |||
@@ -0,0 +1,9 @@ | |||
1 | obj-$(CONFIG_OPROFILE) += oprofile.o | ||
2 | |||
3 | DRIVER_OBJS = $(addprefix ../../../drivers/oprofile/, \ | ||
4 | oprof.o cpu_buffer.o buffer_sync.o \ | ||
5 | event_buffer.o oprofile_files.o \ | ||
6 | oprofilefs.o oprofile_stats.o \ | ||
7 | timer_int.o ) | ||
8 | |||
9 | oprofile-y := $(DRIVER_OBJS) common.o | ||
diff --git a/arch/arc/oprofile/common.c b/arch/arc/oprofile/common.c new file mode 100644 index 000000000000..c80fcad4a5a7 --- /dev/null +++ b/arch/arc/oprofile/common.c | |||
@@ -0,0 +1,26 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com) | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License version 2 as | ||
6 | * published by the Free Software Foundation. | ||
7 | * | ||
8 | * Based on orig code from @author John Levon <levon@movementarian.org> | ||
9 | */ | ||
10 | |||
11 | #include <linux/oprofile.h> | ||
12 | #include <linux/perf_event.h> | ||
13 | |||
14 | int __init oprofile_arch_init(struct oprofile_operations *ops) | ||
15 | { | ||
16 | /* | ||
17 | * A failure here, forces oprofile core to switch to Timer based PC | ||
18 | * sampling, which will happen if say perf is not enabled/available | ||
19 | */ | ||
20 | return oprofile_perf_init(ops); | ||
21 | } | ||
22 | |||
23 | void oprofile_arch_exit(void) | ||
24 | { | ||
25 | oprofile_perf_exit(); | ||
26 | } | ||