summaryrefslogtreecommitdiff
path: root/arch/arm64
diff options
context:
space:
mode:
authorMatt Wagantall <mattw@codeaurora.org>2014-09-14 17:19:50 -0700
committerRohit Vaswani <rvaswani@codeaurora.org>2016-03-01 12:22:11 -0800
commitf0e6227bd2ed8d4eb7dc535a2a29171847fdc31d (patch)
tree10c19f47b4440703b7fea688baacdf6b321f4c3c /arch/arm64
parent6afac6722574eb10fba7284566f7a8049d4290aa (diff)
arm64: Dump memory surrounding PC, LR and SP registers only
Due to the verbosity of printing, dumping memory regions for all register when many CPUs are online may contribute to flooded kernel logs. Spinlock lockups due to the printing have also been seen to result, compounding the problem due to additional prints. Change-Id: I7440b2d77f03fd34f36816f549588fa89322ce5f Signed-off-by: Matt Wagantall <mattw@codeaurora.org> [abhimany: resolve trivial merge conflicts] Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org>
Diffstat (limited to 'arch/arm64')
-rw-r--r--arch/arm64/kernel/process.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c
index 708c9b00f067..6e8d6fd5440b 100644
--- a/arch/arm64/kernel/process.c
+++ b/arch/arm64/kernel/process.c
@@ -223,18 +223,12 @@ static void show_data(unsigned long addr, int nbytes, const char *name)
static void show_extra_register_data(struct pt_regs *regs, int nbytes)
{
mm_segment_t fs;
- unsigned int i;
fs = get_fs();
set_fs(KERNEL_DS);
show_data(regs->pc - nbytes, nbytes * 2, "PC");
show_data(regs->regs[30] - nbytes, nbytes * 2, "LR");
show_data(regs->sp - nbytes, nbytes * 2, "SP");
- for (i = 0; i < 30; i++) {
- char name[4];
- snprintf(name, sizeof(name), "X%u", i);
- show_data(regs->regs[i] - nbytes, nbytes * 2, name);
- }
set_fs(fs);
}
@@ -265,7 +259,7 @@ void __show_regs(struct pt_regs *regs)
printk("\n");
}
if (!user_mode(regs))
- show_extra_register_data(regs, 128);
+ show_extra_register_data(regs, 256);
printk("\n");
}