linux/arch/sparc/kernel
David S. Miller b62818e5ff sparc64: Fix NMI startup bug which also breaks perf.
Doing NMI startup as an early initcall doesn't work because we need
to have SMP started up by then.

So we'd only NMI startup one cpu, which causes perf PMU grab to
BUG because the nmi_active count isn't what it's supposed to be.

This also points out that we don't have proper CPU up/down notifiers
for the NMI code which will need to be fixed at some point.

Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-15 15:04:07 -08:00
..
.gitignore sparc: gitignore a few files 2008-12-04 09:17:15 -08:00
apc.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
asm-offsets.c sparc,sparc64: unify asm-offsets.c 2008-12-04 09:17:12 -08:00
audit.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
auxio_32.c of/sparc: convert various prom_* functions to use phandle 2010-10-09 02:33:34 -06:00
auxio_64.c sparc: remove references to of_device and to_of_device 2010-07-24 09:58:22 -06:00
btext.c of/sparc: convert various prom_* functions to use phandle 2010-10-09 02:33:34 -06:00
central.c sparc: remove references to of_device and to_of_device 2010-07-24 09:58:22 -06:00
cherrs.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
chmc.c sparc: remove references to of_device and to_of_device 2010-07-24 09:58:22 -06:00
compat_audit.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
cpu.c sparc64: Fix bootup regression due to perf init ordering. 2011-01-09 15:36:46 -08:00
cpumap.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
cpumap.h sparc64: fix and optimize irq distribution 2009-06-16 04:56:28 -07:00
devices.c of/sparc: convert various prom_* functions to use phandle 2010-10-09 02:33:34 -06:00
dma.c sparc: Add CONFIG_DMA_API_DEBUG support 2009-08-10 09:35:00 +02:00
ds.c sparc64: Defer cpu_data() setup until end of per-cpu data initialization. 2009-06-16 04:56:22 -07:00
dtlb_miss.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
dtlb_prot.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
ebus.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
entry.h sparc64: Kill off old sys_perfctr system call and state. 2010-03-03 08:08:49 -08:00
entry.S sparc64: Add syscall tracepoint support. 2009-12-11 00:44:47 -08:00
etrap_32.S sparc: prepare kernel/ for unification 2008-12-04 09:17:20 -08:00
etrap_64.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
fpu_traps.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
ftrace.c sparc64: Add function graph tracer support. 2010-04-12 22:37:26 -07:00
getsetcc.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
head_32.S sparc: use _start for the start entry (like 64 bit does) 2011-01-04 19:25:04 -08:00
head_64.S sparc64: Store per-cpu offset in trap_block[] 2009-06-16 04:56:11 -07:00
helpers.S sparc64: Fix perf_arch_get_caller_regs(). 2010-08-08 22:07:36 -07:00
hvapi.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
hvcalls.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
hvtramp.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
idprom.c sparc,leon: Introduce the sparc-leon CPU type. 2009-08-17 18:32:10 -07:00
init_task.c Use new __init_task_data macro in arch init_task.c files. 2009-09-21 06:27:08 +02:00
iommu_common.h sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
iommu.c sparc: fix size argument to find_next_zero_bit() 2011-02-08 22:52:54 -08:00
ioport.c sparc: remove references to of_device and to_of_device 2010-07-24 09:58:22 -06:00
irq_32.c sparc32: fix build failure on CONFIG_SPARC_LEON 2010-10-26 09:25:54 -07:00
irq_64.c sparc64: Run NMIs on the hardirq stack. 2010-04-14 02:04:29 -07:00
irq.h sparc32: Kill clear_profile_irq btfixup entry. 2008-09-19 21:17:59 -07:00
itlb_miss.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
ivec.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
jump_label.c jump label: Add sparc64 support 2010-09-22 16:35:09 -04:00
kernel.h sparc: Probe PMU type and record in sparc_pmu_type. 2009-01-28 17:27:14 -08:00
kgdb_32.c kgdb,sparc: Add in kgdb_arch_set_pc for sparc 2010-05-20 21:04:19 -05:00
kgdb_64.c kgdb,sparc: Add in kgdb_arch_set_pc for sparc 2010-05-20 21:04:19 -05:00
kprobes.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
kstack.h sparc64: Run NMIs on the hardirq stack. 2010-04-14 02:04:29 -07:00
ktlb.S sparc64: Increase vmalloc size to fix percpu regressions. 2009-09-28 14:39:58 -07:00
ldc.c sparc: use bitmap_find_next_zero_area 2009-12-16 07:20:19 -08:00
led.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
leon_kernel.c SPARC/LEON: added support for selecting Timer Core and Timer within core 2011-01-04 11:16:37 -08:00
leon_smp.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
Makefile jump label: Add sparc64 support 2010-09-22 16:35:09 -04:00
mdesc.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
misctrap.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
module.c jump label: Add sparc64 support 2010-09-22 16:35:09 -04:00
muldiv.c sparc: add '32' suffix to reg_window, sigcontext, __siginfo_t 2009-01-02 19:32:59 -08:00
nmi.c perf, arch: Cleanup perf-pmu init vs lockup-detector 2010-11-26 15:14:56 +01:00
of_device_32.c sparc: remove references to of_device and to_of_device 2010-07-24 09:58:22 -06:00
of_device_64.c sparc: remove references to of_device and to_of_device 2010-07-24 09:58:22 -06:00
of_device_common.c of: make of_find_device_by_node generic 2010-07-24 09:58:22 -06:00
of_device_common.h sparc: move of_device common code to of_device_common 2009-06-16 04:56:49 -07:00
pci_common.c of: Always use 'struct device.of_node' to get device node pointer. 2010-05-18 16:10:44 -06:00
pci_fire.c sparc: remove references to of_device and to_of_device 2010-07-24 09:58:22 -06:00
pci_impl.h sparc: remove references to of_device and to_of_device 2010-07-24 09:58:22 -06:00
pci_msi.c pci: Convert msi to new irq_chip functions 2010-10-12 16:53:34 +02:00
pci_psycho.c sparc: remove references to of_device and to_of_device 2010-07-24 09:58:22 -06:00
pci_sabre.c sparc: remove references to of_device and to_of_device 2010-07-24 09:58:22 -06:00
pci_schizo.c sparc: remove references to of_device and to_of_device 2010-07-24 09:58:22 -06:00
pci_sun4v_asm.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
pci_sun4v.c sparc: remove references to of_device and to_of_device 2010-07-24 09:58:22 -06:00
pci_sun4v.h sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
pci.c sparc: remove references to of_device and to_of_device 2010-07-24 09:58:22 -06:00
pcic.c of/sparc: convert various prom_* functions to use phandle 2010-10-09 02:33:34 -06:00
pcr.c sparc64: Fix NMI startup bug which also breaks perf. 2011-02-15 15:04:07 -08:00
perf_event.c perf: Dynamic pmu types 2010-12-16 11:36:43 +01:00
pmc.c sparc: remove references to of_device and to_of_device 2010-07-24 09:58:22 -06:00
power.c sparc: remove references to of_device and to_of_device 2010-07-24 09:58:22 -06:00
process_32.c Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
process_64.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2010-08-28 13:55:31 -07:00
prom_32.c SPARC/LEON: avoid AMBAPP name duplicates in openprom fs when REG is missing 2011-01-04 11:16:37 -08:00
prom_64.c Merge commit 'v2.6.35-rc6' into devicetree/next 2010-07-24 09:49:13 -06:00
prom_common.c of/promtree: no longer call prom_ functions directly; use an ops structure 2010-10-12 21:57:53 -06:00
prom_irqtrans.c sparc: remove references to of_device and to_of_device 2010-07-24 09:58:22 -06:00
prom.h of/promtree: make drivers/of/pdt.c no longer sparc-only 2010-10-10 21:53:30 -06:00
psycho_common.c sparc: remove references to of_device and to_of_device 2010-07-24 09:58:22 -06:00
psycho_common.h sparc: remove references to of_device and to_of_device 2010-07-24 09:58:22 -06:00
ptrace_32.c ptrace: cleanup arch_ptrace() on sparc 2010-10-27 18:03:12 -07:00
ptrace_64.c ptrace: cleanup arch_ptrace() on sparc 2010-10-27 18:03:12 -07:00
reboot.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
rtrap_32.S sparc: keep calling do_signal() as long as pending signals remain 2010-10-26 08:59:55 -07:00
rtrap_64.S sparc: keep calling do_signal() as long as pending signals remain 2010-10-26 08:59:55 -07:00
sbus.c sparc: remove references to of_device and to_of_device 2010-07-24 09:58:22 -06:00
setup_32.c sparc: use trapbase in setup_arch 2011-01-04 19:25:03 -08:00
setup_64.c of/sparc: convert various prom_* functions to use phandle 2010-10-09 02:33:34 -06:00
signal32.c sparc: Prevent no-handler signal syscall restart recursion. 2010-09-21 22:30:13 -07:00
signal_32.c sparc: Prevent no-handler signal syscall restart recursion. 2010-09-21 22:30:13 -07:00
signal_64.c sparc: Prevent no-handler signal syscall restart recursion. 2010-09-21 22:30:13 -07:00
smp_32.c sparc,leon: Sparc-Leon SMP support 2009-11-02 04:19:42 -08:00
smp_64.c sparc64: Fix NMI startup bug which also breaks perf. 2011-02-15 15:04:07 -08:00
sparc_ksyms_32.c sparc: Eliminate PROMLIB_INTERNAL as it does nothing 2009-01-08 16:59:01 -08:00
sparc_ksyms_64.c sparc64: don't export static inline pci_ functions 2009-12-15 16:28:13 +10:30
spiterrs.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
sstate.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
stacktrace.c sparc64: Fix stack dumping and tracing when function graph is enabled. 2010-04-21 03:08:11 -07:00
starfire.c of/sparc: convert various prom_* functions to use phandle 2010-10-09 02:33:34 -06:00
sun4c_irq.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sun4d_irq.c arch/sparc/kernel: Eliminate what looks like a NULL pointer dereference 2010-06-04 16:17:37 -07:00
sun4d_smp.c sparc: remove trailing space in messages 2010-02-12 12:08:51 -08:00
sun4m_irq.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sun4m_smp.c sparc32: Kill trap table freeing code. 2009-08-18 23:44:08 -07:00
sun4v_ivec.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
sun4v_tlb_miss.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
sys32.S sparc: Hook up new fanotify and prlimit64 syscalls. 2010-08-16 15:04:29 -07:00
sys_sparc32.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
sys_sparc_32.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
sys_sparc_64.c Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
syscalls.S sparc64: Kill off old sys_perfctr system call and state. 2010-03-03 08:08:49 -08:00
sysfs.c arch/sparc/kernel: Use set_cpus_allowed_ptr 2010-03-27 21:11:56 -07:00
systbls_32.S sparc: Hook up new fanotify and prlimit64 syscalls. 2010-08-16 15:04:29 -07:00
systbls_64.S sparc: Hook up new fanotify and prlimit64 syscalls. 2010-08-16 15:04:29 -07:00
systbls.h improve sys_newuname() for compat architectures 2010-03-12 15:52:32 -08:00
tadpole.c of/sparc: convert various prom_* functions to use phandle 2010-10-09 02:33:34 -06:00
tick14.c sparc32: Delete claim_ticker14(). 2008-09-19 21:18:01 -07:00
time_32.c sparc: remove references to of_device and to_of_device 2010-07-24 09:58:22 -06:00
time_64.c sparc: remove references to of_device and to_of_device 2010-07-24 09:58:22 -06:00
trampoline_32.S sparc,leon: Sparc-Leon SMP support 2009-11-02 04:19:42 -08:00
trampoline_64.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
traps_32.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
traps_64.c sparc64: Fix stack dumping and tracing when function graph is enabled. 2010-04-21 03:08:11 -07:00
tsb.S sparc64: Fix sun4u execute bit check in TSB I-TLB load. 2010-02-19 15:19:52 -08:00
ttable.S sparc64: fix the build error due to smp_kgdb_capture_client() 2010-06-25 11:17:57 -07:00
una_asm_32.S sparc32: unaligned memory access (MNA) trap handler bug 2011-02-01 12:39:59 -08:00
una_asm_64.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
unaligned_32.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
unaligned_64.c sparc64: Use correct pt_regs in decode_access_size() error paths. 2010-04-19 13:46:48 -07:00
us2e_cpufreq.c arch/sparc/kernel: Use set_cpus_allowed_ptr 2010-03-27 21:11:56 -07:00
us3_cpufreq.c arch/sparc/kernel: Use set_cpus_allowed_ptr 2010-03-27 21:11:56 -07:00
utrap.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
vio.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
viohs.c sparc64: refactor code in viohs.c 2009-01-06 12:46:46 -08:00
visemul.c sparc: Add alignment and emulation fault perf events. 2009-12-11 01:07:53 -08:00
vmlinux.lds.S sparc64: Support kmemleak. 2010-04-12 23:46:17 -07:00
windows.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
winfixup.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
wof.S
wuf.S