linux/arch/powerpc/kernel
Michael Neuling 82a9f16adc powerpc/hw_breakpoints: Add DABRX cpu feature to fix 32-bit regression
When introducing support for DABRX in 4474ef0, we broke older 32-bit CPUs
that don't have that register.

Some CPUs have a DABR but not DABRX.  Configuration are:
- No 32bit CPUs have DABRX but some have DABR.
- POWER4+ and below have the DABR but no DABRX.
- 970 and POWER5 and above have DABR and DABRX.
- POWER8 has DAWR, hence no DABRX.

This introduces CPU_FTR_DABRX and sets it on appropriate CPUs.  We use
the top 64 bits for CPU FTR bits since only 64 bit CPUs have this.

Processors that don't have the DABRX will still work as they will fall
back to software filtering these breakpoints via perf_exclude_event().

Signed-off-by: Michael Neuling <mikey@neuling.org>
Reported-by: "Gorelik, Jacob (335F)" <jacob.gorelik@jpl.nasa.gov>
cc: stable@vger.kernel.org (v3.9 only)
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2013-06-10 08:36:29 +10:00
..
vdso32 powerpc: Add VDSO version of time 2013-04-23 16:05:05 +10:00
vdso64 powerpc: Add VDSO version of time 2013-04-23 16:05:05 +10:00
.gitignore
align.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
asm-offsets.c powerpc: Context switch more PMU related SPRs 2013-05-24 18:13:45 +10:00
audit.c
btext.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
cacheinfo.c cpu: convert 'cpu' and 'machinecheck' sysdev_class to a regular subsystem 2011-12-21 14:29:42 -08:00
cacheinfo.h
clock.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
compat_audit.c
cpu_setup_6xx.S
cpu_setup_44x.S
cpu_setup_a2.S powerpc: Enforce usage of RA 0-R31 where possible 2012-07-10 19:18:35 +10:00
cpu_setup_fsl_booke.S powerpc/85xx: Add AltiVec support for e6500 2013-03-12 15:59:26 -05:00
cpu_setup_pa6t.S
cpu_setup_power.S powerpc: Fix TLB cleanup at boot on POWER8 2013-05-24 18:13:44 +10:00
cpu_setup_ppc970.S powerpc, KVM: Split HVMODE_206 cpu feature bit into separate HV and architecture bits 2011-07-12 13:16:58 +03:00
cputable.c powerpc/power8: Fix oprofile and perf 2013-06-10 08:36:19 +10:00
crash_dump.c mm/ppc: use common help functions to free reserved pages 2013-04-29 15:54:30 -07:00
crash.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
dbell.c powerpc: Add accounting for Doorbell interrupts 2013-04-18 15:59:55 +10:00
dma-iommu.c powerpc/dma-iommu: Fix IOMMU window check 2012-08-24 20:26:07 +10:00
dma-swiotlb.c powerpc/swiotlb: Enable at early stage and disable if not necessary 2012-09-12 14:57:09 -05:00
dma.c powerpc/kernel: Remove uses of abs_to_virt() and virt_to_abs() 2012-09-05 15:19:30 +10:00
entry_32.S powerpc/32bit:Store temporary result in r0 instead of r8 2013-06-01 08:29:27 +10:00
entry_64.S powerpc/pseries: Kill all prefetch streams on context switch 2013-06-01 08:29:25 +10:00
epapr_hcalls.S powerpc: Add paravirt idle loop for 64-bit Book-E 2013-03-13 14:19:36 -05:00
epapr_paravirt.c powerpc: define the conditions where the ePAPR idle hcall can be supported 2013-03-26 08:47:27 +11:00
exceptions-64e.S powerpc/booke64: Fix kernel hangs at kernel_dbg_exc 2013-05-14 16:00:19 +10:00
exceptions-64s.S powerpc/power8: Update denormalization handler 2013-06-10 08:36:26 +10:00
fadump.c mm/ppc: use common help functions to free reserved pages 2013-04-29 15:54:30 -07:00
firmware.c powerpc: fix implicit use of cache.h in kernel/firmware.c 2011-10-31 19:30:41 -04:00
fpu.S powerpc: Add FP/VSX and VMX register load functions for transactional memory 2013-02-15 16:58:52 +11:00
fsl_booke_entry_mapping.S
ftrace.c powerpc/ftrace: Trace function graph entry before updating index 2012-07-27 11:42:34 +10:00
head_8xx.S powerpc: Call do_page_fault() with interrupts off 2012-03-09 10:55:08 +11:00
head_32.S powerpc: Call do_page_fault() with interrupts off 2012-03-09 10:55:08 +11:00
head_40x.S powerpc: Enable the Watchdog vector for 405 2013-01-10 14:43:46 +11:00
head_44x.S powerpc: Fix interrupt range check on debug exception 2013-05-02 10:31:01 +10:00
head_64.S powerpc: Add isync to copy_and_flush 2013-04-26 16:08:17 +10:00
head_booke.h powerpc: Fix interrupt range check on debug exception 2013-05-02 10:31:01 +10:00
head_fsl_booke.S powerpc: Fix interrupt range check on debug exception 2013-05-02 10:31:01 +10:00
hw_breakpoint.c powerpc: Change hardware breakpoint to allow longer ranges 2013-01-29 11:35:08 +11:00
ibmebus.c powerpc: Remove all includes of <asm/abs_addr.h> 2012-09-05 15:19:33 +10:00
idle_6xx.S powerpc: Use CURRENT_THREAD_INFO instead of open coded assembly 2012-07-11 14:18:22 +10:00
idle_book3e.S powerpc: Add paravirt idle loop for 64-bit Book-E 2013-03-13 14:19:36 -05:00
idle_e500.S powerpc: Use CURRENT_THREAD_INFO instead of open coded assembly 2012-07-11 14:18:22 +10:00
idle_power4.S powerpc: Use CURRENT_THREAD_INFO instead of open coded assembly 2012-07-11 14:18:22 +10:00
idle_power7.S powerpc/powernv: Always go into nap mode when CPU is offline 2012-09-05 16:05:20 +10:00
idle.c powerpc: Use generic idle loop 2013-04-08 17:39:27 +02:00
io-workarounds.c POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
io.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
iomap.c powerpc: switch to GENERIC_PCI_IOMAP 2011-11-28 21:13:18 +02:00
iommu.c powerpc: Use PTR_RET instead of IS_ERR/PTR_ERR 2013-04-18 13:03:48 +10:00
irq.c powerpc: Add accounting for Doorbell interrupts 2013-04-18 15:59:55 +10:00
isa-bridge.c POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
jump_label.c powerpc: Fix build breakage in jump_label.c 2011-11-16 14:25:19 +11:00
kgdb.c powerpc/kgdb: Removed kmalloc returned value cast 2013-04-18 13:03:56 +10:00
kprobes.c hlist: drop the node parameter from iterators 2013-02-27 19:10:24 -08:00
kvm_emul.S KVM: PPC: Not optimizing MSR_CE and MSR_ME with paravirt. 2012-05-30 11:43:11 +02:00
kvm.c mm/ppc: use common help functions to free reserved pages 2013-04-29 15:54:30 -07:00
l2cr_6xx.S Fix common misspellings 2011-03-31 11:26:23 -03:00
legacy_serial.c Fix misspellings of "whether" in comments. 2012-11-19 14:31:35 +01:00
lparcfg.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2013-05-02 10:16:16 -07:00
machine_kexec_32.c treewide: convert uses of ATTRIB_NORETURN to __noreturn 2012-01-12 20:13:03 -08:00
machine_kexec_64.c powerpc/kexec: Fix kexec when using VMX optimised memcpy 2013-05-14 14:36:23 +10:00
machine_kexec.c powerpc+of: Rename the drivers/of prom_* functions to of_* 2012-11-15 12:56:52 +11:00
Makefile powerpc: Add helper functions for transactional memory context switching 2013-02-15 16:58:52 +11:00
misc_32.S powerpc: Provide __bswapdi2 2013-05-14 16:00:17 +10:00
misc_64.S powerpc: Provide __bswapdi2 2013-05-14 16:00:17 +10:00
misc.S powerpc: switch to generic sys_execve()/kernel_execve() 2012-09-30 23:35:51 -04:00
module_32.c powerpc: Fix kernel panic during kernel module load 2012-06-08 19:59:08 +10:00
module_64.c powerpc: Build kernel with -mcmodel=medium 2013-01-10 17:00:31 +11:00
module.c powerpc: remove non-required uses of include <linux/module.h> 2011-10-31 19:30:44 -04:00
msi.c
nvram_64.c powerpc: remove cast for kmalloc/kzalloc return value 2013-04-18 13:03:56 +10:00
of_platform.c powerpc/eeh: Fix crash when adding a device in a slot with DDW 2013-01-10 17:01:58 +11:00
paca.c powerpc: Move boot_paca into early_setup 2013-02-15 16:54:48 +11:00
pci_32.c powerpc/pci: Support per-aperture memory offset 2013-05-06 13:40:40 +10:00
pci_64.c powerpc: Make radeon 32-bit MSI quirk work on powernv 2013-05-24 18:13:45 +10:00
pci_dn.c powerpc: Make radeon 32-bit MSI quirk work on powernv 2013-05-24 18:13:45 +10:00
pci_of_scan.c POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
pci-common.c powerpc/pci: Check the bus address instead of resource address in pcibios_fixup_resources 2013-06-10 08:36:13 +10:00
pmc.c bug.h: add include of it to various implicit C users 2012-02-29 17:15:08 -05:00
ppc32.h powerpc: switch to generic old sigaction() 2013-02-03 18:16:10 -05:00
ppc_ksyms.c powerpc: Provide __bswapdi2 2013-05-14 16:00:17 +10:00
ppc_save_regs.S Fix common misspellings 2011-03-31 11:26:23 -03:00
proc_powerpc.c proc: Supply PDE attribute setting accessor functions 2013-05-01 17:29:18 -04:00
process.c powerpc/hw_breakpoints: Add DABRX cpu feature to fix 32-bit regression 2013-06-10 08:36:29 +10:00
prom_init_check.sh powerpc: Relocate prom_init.c on 64bit 2013-01-10 17:00:25 +11:00
prom_init.c powerpc/pseries: Enable PRRN handling 2013-04-26 16:08:26 +10:00
prom_parse.c powerpc: remove non-required uses of include <linux/module.h> 2011-10-31 19:30:44 -04:00
prom.c Merge branch 'dt' into next 2012-11-15 15:02:44 +11:00
ptrace32.c powerpc: fixing ptrace_get_reg to return an error 2013-04-18 13:03:57 +10:00
ptrace.c powerpc: Syscall hooks for context tracking subsystem 2013-05-14 16:00:19 +10:00
reloc_32.S powerpc: Process dynamic relocations for kernel 2011-12-20 10:21:08 -05:00
reloc_64.S
rtas_flash.c powerpc/rtas_flash: Fix validate_flash buffer overflow issue 2013-05-14 14:36:26 +10:00
rtas_pci.c powerpc/kernel: Cleanup on rtas_pci.c 2013-04-18 13:03:48 +10:00
rtas-proc.c
rtas-rtc.c powerpc/rtas-rtc: remove sideeffects of printk_ratelimit 2011-06-29 15:30:43 +10:00
rtas.c powerpc: Bring all threads online prior to migration/hibernation 2013-05-14 14:36:29 +10:00
rtasd.c powerpc/pseries: Add /proc interface to control topology updates 2013-04-26 16:08:26 +10:00
setup_32.c powerpc/watchdog: move booke watchdog param related code to setup-common.c 2012-07-11 07:44:03 -05:00
setup_64.c powerpc: Reduce PTE table memory wastage 2013-04-30 16:00:07 +10:00
setup-common.c powerpc: remove PReP platform 2013-04-18 13:03:53 +10:00
setup.h
signal_32.c powerpc/tm: Fix userspace stack corruption on signal delivery for active transactions 2013-06-01 08:29:23 +10:00
signal_64.c powerpc/tm: Fix userspace stack corruption on signal delivery for active transactions 2013-06-01 08:29:23 +10:00
signal.c powerpc/tm: Fix userspace stack corruption on signal delivery for active transactions 2013-06-01 08:29:23 +10:00
signal.h powerpc/tm: Fix userspace stack corruption on signal delivery for active transactions 2013-06-01 08:29:23 +10:00
smp-tbsync.c POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
smp.c powerpc: Use generic idle loop 2013-04-08 17:39:27 +02:00
softemu8xx.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
stacktrace.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
suspend.c
swsusp_32.S Fix common misspellings 2011-03-31 11:26:23 -03:00
swsusp_64.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
swsusp_asm64.S
swsusp_booke.S
swsusp.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
sys_ppc32.c unify compat fanotify_mark(2), switch to COMPAT_SYSCALL_DEFINE 2013-05-09 13:46:38 -04:00
syscalls.c powerpc: Fix personality handling in ppc64_personality() 2012-08-24 20:26:07 +10:00
sysfs.c powerpc/topology: Fix spurr attribute permission 2013-05-06 15:02:40 +10:00
systbl_chk.c
systbl_chk.sh
systbl.S
tau_6xx.c
time.c powerpc: Use PTR_RET instead of IS_ERR/PTR_ERR 2013-04-18 13:03:48 +10:00
tm.S powerpc: fix compiling CONFIG_PPC_TRANSACTIONAL_MEM when CONFIG_ALTIVEC=n 2013-04-10 08:14:39 +10:00
traps.c powerpc/tm: Abort on emulation and alignment faults 2013-06-01 08:29:22 +10:00
udbg_16550.c powerpc: Add early debug for WSP platforms 2011-05-06 13:32:41 +10:00
udbg.c powerpc: Add an in memory udbg console 2013-05-08 06:36:49 +10:00
uprobes.c uretprobes/powerpc: Hijack return address 2013-04-13 15:31:56 +02:00
vdso.c powerpc: Add VDSO version of time 2013-04-23 16:05:05 +10:00
vecemu.c
vector.S powerpc: Add FP/VSX and VMX register load functions for transactional memory 2013-02-15 16:58:52 +11:00
vio.c POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
vmlinux.lds.S powerpc: Relocate prom_init.c on 64bit 2013-01-10 17:00:25 +11:00