ARM: 5902/4: arm/perfevents: implement perf event support for ARMv6
This patch implements support for ARMv6 performance counters in the Linux performance events subsystem. ARMv6 architectures that have the performance counters should enable HW_PERF_EVENTS to get hardware performance events support in addition to the software events. Note: only ARM Ltd ARM cores are supported. This implementation also provides an ARM PMU abstraction layer to allow ARMv7 and others to be supported in the future by adding new a 'struct arm_pmu'. Cc: Jean Pihet <jpihet@mvista.com> Cc: Will Deacon <will.deacon@arm.com> Signed-off-by: Jamie Iles <jamie.iles@picochip.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
		
							parent
							
								
									7ada189f5c
								
							
						
					
					
						commit
						1b8873a0c6
					
				| @ -1174,6 +1174,14 @@ config HIGHPTE | ||||
| 	depends on HIGHMEM | ||||
| 	depends on !OUTER_CACHE | ||||
| 
 | ||||
| config HW_PERF_EVENTS | ||||
| 	bool "Enable hardware performance counter support for perf events" | ||||
| 	depends on PERF_EVENTS && CPU_HAS_PMU && CPU_V6 | ||||
| 	default y | ||||
| 	help | ||||
| 	  Enable hardware performance counter support for perf events. If | ||||
| 	  disabled, perf events will use software events only. | ||||
| 
 | ||||
| source "mm/Kconfig" | ||||
| 
 | ||||
| config LEDS | ||||
|  | ||||
| @ -47,6 +47,7 @@ obj-$(CONFIG_CPU_XSC3)		+= xscale-cp0.o | ||||
| obj-$(CONFIG_CPU_MOHAWK)	+= xscale-cp0.o | ||||
| obj-$(CONFIG_IWMMXT)		+= iwmmxt.o | ||||
| obj-$(CONFIG_CPU_HAS_PMU)	+= pmu.o | ||||
| obj-$(CONFIG_HW_PERF_EVENTS)	+= perf_event.o | ||||
| AFLAGS_iwmmxt.o			:= -Wa,-mcpu=iwmmxt | ||||
| 
 | ||||
| ifneq ($(CONFIG_ARCH_EBSA110),y) | ||||
|  | ||||
							
								
								
									
										1348
									
								
								arch/arm/kernel/perf_event.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1348
									
								
								arch/arm/kernel/perf_event.c
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Loading…
	
		Reference in New Issue
	
	Block a user