Merge tag 'kgdb-4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/danielt...
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 1 Jan 2019 23:38:14 +0000 (15:38 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 1 Jan 2019 23:38:14 +0000 (15:38 -0800)
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

1  2 
arch/sh/kernel/kgdb.c

diff --combined arch/sh/kernel/kgdb.c
index d24bd2d2ffad2dcc5566893c349b6d0b9fd0547d,ba0a1687f5cb3106e8f8fd75517d7e94b85609d9..6d61f8cf4c131dac3b48b33acc4635f85814a32e
@@@ -1,10 -1,13 +1,10 @@@
 +// SPDX-License-Identifier: GPL-2.0
  /*
   * SuperH KGDB support
   *
   * Copyright (C) 2008 - 2012  Paul Mundt
   *
   * Single stepping taken from the old stub by Henry Bell and Jeremy Siegel.
 - *
 - * This file is subject to the terms and conditions of the GNU General Public
 - * License.  See the file "COPYING" in the main directory of this archive
 - * for more details.
   */
  #include <linux/kgdb.h>
  #include <linux/kdebug.h>
@@@ -311,18 -314,6 +311,6 @@@ BUILD_TRAP_HANDLER(singlestep
        local_irq_restore(flags);
  }
  
- static void kgdb_call_nmi_hook(void *ignored)
- {
-       kgdb_nmicallback(raw_smp_processor_id(), get_irq_regs());
- }
- void kgdb_roundup_cpus(unsigned long flags)
- {
-       local_irq_enable();
-       smp_call_function(kgdb_call_nmi_hook, NULL, 0);
-       local_irq_disable();
- }
  static int __kgdb_notify(struct die_args *args, unsigned long cmd)
  {
        int ret;
@@@ -379,7 -370,7 +367,7 @@@ void kgdb_arch_exit(void
        unregister_die_notifier(&kgdb_notifier);
  }
  
- struct kgdb_arch arch_kgdb_ops = {
const struct kgdb_arch arch_kgdb_ops = {
        /* Breakpoint instruction: trapa #0x3c */
  #ifdef CONFIG_CPU_LITTLE_ENDIAN
        .gdb_bpt_instr          = { 0x3c, 0xc3 },