diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2019-01-01 15:38:14 -0800 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-01-01 15:38:14 -0800 | 
| commit | fcf010449ebe1db0cb68b2c6410972a782f2bd14 (patch) | |
| tree | 56707e5d99776025aa5ffaf27cd97ca924622d36 /arch/arc | |
| parent | fbea8c7c793397cdf4ba53a32f99b656467b7c7f (diff) | |
| parent | cc0282975b3f887005c380adcf0af95915f0c1bb (diff) | |
Merge tag 'kgdb-4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/danielt/linux
Pull kgdb updates from Daniel Thompson:
 "Mostly clean ups although while Doug's was chasing down a odd lockdep
  warning he also did some work to improved debugger resilience when
  some CPUs fail to respond to the round up request.
  The main changes are:
   - Fixing a lockdep warning on architectures that cannot use an NMI
     for the round up plus related changes to make CPU round up and all
     CPU backtrace more resilient.
   - Constify the arch ops tables
   - A couple of other small clean ups
  Two of the three patchsets here include changes that spill over into
  arch/. Changes in the arch space are relatively narrow in scope (and
  directly related to kgdb). Didn't get comprehensive acks but all
  impacted maintainers were Cc:ed in good time"
* tag 'kgdb-4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/danielt/linux:
  kgdb/treewide: constify struct kgdb_arch arch_kgdb_ops
  mips/kgdb: prepare arch_kgdb_ops for constness
  kdb: use bool for binary state indicators
  kdb: Don't back trace on a cpu that didn't round up
  kgdb: Don't round up a CPU that failed rounding up before
  kgdb: Fix kgdb_roundup_cpus() for arches who used smp_call_function()
  kgdb: Remove irq flags from roundup
Diffstat (limited to 'arch/arc')
| -rw-r--r-- | arch/arc/kernel/kgdb.c | 12 | 
1 files changed, 3 insertions, 9 deletions
| diff --git a/arch/arc/kernel/kgdb.c b/arch/arc/kernel/kgdb.c index 9a3c34af2ae8..96bca9963c63 100644 --- a/arch/arc/kernel/kgdb.c +++ b/arch/arc/kernel/kgdb.c @@ -192,19 +192,13 @@ void kgdb_arch_set_pc(struct pt_regs *regs, unsigned long ip)  	instruction_pointer(regs) = ip;  } -static void kgdb_call_nmi_hook(void *ignored) +void kgdb_call_nmi_hook(void *ignored)  { +	/* Default implementation passes get_irq_regs() but we don't */  	kgdb_nmicallback(raw_smp_processor_id(), NULL);  } -void kgdb_roundup_cpus(unsigned long flags) -{ -	local_irq_enable(); -	smp_call_function(kgdb_call_nmi_hook, NULL, 0); -	local_irq_disable(); -} - -struct kgdb_arch arch_kgdb_ops = { +const struct kgdb_arch arch_kgdb_ops = {  	/* breakpoint instruction: TRAP_S 0x3 */  #ifdef CONFIG_CPU_BIG_ENDIAN  	.gdb_bpt_instr		= {0x78, 0x7e}, | 
