1
linux/include/asm-sparc64
David S. Miller 93dae5b70e sparc64: Add global register dumping facility.
When a cpu really is stuck in the kernel, it can be often
impossible to figure out which cpu is stuck where.  The
worst case is when the stuck cpu has interrupts disabled.

Therefore, implement a global cpu state capture that uses
SMP message interrupts which are not disabled by the
normal IRQ enable/disable APIs of the kernel.

As long as we can get a sysrq 'y' to the kernel, we can
get a dump.  Even if the console interrupt cpu is wedged,
we can trigger it from userspace using /proc/sysrq-trigger

The output is made compact so that this facility is more
useful on high cpu count systems, which is where this
facility will likely find itself the most useful :)

Signed-off-by: David S. Miller <davem@davemloft.net>
2008-05-20 00:33:45 -07:00
..
agp.h x86: remove flush_agp_mappings() 2008-01-30 13:34:07 +01:00
apb.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
asi.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
atomic.h [SPARC64]: __inline__ --> inline 2007-10-27 00:13:04 -07:00
auxio.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
auxvec.h [SPARC]: Merge include/asm-sparc{,64}/auxvec.h 2008-02-09 04:00:03 -08:00
backoff.h [SPARC64]: Fix atomic backoff limit. 2008-03-19 01:04:48 -07:00
bbc.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
bitops.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
bpp.h [SPARC]: Merge asm-sparc{,64}/bpp.h 2008-02-09 04:00:12 -08:00
bug.h [SPARC]: Merge asm-sparc{,64}/bug.h 2008-02-09 04:00:32 -08:00
bugs.h [SPARC]: Merge asm-sparc{,64}/bugs.h 2008-02-09 04:00:37 -08:00
byteorder.h [SPARC]: Merge asm-sparc{,64}/byteorder.h 2008-02-09 04:17:28 -08:00
cache.h [SPARC]: Merge asm-sparc{,64}/cache.h 2008-02-09 04:17:37 -08:00
cacheflush.h
chafsr.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
checksum.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
chmctrl.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
cmt.h
compat_signal.h
compat.h asm-*/compat.h: fix typo in comment 2008-02-03 16:32:51 +02:00
cpudata.h [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/{cpu,setup}.c 2008-03-25 21:51:40 -07:00
cputime.h [SPARC]: Merge asm-sparc{,64}/cputime.h 2008-02-09 04:17:47 -08:00
current.h [SPARC]: Merge asm-sparc{,64}/current.h 2008-02-09 04:17:54 -08:00
dcr.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
dcu.h [SPARC64]: Fix sparse errors in arch/sparc64/kernel/traps.c 2008-03-26 00:19:43 -07:00
delay.h
device.h [SPARC]: Merge asm-sparc{,64}/device.h 2008-02-09 04:18:02 -08:00
display7seg.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
div64.h [SPARC]: Merge asm-sparc{,64}/div64.h 2008-02-09 04:18:08 -08:00
dma-mapping.h [SPARC64]: Fix OOPS in dma_sync_*_for_device() 2007-12-20 01:29:45 -08:00
dma.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
ebus.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
elf.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
emergency-restart.h [SPARC]: Merge asm-sparc{,64}/emergency-restart.h 2008-02-09 04:18:14 -08:00
envctrl.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
errno.h [SPARC]: Merge asm-sparc{,64}/errno.h 2008-02-09 04:18:23 -08:00
estate.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
fb.h [SPARC]: Merge asm-sparc{,64}/fb.h 2008-02-09 04:18:29 -08:00
fbio.h
fcntl.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
fhc.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
floppy.h sparc64: Kill unused local ISA bus layer. 2008-04-26 21:41:23 -07:00
fpumacro.h [SPARC64]: __inline__ --> inline 2007-10-27 00:13:04 -07:00
futex.h asm-*/futex.h should include linux/uaccess.h 2008-04-30 08:29:52 -07:00
hardirq.h
head.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
hugetlb.h hugetlbfs: common code update for s390 2008-04-28 08:58:25 -07:00
hvtramp.h [SPARC64]: Remove most limitations to kernel image size. 2008-03-21 17:01:38 -07:00
hw_irq.h
hypervisor.h [SPARC64]: Fix two kernel linear mapping setup bugs. 2007-12-13 06:13:38 -08:00
ide.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
idprom.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
intr_queue.h
io.h [SPARC64]: Add SG merging support back into IOMMU code. 2008-02-09 03:15:36 -08:00
ioctl.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
ioctls.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
iommu.h [SPARC64]: NUMA device infrastructure. 2008-04-23 23:32:16 -07:00
ipcbuf.h
irq_regs.h
irq.h [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/irq.c 2008-03-26 00:37:51 -07:00
irqflags.h
Kbuild [SPARC]: Remove SunOS and Solaris binary support. 2008-04-21 15:10:15 -07:00
kdebug.h
kgdb.h sparc: Add kgdb support. 2008-04-29 02:38:50 -07:00
kmap_types.h
kprobes.h Kprobes: indicate kretprobe support in Kconfig 2008-03-04 16:35:11 -08:00
kvm.h kvm: provide kvm.h for all architecture: fixes headers_install 2008-04-02 15:28:18 -07:00
ldc.h
linkage.h
lmb.h [LIB]: Make PowerPC LMB code generic so sparc64 can use it too. 2008-02-13 16:56:49 -08:00
local.h
lsu.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
mc146818rtc.h
mdesc.h
mman.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
mmu_context.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
mmu.h
mmzone.h [SPARC64]: Add NUMA support. 2008-04-23 23:32:17 -07:00
module.h
mostek.h [SPARC64]: __inline__ --> inline 2007-10-27 00:13:04 -07:00
msgbuf.h
mutex.h
namei.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
ns87303.h [SPARC64]: __inline__ --> inline 2007-10-27 00:13:04 -07:00
of_device.h [SPARC]: Merge include/asm-sparc{,64}/of_device.h 2008-02-09 03:58:32 -08:00
of_platform.h [SPARC]: Remove of_platform_device_create 2008-02-09 03:49:58 -08:00
openprom.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
openpromio.h
oplib.h
page.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
param.h
parport.h [SPARC64]: __inline__ --> inline 2007-10-27 00:13:04 -07:00
pci.h [SPARC64]: Implement pci_resource_to_user() 2007-12-26 19:33:46 -08:00
percpu.h SPARC64: use generic percpu 2008-01-30 23:27:58 +01:00
perfctr.h
pgalloc.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
pgtable.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
pil.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
poll.h
posix_types.h asm-*/posix_types.h: scrub __GLIBC__ 2008-02-08 09:22:34 -08:00
processor.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
prom.h [SPARC]: Merge include/asm-sparc{,64}/prom.h 2008-02-09 03:56:20 -08:00
psrcompat.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
pstate.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
ptrace.h sparc64: Add global register dumping facility. 2008-05-20 00:33:45 -07:00
reboot.h [SPARC64]: Fix sparse warnings wrt. machine_alt_power_off(). 2008-02-19 20:39:18 -08:00
reg.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
resource.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
rtc.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
rwsem-const.h
rwsem.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
sbus.h [SPARC64]: __inline__ --> inline 2007-10-27 00:13:04 -07:00
scatterlist.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
scratchpad.h
seccomp.h
sections.h
semaphore.h Generic semaphore implementation 2008-04-17 10:42:34 -04:00
sembuf.h
setup.h
sfafsr.h
sfp-machine.h
shmbuf.h
shmparam.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
sigcontext.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
siginfo.h
signal.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
smp.h sparc64: Add global register dumping facility. 2008-05-20 00:33:45 -07:00
socket.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
sockios.h
sparsemem.h [SPARC64]: Decrease SECTION_SIZE_BITS to 30. 2008-04-23 23:32:13 -07:00
spinlock_types.h
spinlock.h
spitfire.h [SPARC64]: Remove most limitations to kernel image size. 2008-03-21 17:01:38 -07:00
sstate.h
stacktrace.h [SPARC64]: Make save_stack_trace() more efficient. 2008-03-24 20:06:24 -07:00
starfire.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
stat.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
statfs.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
string.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
sunbpp.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
syscalls.h [SPARC64]: More sparse warning fixes in process.c 2008-02-19 21:25:50 -08:00
system.h sparc: Add kgdb support. 2008-04-29 02:38:50 -07:00
termbits.h [SPARC]: Support for new termios. 2007-10-17 19:38:10 -07:00
termios.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
thread_info.h sparc64: Use a TS_RESTORE_SIGMASK 2008-05-12 22:45:15 -07:00
timer.h [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/time.c 2008-03-26 01:11:55 -07:00
timex.h read_current_timer() cleanups 2008-02-06 10:41:02 -08:00
tlb.h add mm argument to pte/pmd/pud/pgd_free 2008-02-05 09:44:18 -08:00
tlbflush.h remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
topology.h [SPARC64]: Add NUMA support. 2008-04-23 23:32:17 -07:00
tsb.h
ttable.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
types.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
uaccess.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
uctx.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
unaligned.h kernel: Move arches to use common unaligned access 2008-04-29 08:06:27 -07:00
unistd.h [SPARC]: Remove SunOS and Solaris binary support. 2008-04-21 15:10:15 -07:00
upa.h [SPARC64]: __inline__ --> inline 2007-10-27 00:13:04 -07:00
user.h [SPARC]: Remove SunOS and Solaris binary support. 2008-04-21 15:10:15 -07:00
utrap.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
vga.h
vio.h [SPARC64]: Use "is_power_of_2" macro for simplicity. 2007-11-07 02:24:33 -08:00
visasm.h [SPARC64]: __inline__ --> inline 2007-10-27 00:13:04 -07:00
watchdog.h sparc64: remove CVS keywords 2008-05-20 00:33:43 -07:00
xor.h