blob: 755877527cf9b963657efcda52a15f04845ef5b8 [file] [log] [blame]
Jamie Iles7ada1892010-02-02 20:24:58 +01001/*
2 * linux/arch/arm/include/asm/perf_event.h
3 *
4 * Copyright (C) 2009 picoChip Designs Ltd, Jamie Iles
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 *
10 */
11
12#ifndef __ARM_PERF_EVENT_H__
13#define __ARM_PERF_EVENT_H__
14
Will Deacon6dbc0022012-07-29 12:36:28 +010015/*
16 * The ARMv7 CPU PMU supports up to 32 event counters.
17 */
18#define ARMPMU_MAX_HWEVENTS 32
19
20#define HW_OP_UNSUPPORTED 0xFFFF
21#define C(_x) PERF_COUNT_HW_CACHE_##_x
22#define CACHE_OP_UNSUPPORTED 0xFFFF
Will Deacon181193f2010-04-30 11:32:44 +010023
Marc Zyngierc7cc5042012-11-22 13:05:55 +010024#ifdef CONFIG_HW_PERF_EVENTS
Marc Zyngiere50c5412012-09-13 16:40:46 +010025struct pt_regs;
26extern unsigned long perf_instruction_pointer(struct pt_regs *regs);
27extern unsigned long perf_misc_flags(struct pt_regs *regs);
28#define perf_misc_flags(regs) perf_misc_flags(regs)
Marc Zyngierc7cc5042012-11-22 13:05:55 +010029#endif
Marc Zyngiere50c5412012-09-13 16:40:46 +010030
Jamie Iles7ada1892010-02-02 20:24:58 +010031#endif /* __ARM_PERF_EVENT_H__ */