Commit b6b7922f authored by David S. Miller's avatar David S. Miller

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: default avatarDavid S. Miller <davem@davemloft.net>
parent 433c5f70
...@@ -858,9 +858,7 @@ void smp_tsb_sync(struct mm_struct *mm) ...@@ -858,9 +858,7 @@ void smp_tsb_sync(struct mm_struct *mm)
extern unsigned long xcall_flush_tlb_mm; extern unsigned long xcall_flush_tlb_mm;
extern unsigned long xcall_flush_tlb_pending; extern unsigned long xcall_flush_tlb_pending;
extern unsigned long xcall_flush_tlb_kernel_range; extern unsigned long xcall_flush_tlb_kernel_range;
#ifdef CONFIG_MAGIC_SYSRQ
extern unsigned long xcall_fetch_glob_regs; extern unsigned long xcall_fetch_glob_regs;
#endif
extern unsigned long xcall_receive_signal; extern unsigned long xcall_receive_signal;
extern unsigned long xcall_new_mmu_context_version; extern unsigned long xcall_new_mmu_context_version;
#ifdef CONFIG_KGDB #ifdef CONFIG_KGDB
...@@ -1005,12 +1003,10 @@ void kgdb_roundup_cpus(unsigned long flags) ...@@ -1005,12 +1003,10 @@ void kgdb_roundup_cpus(unsigned long flags)
} }
#endif #endif
#ifdef CONFIG_MAGIC_SYSRQ
void smp_fetch_global_regs(void) void smp_fetch_global_regs(void)
{ {
smp_cross_call(&xcall_fetch_glob_regs, 0, 0, 0); smp_cross_call(&xcall_fetch_glob_regs, 0, 0, 0);
} }
#endif
/* We know that the window frames of the user have been flushed /* We know that the window frames of the user have been flushed
* to the stack before we get here because all callers of us * to the stack before we get here because all callers of us
......
...@@ -480,7 +480,6 @@ xcall_sync_tick: ...@@ -480,7 +480,6 @@ xcall_sync_tick:
b rtrap_xcall b rtrap_xcall
ldx [%sp + PTREGS_OFF + PT_V9_TSTATE], %l1 ldx [%sp + PTREGS_OFF + PT_V9_TSTATE], %l1
#ifdef CONFIG_MAGIC_SYSRQ
.globl xcall_fetch_glob_regs .globl xcall_fetch_glob_regs
xcall_fetch_glob_regs: xcall_fetch_glob_regs:
sethi %hi(global_reg_snapshot), %g1 sethi %hi(global_reg_snapshot), %g1
...@@ -511,7 +510,6 @@ xcall_fetch_glob_regs: ...@@ -511,7 +510,6 @@ xcall_fetch_glob_regs:
membar #StoreStore membar #StoreStore
stx %g3, [%g1 + GR_SNAP_THREAD] stx %g3, [%g1 + GR_SNAP_THREAD]
retry retry
#endif /* CONFIG_MAGIC_SYSRQ */
#ifdef DCACHE_ALIASING_POSSIBLE #ifdef DCACHE_ALIASING_POSSIBLE
.align 32 .align 32
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment