[SPARC64]: Rate limited kernel unaligned trap logging, ala IA64.
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
20edac8ad4
commit
27cc64c7cc
|
@ -279,12 +279,21 @@ static void kernel_mna_trap_fault(void)
|
||||||
|
|
||||||
asmlinkage void kernel_unaligned_trap(struct pt_regs *regs, unsigned int insn)
|
asmlinkage void kernel_unaligned_trap(struct pt_regs *regs, unsigned int insn)
|
||||||
{
|
{
|
||||||
|
static unsigned long count, last_time;
|
||||||
enum direction dir = decode_direction(insn);
|
enum direction dir = decode_direction(insn);
|
||||||
int size = decode_access_size(insn);
|
int size = decode_access_size(insn);
|
||||||
|
|
||||||
current_thread_info()->kern_una_regs = regs;
|
current_thread_info()->kern_una_regs = regs;
|
||||||
current_thread_info()->kern_una_insn = insn;
|
current_thread_info()->kern_una_insn = insn;
|
||||||
|
|
||||||
|
if (jiffies - last_time > 5 * HZ)
|
||||||
|
count = 0;
|
||||||
|
if (count < 5) {
|
||||||
|
last_time = jiffies;
|
||||||
|
count++;
|
||||||
|
printk("Kernel unaligned access at TPC[%lx]\n", regs->tpc);
|
||||||
|
}
|
||||||
|
|
||||||
if (!ok_for_kernel(insn) || dir == both) {
|
if (!ok_for_kernel(insn) || dir == both) {
|
||||||
printk("Unsupported unaligned load/store trap for kernel "
|
printk("Unsupported unaligned load/store trap for kernel "
|
||||||
"at <%016lx>.\n", regs->tpc);
|
"at <%016lx>.\n", regs->tpc);
|
||||||
|
|
Loading…
Reference in New Issue