diff options
Diffstat (limited to 'arch/x86/kernel/process_64.c')
| -rw-r--r-- | arch/x86/kernel/process_64.c | 7 | 
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c index ca80394ef5b8..cd8c0ed02b7e 100644 --- a/arch/x86/kernel/process_64.c +++ b/arch/x86/kernel/process_64.c @@ -136,7 +136,7 @@ void cpu_idle(void)  }  /* Prints also some state that isn't saved in the pt_regs */ -void __show_regs(struct pt_regs *regs) +void __show_regs(struct pt_regs *regs, int all)  {  	unsigned long cr0 = 0L, cr2 = 0L, cr3 = 0L, cr4 = 0L, fs, gs, shadowgs;  	unsigned long d0, d1, d2, d3, d6, d7; @@ -175,6 +175,9 @@ void __show_regs(struct pt_regs *regs)  	rdmsrl(MSR_GS_BASE, gs);  	rdmsrl(MSR_KERNEL_GS_BASE, shadowgs); +	if (!all) +		return; +  	cr0 = read_cr0();  	cr2 = read_cr2();  	cr3 = read_cr3(); @@ -200,7 +203,7 @@ void __show_regs(struct pt_regs *regs)  void show_regs(struct pt_regs *regs)  {  	printk(KERN_INFO "CPU %d:", smp_processor_id()); -	__show_regs(regs); +	__show_regs(regs, 1);  	show_trace(NULL, regs, (void *)(regs + 1), regs->bp);  }  | 
