diff options
author | Matt Wagantall <mattw@codeaurora.org> | 2014-09-14 17:19:50 -0700 |
---|---|---|
committer | Rohit Vaswani <rvaswani@codeaurora.org> | 2016-03-01 12:22:11 -0800 |
commit | f0e6227bd2ed8d4eb7dc535a2a29171847fdc31d (patch) | |
tree | 10c19f47b4440703b7fea688baacdf6b321f4c3c /arch/arm64 | |
parent | 6afac6722574eb10fba7284566f7a8049d4290aa (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.c | 8 |
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"); } |