diff options
author | David S. Miller <davem@davemloft.net> | 2008-08-09 19:25:26 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-08-09 19:25:26 -0400 |
commit | b6b7922fbda63040946cac8251d5618ee7880e8a (patch) | |
tree | d2337aa7101b32fb2f43fbed551b3a7525028492 | |
parent | 433c5f706856689be25928a99636e724fb3ea7cf (diff) |
sparc64: Don't MAGIC_SYSRQ ifdef smp_fetch_global_regs and support code.
Based upon a report and initial patch by Friedrich Oslage.
The intention is to provide this facility for
__trigger_all_cpu_backtrace even if MAGIC_SYSRQ is not set.
The only part that should have MAGIC_SYSRQ ifdef protection is the
sparc_globalreg_op sysrq regitration and immediate code.
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | arch/sparc64/kernel/smp.c | 4 | ||||
-rw-r--r-- | arch/sparc64/mm/ultra.S | 2 |
2 files changed, 0 insertions, 6 deletions
diff --git a/arch/sparc64/kernel/smp.c b/arch/sparc64/kernel/smp.c index 27b81775a4de..743ccad61c60 100644 --- a/arch/sparc64/kernel/smp.c +++ b/arch/sparc64/kernel/smp.c | |||
@@ -858,9 +858,7 @@ void smp_tsb_sync(struct mm_struct *mm) | |||
858 | extern unsigned long xcall_flush_tlb_mm; | 858 | extern unsigned long xcall_flush_tlb_mm; |
859 | extern unsigned long xcall_flush_tlb_pending; | 859 | extern unsigned long xcall_flush_tlb_pending; |
860 | extern unsigned long xcall_flush_tlb_kernel_range; | 860 | extern unsigned long xcall_flush_tlb_kernel_range; |
861 | #ifdef CONFIG_MAGIC_SYSRQ | ||
862 | extern unsigned long xcall_fetch_glob_regs; | 861 | extern unsigned long xcall_fetch_glob_regs; |
863 | #endif | ||
864 | extern unsigned long xcall_receive_signal; | 862 | extern unsigned long xcall_receive_signal; |
865 | extern unsigned long xcall_new_mmu_context_version; | 863 | extern unsigned long xcall_new_mmu_context_version; |
866 | #ifdef CONFIG_KGDB | 864 | #ifdef CONFIG_KGDB |
@@ -1005,12 +1003,10 @@ void kgdb_roundup_cpus(unsigned long flags) | |||
1005 | } | 1003 | } |
1006 | #endif | 1004 | #endif |
1007 | 1005 | ||
1008 | #ifdef CONFIG_MAGIC_SYSRQ | ||
1009 | void smp_fetch_global_regs(void) | 1006 | void smp_fetch_global_regs(void) |
1010 | { | 1007 | { |
1011 | smp_cross_call(&xcall_fetch_glob_regs, 0, 0, 0); | 1008 | smp_cross_call(&xcall_fetch_glob_regs, 0, 0, 0); |
1012 | } | 1009 | } |
1013 | #endif | ||
1014 | 1010 | ||
1015 | /* We know that the window frames of the user have been flushed | 1011 | /* We know that the window frames of the user have been flushed |
1016 | * to the stack before we get here because all callers of us | 1012 | * to the stack before we get here because all callers of us |
diff --git a/arch/sparc64/mm/ultra.S b/arch/sparc64/mm/ultra.S index ff1dc44d363e..86773e89dc1b 100644 --- a/arch/sparc64/mm/ultra.S +++ b/arch/sparc64/mm/ultra.S | |||
@@ -480,7 +480,6 @@ xcall_sync_tick: | |||
480 | b rtrap_xcall | 480 | b rtrap_xcall |
481 | ldx [%sp + PTREGS_OFF + PT_V9_TSTATE], %l1 | 481 | ldx [%sp + PTREGS_OFF + PT_V9_TSTATE], %l1 |
482 | 482 | ||
483 | #ifdef CONFIG_MAGIC_SYSRQ | ||
484 | .globl xcall_fetch_glob_regs | 483 | .globl xcall_fetch_glob_regs |
485 | xcall_fetch_glob_regs: | 484 | xcall_fetch_glob_regs: |
486 | sethi %hi(global_reg_snapshot), %g1 | 485 | sethi %hi(global_reg_snapshot), %g1 |
@@ -511,7 +510,6 @@ xcall_fetch_glob_regs: | |||
511 | membar #StoreStore | 510 | membar #StoreStore |
512 | stx %g3, [%g1 + GR_SNAP_THREAD] | 511 | stx %g3, [%g1 + GR_SNAP_THREAD] |
513 | retry | 512 | retry |
514 | #endif /* CONFIG_MAGIC_SYSRQ */ | ||
515 | 513 | ||
516 | #ifdef DCACHE_ALIASING_POSSIBLE | 514 | #ifdef DCACHE_ALIASING_POSSIBLE |
517 | .align 32 | 515 | .align 32 |