dspcrashd: service to obtain ramdumps from DSP on crash

How this works is that when the DSP crashes, *if* dspcrashd is
running, instead of immediately rebooting, dspcrashd halts the dsp and
writes a 32MB memory image to /sdcard/dsp.crash.1266967900.img (or
similar -- number is unix UTC seconds), and *then* we panic and
reboot.

The last_kmsg log will contain:
[   82.357543] *** WROTE DSP RAMDUMP TO /sdcard/dsp.crash.1266967900.img ***

So we'll know if there's a dsp crash file to request when bugs are
filed (if the user doesn't realize this).

The dsp.crash.%d.img also contains (starting at 24MB offset):
---- ---- ---- ---- ---- ---- ---- ---- ---- ----
ro.product.name: passionc
ro.build.id: ERE50
ro.build.date: Fri Feb 19 11:53:10 PST 2010
ro.serialno: HT01YHK00073
ro.baseband: 1.00.01.DSPNMI
---- ---- ---- ---- ---- ---- ---- ---- ---- ----
<6>[    0.000000] Initializing cgroup subsys cpu
<5>[    0.000000] Linux version 2.6.32-00619-g7f79ddb
(swetland@bulgaria) (gcc version 4.4.0 (GCC) ) #13 PREEMPT Tue Feb 23
15:28:53 PST 2010
<4>[    0.000000] CPU: ARMv7 Processor [510f00f2] revision 2 (ARMv7),
cr=10c53c7f
<4>[    0.000000] CPU: VIPT nonaliasing data cache, VIVT ASID tagged
instruction cache
<4>[    0.000000] Machine: mahimahi
<4>[    0.000000] Ignoring unrecognised tag 0x4d534d71
<4>[    0.000000] Ignoring unrecognised tag 0x4d534d72
...

so these are self-contained (they identify the radio build, userspace
build, and include the kernel log) with all the information we need to
provide context for the dsp crash.

Signed-off-by: Brian Swetland <swetland@google.com>
This commit is contained in:
Brian Swetland 2010-03-03 17:11:40 -08:00
parent b593c76fed
commit 9dfe9ad88d

Diff Content Not Available