linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: daniel.thompson@linaro.org (Daniel Thompson)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v8 4/4] ARM: Add KGDB/KDB FIQ debugger generic code
Date: Thu, 14 Aug 2014 11:48:36 +0100	[thread overview]
Message-ID: <53EC9404.5010908@linaro.org> (raw)
In-Reply-To: <20140813214525.GQ30401@n2100.arm.linux.org.uk>

On 13/08/14 22:45, Russell King - ARM Linux wrote:
> On Thu, Jul 10, 2014 at 09:03:47AM +0100, Daniel Thompson wrote:
>> From: Anton Vorontsov <anton.vorontsov@linaro.org>
>>
>> The FIQ debugger may be used to debug situations when the kernel stuck
>> in uninterruptable sections, e.g. the kernel infinitely loops or
>> deadlocked in an interrupt or with interrupts disabled.
>>
>> By default KGDB FIQ is disabled in runtime, but can be enabled with
>> kgdb_fiq.enable=1 kernel command line option.
> 
> I know you've been around the loop on this patch set quite a number of
> times.  However, there are two issues.  The first is a simple concern,
> the second is more a design decision...
> 
> I've recently been hitting a problem on iMX6Q with a irqs-off deadlock
> on CPU0 (somehow, it always hit CPU0 every time I tested.)  This wasn't
> particularly good as it prevented much in the way of diagnosis.
> 
> Of course, things like the spinlock lockup fired... but nothing could
> give me a trace from CPU0.
> 
> On x86, they have this fixed by using the NMI to trigger a backtrace
> on all CPUs when a RCU lockup or spinlock lockup occurs.  There's a
> generic hook for this called arch_trigger_all_cpu_backtrace().
> 
> So, I set about using the contents of some of your patches to implement
> this for ARM, and I came out with something which works.  In doing this,
> I started wondering whether the default FIQ handler should not be just
> "subs pc, lr, #4" but mostly your FIQ assembly code you have below.
> This, along with your GIC patches to move all IRQs to group 1, then
> gives us a way to send a FIQ IPI to CPUs in the system - and the FIQ
> IPI could be caught and used to dump a backtrace.
> 
> Here's the changes I did for that, which are a tad hacky:
> 
> irq-gic.c - SGI 8 gets used to trigger a backtrace.  Note it must be
> high priority too.
> 
> gic_cpu_init()
> +       /*
> +        * Set all PPI and SGI interrupts to be group 1.
> +        *
> +        * If grouping is not available (not implemented or prohibited by
> +        * security mode) these registers are read-as-zero/write-ignored.
> +        */
> +       writel_relaxed(0xfffffeff, dist_base + GIC_DIST_IGROUP + 0);
> +       writel_relaxed(0xa0a0a000, dist_base + GIC_DIST_PRI + 8);
> 
> gic_raise_softirq()
> +       softirq = map << 16 | irq;
> +       if (irq != 8)
> +               softirq |= 0x8000;
> +

Let me dig out some of my patches in this area.

I've added an IPI to be used to quiesce the CPUs for KGDB. My code is in
essence the same as yours but uses a bitmask for the IPIs that should be
delivered using FIQ (in fact I wrote that deliberately to leave space to
easily implement arch_trigger_all_cpu_backtrace() )

> arch/arm/kernel/smp.c:
> +/* For reliability, we're prepared to waste bits here. */
> +static DECLARE_BITMAP(backtrace_mask, NR_CPUS) __read_mostly;
> +
> ...
> +static void ipi_cpu_backtrace(struct pt_regs *regs)
> +{
> +       int cpu = smp_processor_id();
> +
> +       if (cpumask_test_cpu(cpu, to_cpumask(backtrace_mask))) {
> +               static arch_spinlock_t lock = __ARCH_SPIN_LOCK_UNLOCKED;
> +
> +               arch_spin_lock(&lock);
> +               printk(KERN_WARNING "FIQ backtrace for cpu %d\n", cpu);
> +               show_regs(regs);
> +               arch_spin_unlock(&lock);
> +               cpumask_clear_cpu(cpu, to_cpumask(backtrace_mask));
> +       }
> +}
> +
> ...
> +void arch_trigger_all_cpu_backtrace(bool include_self)
> +{
> +       static unsigned long backtrace_flag;
> +       int i, cpu = get_cpu();
> +
> +       if (test_and_set_bit(0, &backtrace_flag)) {
> +               /*
> +                * If there is already a trigger_all_cpu_backtrace() in progress
> +                * (backtrace_flag == 1), don't output double cpu dump infos.
> +                */
> +               put_cpu();
> +               return;
> +       }
> +
> +       cpumask_copy(to_cpumask(backtrace_mask), cpu_online_mask);
> +       if (!include_self)
> +               cpumask_clear_cpu(cpu, to_cpumask(backtrace_mask));
> +
> +       if (!cpumask_empty(to_cpumask(backtrace_mask))) {
> +               pr_info("Sending FIQ to %s CPUs:\n",
> +                       (include_self ? "all" : "other"));
> +               smp_cross_call(to_cpumask(backtrace_mask), IPI_CPU_BACKTRACE);
> +       }
> +
> +       /* Wait for up to 10 seconds for all CPUs to do the backtrace */
> +       for (i = 0; i < 10 * 1000; i++) {
> +               if (cpumask_empty(to_cpumask(backtrace_mask)))
> +                       break;
> +
> +               mdelay(1);
> +       }
> +
> +       clear_bit(0, &backtrace_flag);
> +       smp_mb__after_atomic();
> +       put_cpu();
> +}
> +
> +void __fiq_handle(struct pt_regs *regs)
> +{
> +       ipi_cpu_backtrace(regs);
> +}
> 
> arch/arm/kernel/setup.c:
> +static unsigned int fiq_stack[4][1024];
> +
> ...
> cpu_init()
> -       "msr    cpsr_c, %7"
> +       "msr    cpsr_c, %7\n\t"
> +       "mov    sp, %8\n\t"
> +       "msr    cpsr_c, %9"
> ...
> +             PLC (PSR_F_BIT | PSR_I_BIT | FIQ_MODE),
> +             "r" (&fiq_stack[cpu][1024]),
> 
> The FIQ assembly code is basically the same as yours, but with:
> 
> +       .macro  fiq_handler
> +       bl      __fiq_handle
> +       .endm
> 
> and the code in svc_exit_via_fiq testing the PSR I flag and calling
> trace_hardirqs_on removed.
> 
> This does have one deficiency, and that is it doesn't EOI the FIQ
> interrupt - that's something which should be fixed, but for my
> purposes to track down where the locked CPU was, it wasn't strictly
> necessary that the system continued to work after this point.

EOIing IPIs should be pretty easy (it is safe to EOI them immediately
after the ack). This is also included in my existing IPI patches.


> This brings me to my second concern, and is the reason I decided not
> to ask for it for this merge window.
> 
> Calling the trace_* functions is a no-no from FIQ code.
> trace_hardirqs_on() can itself take locks, which can result in a
> deadlock.
> 
> I thought I'd made it clear that FIQ code can't take locks because
> there's no way of knowing what state they're in at the point that the
> FIQ fires - _irq() variants won't save you - and that's kind of the
> point of FIQ.  It's almost never masked by the kernel.

Don't worry, you certainly did make it clear!

I actually went as far as removing the trace_* calls before having a
change of heart. As a result I spent some time looking at the
trace_hardirqs_on() code and, as far as I remember, I couldn't find a
lock in the code that wasn't bypassed when in_nmi() returned true.

However the code is pretty complex and its certainly possible that I
missed something. Are you in a position to point any particular lock to
show I messed this up or are you working from memory?


> Now, You'll be forgiven if you now point out that in the code above,
> I'm taking a spinlock.  That's absolutely true.  Analyse the code
> a little closer and you'll notice it's done in a safe way.  There's
> only one time where that spinlock is taken and that's from FIQ code,
> never from any other code, and only once per CPU - notice how
> arch_trigger_all_cpu_backtrace() protects itself against multiple
> callers, and how ipi_cpu_backtrace() is careful to check that its
> CPU bit is set.  This is exactly the same method which x86 code uses
> (in fact, much of the above code was stolen from x86!)

Agreed. I also plan to use FIQ-safe locks in the GIC code to raise an
IPI. The b.L switcher code explicitly calls local_fiq_disable() so
providing the locks are contested only between the b.L switcher logic
and FIQ handlers it will be safe.

That said my original approach (again, I'll post it in a moment) was
pretty ugly which is why I'm so pleased with Stephen Boyd's recently
proposed change.


> So, how about moving the FIQ assembly code to entry-armv.S and making
> it less kgdb specific?  (Though... we do want to keep a /very/ close
> eye on users to ensure that they don't do silly stuff with locking.)

I think I can do that.

Something like this?

1. Install the current trap handler code by default (either with or
   without trace_* calls).

2. Have default trap handler call an RCU notifier chain to allow it to
   hook up with "normal" code without any hard coding (kgdb, IPI
   handling, etc)

3. Retain existing install_fiq() behaviour for people who want FIQ
   to be a fast-interrupt rather than an NMI (for example, the
   Raspberry pi USB optimizations).

4. Ensure default handler is an exported symbol to allow the meths
   drinkers from #3 to chain to logic for NMI/debug features
   if they want to.


Daniel.

  reply	other threads:[~2014-08-14 10:48 UTC|newest]

Thread overview: 262+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-14 15:58 [RFC 0/8] kgdb: NMI/FIQ support for ARM Daniel Thompson
2014-05-14 15:58 ` [RFC 1/8] arm: fiq: Allow EOI to be communicated to the intc Daniel Thompson
2014-05-14 15:58 ` [RFC 2/8] irqchip: gic: Provide support for interrupt grouping Daniel Thompson
2014-05-14 15:58 ` [RFC 3/8] ARM: Move some macros from entry-armv to entry-header Daniel Thompson
2014-05-14 15:58 ` [RFC 4/8] ARM: Add KGDB/KDB FIQ debugger generic code Daniel Thompson
2014-05-14 15:58 ` [RFC 5/8] serial: amba-pl011: Pass on FIQ information to KGDB Daniel Thompson
2014-05-14 15:58 ` [RFC 6/8] serial: asc: Add support for KGDB's FIQ/NMI mode Daniel Thompson
2014-05-14 15:58 ` [RFC 7/8] ARM: VIC: Add vic_set_fiq function to select if an interrupt should generate an IRQ or FIQ Daniel Thompson
2014-05-14 15:58 ` [RFC 8/8] arm: fiq: Hack FIQ routing backdoors into GIC and VIC Daniel Thompson
2014-05-23 13:57 ` [RFC v2 00/10] kgdb: NMI/FIQ support for ARM Daniel Thompson
2014-05-23 13:57   ` [RFC v2 01/10] arm: fiq: Allow EOI to be communicated to the intc Daniel Thompson
2014-05-23 14:59     ` Srinivas Kandagatla
2014-05-23 15:00     ` Russell King - ARM Linux
2014-05-28 15:47       ` Daniel Thompson
2014-05-23 13:57   ` [RFC v2 02/10] irqchip: gic: Provide support for interrupt grouping Daniel Thompson
2014-05-23 13:57   ` [RFC v2 03/10] irqchip: gic: Introduce shadow irqs for FIQ Daniel Thompson
2014-05-23 13:57   ` [RFC v2 04/10] ARM: vexpress: Extend UART with FIQ support Daniel Thompson
2014-05-23 15:04     ` Russell King - ARM Linux
2014-05-29 10:31       ` Daniel Thompson
2014-05-29 13:44         ` Rob Herring
2014-06-03 12:41           ` Daniel Thompson
2014-05-23 13:57   ` [RFC v2 05/10] ARM: STi: STiH41x: " Daniel Thompson
2014-05-23 13:57   ` [RFC v2 06/10] irqchip: vic: Introduce shadow irqs for FIQ Daniel Thompson
2014-05-23 13:57   ` [RFC v2 07/10] ARM: Move some macros from entry-armv to entry-header Daniel Thompson
2014-05-23 13:57   ` [RFC v2 08/10] ARM: Add KGDB/KDB FIQ debugger generic code Daniel Thompson
2014-05-23 13:57   ` [RFC v2 09/10] serial: amba-pl011: Pass on FIQ information to KGDB Daniel Thompson
2014-05-23 13:57   ` [RFC v2 10/10] serial: asc: Add support for KGDB's FIQ/NMI mode Daniel Thompson
2014-05-23 14:50     ` Srinivas Kandagatla
2014-06-05  9:53   ` [RFC v3 0/9] kgdb: NMI/FIQ support for ARM Daniel Thompson
2014-06-05  9:53     ` [RFC v3 1/9] arm: fiq: arbitrary mappings from IRQ to FIQ virqs Daniel Thompson
2014-06-05 11:51       ` Russell King - ARM Linux
2014-06-05 13:08         ` Daniel Thompson
2014-06-12  8:37       ` Linus Walleij
2014-06-12  9:54         ` Daniel Thompson
2014-06-13 14:29       ` Rob Herring
2014-06-18 11:24         ` Daniel Thompson
2014-06-05  9:53     ` [RFC v3 2/9] arm: fiq: Allow EOI to be communicated to the intc Daniel Thompson
2014-06-05  9:53     ` [RFC v3 3/9] irqchip: gic: Provide support for interrupt grouping Daniel Thompson
2014-06-05 19:50       ` Nicolas Pitre
2014-06-05  9:53     ` [RFC v3 4/9] irqchip: gic: Introduce shadow irqs for FIQ Daniel Thompson
2014-06-06  7:46       ` Peter De Schrijver
2014-06-06  9:23         ` Daniel Thompson
2014-06-05  9:53     ` [RFC v3 5/9] irqchip: vic: " Daniel Thompson
2014-06-05  9:53     ` [RFC v3 6/9] ARM: Move some macros from entry-armv to entry-header Daniel Thompson
2014-06-05  9:53     ` [RFC v3 7/9] ARM: Add KGDB/KDB FIQ debugger generic code Daniel Thompson
2014-06-05  9:53     ` [RFC v3 8/9] serial: amba-pl011: Pass on FIQ information to KGDB Daniel Thompson
2014-06-05  9:53     ` [RFC v3 9/9] serial: asc: Add support for KGDB's FIQ/NMI mode Daniel Thompson
2014-06-19 10:38     ` [PATCH v4 00/13] kgdb: NMI/FIQ support for ARM Daniel Thompson
2014-06-19 10:38       ` [PATCH v4 01/13] arm: fiq: Add callbacks to manage FIQ routings Daniel Thompson
2014-06-19 10:38       ` [PATCH v4 02/13] arm: fiq: Allow EOI to be communicated to the intc Daniel Thompson
2014-06-19 10:38       ` [PATCH v4 03/13] irqchip: gic: Provide support for interrupt grouping Daniel Thompson
2014-06-19 10:38       ` [PATCH v4 04/13] irqchip: gic: Add support for FIQ management Daniel Thompson
2014-06-19 10:38       ` [PATCH v4 05/13] irqchip: gic: Remove spin locks from eoi_irq Daniel Thompson
2014-06-19 10:38       ` [PATCH v4 06/13] irqchip: vic: Add support for FIQ management Daniel Thompson
2014-06-19 10:38       ` [PATCH v4 07/13] ARM: Move some macros from entry-armv to entry-header Daniel Thompson
2014-06-19 10:38       ` [PATCH v4 08/13] ARM: Add KGDB/KDB FIQ debugger generic code Daniel Thompson
2014-06-19 10:38       ` [PATCH v4 09/13] serial: amba-pl011: Pass FIQ information to KGDB Daniel Thompson
2014-06-20  0:36         ` Greg Kroah-Hartman
2014-06-19 10:38       ` [PATCH v4 10/13] serial: asc: Add support for KGDB's FIQ/NMI mode Daniel Thompson
2014-06-20  0:36         ` Greg Kroah-Hartman
2014-06-19 10:38       ` [PATCH v4 11/13] serial: asc: Adopt readl_/writel_relaxed() Daniel Thompson
2014-06-19 11:29         ` Srinivas Kandagatla
2014-06-19 11:46           ` Daniel Thompson
2014-06-19 11:58             ` Maxime Coquelin
2014-06-19 12:01             ` Srinivas Kandagatla
2014-06-19 13:12               ` Daniel Thompson
2014-06-19 10:38       ` [PATCH v4 12/13] serial: imx: clean up imx_poll_get_char() Daniel Thompson
2014-06-19 10:38       ` [PATCH v4 13/13] serial: imx: Add support for KGDB's FIQ/NMI mode Daniel Thompson
2014-06-24 15:18       ` [PATCH v6 0/4] arm: KGDB NMI/FIQ support Daniel Thompson
2014-06-24 15:18         ` [PATCH v6 1/4] arm: fiq: Add callbacks to manage FIQ routings Daniel Thompson
2014-06-24 15:44           ` Nicolas Pitre
2014-06-24 15:58             ` Daniel Thompson
2014-06-24 15:18         ` [PATCH v6 2/4] arm: fiq: Allow EOI to be communicated to the intc Daniel Thompson
2014-06-24 15:46           ` Nicolas Pitre
2014-06-24 15:18         ` [PATCH v6 3/4] ARM: Move some macros from entry-armv to entry-header Daniel Thompson
2014-06-24 15:53           ` Nicolas Pitre
2014-06-24 15:18         ` [PATCH v6 4/4] ARM: Add KGDB/KDB FIQ debugger generic code Daniel Thompson
2014-06-24 16:08           ` Russell King - ARM Linux
2014-06-26  9:54             ` Daniel Thompson
2014-06-30 13:54               ` Daniel Thompson
2014-06-24 16:22           ` Nicolas Pitre
2014-06-26 12:48             ` Daniel Thompson
2014-06-30  8:53         ` [PATCH v7 0/4] arm: KGDB NMI/FIQ support Daniel Thompson
2014-06-30  8:53           ` [PATCH v7 1/4] arm: fiq: Add callbacks to manage FIQ routings Daniel Thompson
2014-06-30  8:53           ` [PATCH v7 2/4] arm: fiq: Allow EOI to be communicated to the intc Daniel Thompson
2014-06-30  8:53           ` [PATCH v7 3/4] ARM: Move some macros from entry-armv to entry-header Daniel Thompson
2014-06-30  8:53           ` [PATCH v7 4/4] ARM: Add KGDB/KDB FIQ debugger generic code Daniel Thompson
2014-07-10  8:03           ` [PATCH v8 0/4] arm: KGDB NMI/FIQ support Daniel Thompson
2014-07-10  8:03             ` [PATCH v8 1/4] arm: fiq: Add callbacks to manage FIQ routings Daniel Thompson
2014-07-10  8:03             ` [PATCH v8 2/4] arm: fiq: Allow ACK and EOI to be passed to the intc Daniel Thompson
2014-07-10  8:03             ` [PATCH v8 3/4] ARM: Move some macros from entry-armv to entry-header Daniel Thompson
2014-07-10  8:03             ` [PATCH v8 4/4] ARM: Add KGDB/KDB FIQ debugger generic code Daniel Thompson
2014-08-13 21:45               ` Russell King - ARM Linux
2014-08-14 10:48                 ` Daniel Thompson [this message]
2014-08-14 11:15                   ` [RFC PATCH 0/3] arm: FIQ IPI support Daniel Thompson
2014-08-14 11:15                     ` [RFC PATCH 1/3] arm: smp: Introduce a special IPI signalled using FIQ Daniel Thompson
2014-08-14 11:15                     ` [RFC PATCH 2/3] arm: kgdb: Add support for IPI FIQ roundup Daniel Thompson
2014-08-14 11:15                     ` [RFC PATCH 3/3] irqchip: gic: Add support for IPI FIQ Daniel Thompson
2014-08-14 12:36                   ` [PATCH v8 4/4] ARM: Add KGDB/KDB FIQ debugger generic code Russell King - ARM Linux
2014-08-14 15:02                     ` Daniel Thompson
2014-07-14 13:51             ` [PATCH v8 0/4] arm: KGDB NMI/FIQ support Harro Haan
2014-07-15  9:41               ` Daniel Thompson
2014-07-15 13:04                 ` Harro Haan
2014-07-15 14:52                   ` Daniel Thompson
2014-07-15 15:59                     ` Harro Haan
2014-07-15 17:08                       ` Daniel Thompson
2014-07-16 17:15                         ` Harro Haan
2014-07-17  9:01                           ` Daniel Thompson
2014-07-15 18:45                 ` Marek Vasut
2014-07-16 12:54                   ` Daniel Thompson
2014-07-16 17:21                     ` Harro Haan
2014-07-17  9:20                       ` Daniel Thompson
2014-08-18 13:40             ` [PATCH v9 00/16] " Daniel Thompson
2014-08-18 13:40               ` [PATCH v9 01/16] arm: fiq: Add callbacks to manage FIQ routings Daniel Thompson
2014-08-18 13:40               ` [PATCH v9 02/16] arm: fiq: Allow ACK and EOI to be passed to the intc Daniel Thompson
2014-08-18 13:40               ` [PATCH v9 03/16] arm: fiq: Replace default FIQ handler Daniel Thompson
2014-08-18 13:40               ` [PATCH v9 04/16] arm: smp: Introduce a special IPI signalled using FIQ Daniel Thompson
2014-08-18 13:40               ` [PATCH v9 05/16] arm: KGDB/KDB FIQ support Daniel Thompson
2014-08-19 16:45               ` [PATCH v10 00/19] arm: KGDB NMI/FIQ support Daniel Thompson
2014-08-19 16:45                 ` [PATCH v10 01/19] arm: fiq: Add callbacks to manage FIQ routings Daniel Thompson
2014-08-19 16:45                 ` [PATCH v10 02/19] arm: fiq: Allow ACK and EOI to be passed to the intc Daniel Thompson
2014-08-19 16:45                 ` [PATCH v10 03/19] arm: fiq: Replace default FIQ handler Daniel Thompson
2014-08-19 17:37                   ` Russell King - ARM Linux
2014-08-19 18:12                     ` Daniel Thompson
2014-08-28 15:01                       ` Russell King - ARM Linux
2014-08-28 15:43                         ` Paul E. McKenney
2014-08-28 15:54                         ` Daniel Thompson
2014-08-28 16:15                           ` Paul E. McKenney
2014-09-02 11:03                             ` Daniel Thompson
2014-09-02 11:36                               ` Russell King - ARM Linux
2014-09-02 11:49                         ` Daniel Thompson
2014-09-02 14:23                           ` Paul E. McKenney
2014-09-02 16:42                           ` Russell King - ARM Linux
2014-09-03 10:21                             ` Daniel Thompson
2014-09-03 19:34                               ` Russell King - ARM Linux
2014-09-04  9:09                                 ` Daniel Thompson
2014-09-04  9:45                                   ` Russell King - ARM Linux
2014-09-04 10:04                                     ` Daniel Thompson
2014-08-19 16:45                 ` [PATCH v10 04/19] arm: smp: Introduce a special IPI signalled using FIQ Daniel Thompson
2014-08-19 16:45                 ` [PATCH v10 05/19] arm: KGDB/KDB FIQ support Daniel Thompson
2014-08-19 16:45                 ` [PATCH v10 06/19] irqchip: gic: Provide support for interrupt grouping Daniel Thompson
2014-08-19 16:45                 ` [PATCH v10 07/19] irqchip: gic: Add support for FIQ management Daniel Thompson
2014-08-19 16:45                 ` [PATCH v10 08/19] irqchip: gic: Remove spin locks from eoi_irq Daniel Thompson
2014-08-19 16:45                 ` [PATCH v10 09/19] irqchip: gic: Add support for IPI FIQ Daniel Thompson
2014-08-19 16:46                 ` [PATCH v10 10/19] irqchip: gic: Group 0 workaround Daniel Thompson
2014-08-19 16:46                 ` [PATCH v10 11/19] irqchip: vic: Add support for FIQ management Daniel Thompson
2014-08-19 16:46                 ` [PATCH v10 12/19] serial: kgdb_nmi: No CON_ENABLED by default Daniel Thompson
2014-08-19 16:46                 ` [PATCH v10 13/19] serial: amba-pl011: Use container_of() to get uart_amba_port Daniel Thompson
2014-08-19 16:46                 ` [PATCH v10 14/19] serial: amba-pl011: Move pl011_hwinit() Daniel Thompson
2014-08-19 16:46                 ` [PATCH v10 15/19] serial: amba-pl011: Pass FIQ information to KGDB Daniel Thompson
2014-08-19 16:46                 ` [PATCH v10 16/19] serial: asc: Add support for KGDB's FIQ/NMI mode Daniel Thompson
2014-08-19 16:46                 ` [PATCH v10 17/19] serial: asc: Adopt readl_/writel_relaxed() Daniel Thompson
2014-08-19 16:46                 ` [PATCH v10 18/19] serial: imx: clean up imx_poll_get_char() Daniel Thompson
2014-08-19 16:46                 ` [PATCH v10 19/19] serial: imx: Add support for KGDB's FIQ/NMI mode Daniel Thompson
2014-09-02 13:00                 ` [PATCH v11 00/19] arm: KGDB NMI/FIQ support Daniel Thompson
2014-09-02 13:00                   ` [PATCH v11 01/19] arm: fiq: Add callbacks to manage FIQ routings Daniel Thompson
2014-09-02 18:51                     ` Russell King - ARM Linux
2014-09-03  0:03                     ` Thomas Gleixner
2014-09-03  8:27                       ` Daniel Thompson
2014-09-02 13:00                   ` [PATCH v11 02/19] arm: fiq: Allow ACK and EOI to be passed to the intc Daniel Thompson
2014-09-02 13:00                   ` [PATCH v11 03/19] arm: fiq: Replace default FIQ handler Daniel Thompson
2014-09-02 13:00                   ` [PATCH v11 04/19] arm: smp: Introduce a special IPI signalled using FIQ Daniel Thompson
2014-09-02 13:00                   ` [PATCH v11 05/19] arm: KGDB/KDB FIQ support Daniel Thompson
2014-09-02 13:00                   ` [PATCH v11 06/19] irqchip: gic: Provide support for interrupt grouping Daniel Thompson
2014-09-02 19:33                     ` Russell King - ARM Linux
2014-09-02 21:36                       ` Catalin Marinas
2014-09-03  9:44                         ` Daniel Thompson
2014-09-03  9:28                       ` Daniel Thompson
2014-09-02 13:00                   ` [PATCH v11 07/19] irqchip: gic: Add support for FIQ management Daniel Thompson
2014-09-02 19:36                     ` Russell King - ARM Linux
2014-09-02 13:00                   ` [PATCH v11 08/19] irqchip: gic: Remove spin locks from eoi_irq Daniel Thompson
2014-09-02 13:00                   ` [PATCH v11 09/19] irqchip: gic: Add support for IPI FIQ Daniel Thompson
2014-09-02 13:00                   ` [PATCH v11 10/19] irqchip: gic: Group 0 workaround Daniel Thompson
2014-09-02 13:00                   ` [PATCH v11 11/19] irqchip: vic: Add support for FIQ management Daniel Thompson
2014-09-02 19:40                     ` Russell King - ARM Linux
2014-09-02 13:00                   ` [PATCH v11 12/19] serial: kgdb_nmi: No CON_ENABLED by default Daniel Thompson
2014-09-02 13:00                   ` [PATCH v11 13/19] serial: amba-pl011: Use container_of() to get uart_amba_port Daniel Thompson
2014-09-02 13:00                   ` [PATCH v11 14/19] serial: amba-pl011: Move pl011_hwinit() Daniel Thompson
2014-09-02 13:00                   ` [PATCH v11 15/19] serial: amba-pl011: Pass FIQ information to KGDB Daniel Thompson
2014-09-02 13:00                   ` [PATCH v11 16/19] serial: asc: Add support for KGDB's FIQ/NMI mode Daniel Thompson
2014-09-02 13:00                   ` [PATCH v11 17/19] serial: asc: Adopt readl_/writel_relaxed() Daniel Thompson
2014-09-02 13:42                     ` [STLinux Kernel] " Peter Griffin
2014-09-02 13:55                     ` Maxime Coquelin
2014-09-02 13:00                   ` [PATCH v11 18/19] serial: imx: clean up imx_poll_get_char() Daniel Thompson
2014-09-02 13:00                   ` [PATCH v11 19/19] serial: imx: Add support for KGDB's FIQ/NMI mode Daniel Thompson
2014-09-02 23:02                   ` [PATCH v11 00/19] arm: KGDB NMI/FIQ support Thomas Gleixner
2014-09-03  9:02                     ` Daniel Thompson
2014-09-03 10:06                       ` Thomas Gleixner
2014-09-03 10:30                         ` Daniel Thompson
2014-09-04 16:03                   ` [PATCH v1 0/6] arm: Implement arch_trigger_all_cpu_backtrace Daniel Thompson
2014-09-04 16:03                     ` [PATCH v1 1/6] arm: fiq: Replace default FIQ handler Daniel Thompson
2014-09-04 18:57                       ` Nicolas Pitre
2014-09-05  9:03                         ` Daniel Thompson
2014-09-05 18:04                           ` Nicolas Pitre
2014-09-08 13:22                             ` Daniel Thompson
2014-09-04 16:03                     ` [PATCH v1 2/6] arm: smp: Introduce a non-maskable IPI Daniel Thompson
2014-09-04 16:03                     ` [PATCH v1 3/6] arm64: Introduce dummy version of asm/fiq.h Daniel Thompson
2014-09-04 16:03                     ` [PATCH v1 4/6] irqchip: gic: Add support for IPI FIQ Daniel Thompson
2014-09-04 16:03                     ` [PATCH v1 5/6] irqchip: gic: Group 0 workaround Daniel Thompson
2014-09-04 16:03                     ` [PATCH v1 6/6] arm: Implement arch_trigger_all_cpu_backtrace Daniel Thompson
2014-09-05 15:33                     ` [PATCH v2 0/5] " Daniel Thompson
2014-09-05 15:33                       ` [PATCH v2 1/5] ARM: remove unused do_unexp_fiq() function Daniel Thompson
2014-09-05 15:33                       ` [PATCH v2 2/5] ARM: add basic support for on-demand backtrace of other CPUs Daniel Thompson
2014-09-05 15:33                       ` [PATCH v2 3/5] arm: fiq: Replace default FIQ handler Daniel Thompson
2014-09-05 15:33                       ` [PATCH v2 4/5] arm64: Introduce dummy version of asm/fiq.h Daniel Thompson
2014-09-05 16:50                         ` Catalin Marinas
2014-09-08 11:03                           ` Daniel Thompson
2014-09-05 15:33                       ` [PATCH v2 5/5] irqchip: gic: Add support for IPI FIQ Daniel Thompson
2014-09-08 15:28                       ` [PATCH v3 0/5] arm: Implement arch_trigger_all_cpu_backtrace Daniel Thompson
2014-09-08 15:28                         ` [PATCH v3 1/5] ARM: remove unused do_unexp_fiq() function Daniel Thompson
2014-09-08 15:28                         ` [PATCH v3 2/5] ARM: add basic support for on-demand backtrace of other CPUs Daniel Thompson
2014-09-08 15:28                         ` [PATCH v3 3/5] arm: fiq: Replace default FIQ handler Daniel Thompson
2014-09-08 15:49                           ` Nicolas Pitre
2014-09-08 15:57                             ` Daniel Thompson
2014-09-08 15:28                         ` [PATCH v3 4/5] arm64: Introduce dummy version of asm/fiq.h Daniel Thompson
2014-09-08 15:28                         ` [PATCH v3 5/5] irqchip: gic: Add support for IPI FIQ Daniel Thompson
2014-09-08 16:23                           ` Russell King - ARM Linux
2014-09-09  8:24                             ` Daniel Thompson
2014-09-14 11:53                               ` Daniel Thompson
2014-09-08 16:24                         ` [PATCH v3 0/5] arm: Implement arch_trigger_all_cpu_backtrace Russell King - ARM Linux
2014-09-09  8:26                           ` Daniel Thompson
2014-09-09 14:15                         ` [PATCH v4 0/6] " Daniel Thompson
2014-09-09 14:15                           ` [PATCH v4 1/6] ARM: remove unused do_unexp_fiq() function Daniel Thompson
2014-09-09 14:15                           ` [PATCH v4 2/6] arm: fiq: Replace default FIQ handler Daniel Thompson
2014-09-09 14:15                           ` [PATCH v4 3/6] arm64: Introduce dummy version of asm/fiq.h Daniel Thompson
2014-09-09 14:15                           ` [PATCH v4 4/6] irqchip: gic: Add support for IPI FIQ Daniel Thompson
2014-09-09 14:15                           ` [PATCH v4 5/6] ARM: add basic support for on-demand backtrace of other CPUs Daniel Thompson
2014-09-09 14:15                           ` [PATCH v4 6/6] arm: smp: Handle ipi_cpu_backtrace() using FIQ (if available) Daniel Thompson
2014-09-11 11:31                           ` [PATCH 3.17-rc4 v5 0/6] arm: Implement arch_trigger_all_cpu_backtrace Daniel Thompson
2014-09-11 11:31                             ` [PATCH 3.17-rc4 v5 1/6] ARM: remove unused do_unexp_fiq() function Daniel Thompson
2014-09-11 11:31                             ` [PATCH 3.17-rc4 v5 2/6] arm: fiq: Replace default FIQ handler Daniel Thompson
2014-09-12 17:03                               ` Russell King - ARM Linux
2014-09-12 17:07                                 ` Russell King - ARM Linux
2014-09-13 12:01                                 ` Daniel Thompson
2014-09-12 17:08                               ` Russell King - ARM Linux
2014-09-12 17:14                               ` Russell King - ARM Linux
2014-09-12 17:19                                 ` Russell King - ARM Linux
2014-09-12 17:23                                   ` Russell King - ARM Linux
2014-09-14  6:36                                     ` Daniel Thompson
2014-09-14  8:45                                       ` Russell King - ARM Linux
2014-09-14 11:27                                     ` Daniel Thompson
2014-09-13 12:03                                 ` Daniel Thompson
2014-09-11 11:31                             ` [PATCH 3.17-rc4 v5 3/6] arm64: Introduce dummy version of asm/fiq.h Daniel Thompson
2014-09-11 11:31                             ` [PATCH 3.17-rc4 v5 4/6] irqchip: gic: Add support for IPI FIQ Daniel Thompson
2014-09-11 11:31                             ` [PATCH 3.17-rc4 v5 5/6] ARM: add basic support for on-demand backtrace of other CPUs Daniel Thompson
2014-09-11 11:31                             ` [PATCH 3.17-rc4 v5 6/6] arm: smp: Handle ipi_cpu_backtrace() using FIQ (if available) Daniel Thompson
2014-08-18 14:12             ` [PATCH v9 06/16] irqchip: gic: Provide support for interrupt grouping Daniel Thompson
2014-08-18 14:12             ` [PATCH v9 07/16] irqchip: gic: Add support for FIQ management Daniel Thompson
2014-08-18 14:12             ` [PATCH v9 08/16] irqchip: gic: Remove spin locks from eoi_irq Daniel Thompson
2014-08-18 14:12             ` [PATCH v9 09/16] irqchip: gic: Add support for IPI FIQ Daniel Thompson
2014-08-18 14:12             ` [PATCH v9 10/16] irqchip: gic: Group 0 workaround Daniel Thompson
2014-08-18 14:12             ` [PATCH v9 11/16] irqchip: vic: Add support for FIQ management Daniel Thompson
2014-08-18 14:28             ` [PATCH v9 12/16] serial: amba-pl011: Pass FIQ information to KGDB Daniel Thompson
2014-08-18 18:30               ` Peter Hurley
2014-08-19  9:08                 ` Daniel Thompson
2014-08-19 11:58                   ` Peter Hurley
2014-08-19 12:51                     ` Daniel Thompson
2014-08-18 14:28             ` [PATCH v9 13/16] serial: asc: Add support for KGDB's FIQ/NMI mode Daniel Thompson
2014-08-18 14:28             ` [PATCH v9 14/16] serial: asc: Adopt readl_/writel_relaxed() Daniel Thompson
2014-08-18 14:28             ` [PATCH v9 15/16] serial: imx: clean up imx_poll_get_char() Daniel Thompson
2014-08-18 14:28             ` [PATCH v9 16/16] serial: imx: Add support for KGDB's FIQ/NMI mode Daniel Thompson
2014-08-18 17:32               ` Dirk Behme

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=53EC9404.5010908@linaro.org \
    --to=daniel.thompson@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).