-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Conflicts: arch/arm/Kconfig
- Loading branch information
Showing
14 changed files
with
2,594 additions
and
64 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
/* | ||
* linux/arch/arm/include/asm/perf_event.h | ||
* | ||
* Copyright (C) 2009 picoChip Designs Ltd, Jamie Iles | ||
* | ||
* This program is free software; you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License version 2 as | ||
* published by the Free Software Foundation. | ||
* | ||
*/ | ||
|
||
#ifndef __ARM_PERF_EVENT_H__ | ||
#define __ARM_PERF_EVENT_H__ | ||
|
||
/* | ||
* NOP: on *most* (read: all supported) ARM platforms, the performance | ||
* counter interrupts are regular interrupts and not an NMI. This | ||
* means that when we receive the interrupt we can call | ||
* perf_event_do_pending() that handles all of the work with | ||
* interrupts enabled. | ||
*/ | ||
static inline void | ||
set_perf_event_pending(void) | ||
{ | ||
} | ||
|
||
/* ARM performance counters start from 1 (in the cp15 accesses) so use the | ||
* same indexes here for consistency. */ | ||
#define PERF_EVENT_INDEX_OFFSET 1 | ||
|
||
#endif /* __ARM_PERF_EVENT_H__ */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
/* | ||
* linux/arch/arm/include/asm/pmu.h | ||
* | ||
* Copyright (C) 2009 picoChip Designs Ltd, Jamie Iles | ||
* | ||
* This program is free software; you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License version 2 as | ||
* published by the Free Software Foundation. | ||
* | ||
*/ | ||
|
||
#ifndef __ARM_PMU_H__ | ||
#define __ARM_PMU_H__ | ||
|
||
#ifdef CONFIG_CPU_HAS_PMU | ||
|
||
struct pmu_irqs { | ||
const int *irqs; | ||
int num_irqs; | ||
}; | ||
|
||
/** | ||
* reserve_pmu() - reserve the hardware performance counters | ||
* | ||
* Reserve the hardware performance counters in the system for exclusive use. | ||
* The 'struct pmu_irqs' for the system is returned on success, ERR_PTR() | ||
* encoded error on failure. | ||
*/ | ||
extern const struct pmu_irqs * | ||
reserve_pmu(void); | ||
|
||
/** | ||
* release_pmu() - Relinquish control of the performance counters | ||
* | ||
* Release the performance counters and allow someone else to use them. | ||
* Callers must have disabled the counters and released IRQs before calling | ||
* this. The 'struct pmu_irqs' returned from reserve_pmu() must be passed as | ||
* a cookie. | ||
*/ | ||
extern int | ||
release_pmu(const struct pmu_irqs *irqs); | ||
|
||
/** | ||
* init_pmu() - Initialise the PMU. | ||
* | ||
* Initialise the system ready for PMU enabling. This should typically set the | ||
* IRQ affinity and nothing else. The users (oprofile/perf events etc) will do | ||
* the actual hardware initialisation. | ||
*/ | ||
extern int | ||
init_pmu(void); | ||
|
||
#else /* CONFIG_CPU_HAS_PMU */ | ||
|
||
static inline const struct pmu_irqs * | ||
reserve_pmu(void) | ||
{ | ||
return ERR_PTR(-ENODEV); | ||
} | ||
|
||
static inline int | ||
release_pmu(const struct pmu_irqs *irqs) | ||
{ | ||
return -ENODEV; | ||
} | ||
|
||
static inline int | ||
init_pmu(void) | ||
{ | ||
return -ENODEV; | ||
} | ||
|
||
#endif /* CONFIG_CPU_HAS_PMU */ | ||
|
||
#endif /* __ARM_PMU_H__ */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.