This patchset adds a TTY, console, and KGDB driver for the MIPS Fast Debug Channel (FDC) hardware, for communicating with a debugger via an EJTAG probe. 16 TTY ports are created per FDC device, corresponding to the 16 FDC channels. Each VPE usually has its own FDC instance. This patchset depends on my recent CDMM bus patchset (the FDC is in the per-CPU CDMM region), and my recent MIPS timer & perf counter IRQ sharing patchset (the FDC IRQ is a local CPU IRQ which may similarly share CPU IRQ lines with the other local IRQs). Patches 1 to 6 add the necessary architecture bits for the FDC interrupt, and a workaround in the MIPS idle code to avoid the wait instruction on certain cores if FDC driver is enabled. Finally patches 7-9 add the main TTY/console driver, wire up some early console code, and implement KGDB operations & magic sysrq. Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxx> Cc: Jason Wessel <jason.wessel@xxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kgdb-bugreport@xxxxxxxxxxxxxxxxxxxxx James Hogan (9): MIPS: Add architectural FDC IRQ fields MIPS: Read CPU IRQ line that FDC to routed to irqchip: mips-gic: Don't treat FDC IRQ as percpu devid irqchip: mips-gic: Add function for retrieving FDC IRQ MIPS: Malta: Implement get_c0_fdc_int() MIPS: idle: Workaround wait + FDC problems tty: Add MIPS EJTAG Fast Debug Channel TTY driver MIPS, ttyFDC: Add early FDC console support ttyFDC: Implement KGDB IO operations. arch/mips/include/asm/cdmm.h | 11 + arch/mips/include/asm/irq.h | 3 + arch/mips/include/asm/mipsregs.h | 4 + arch/mips/kernel/idle.c | 13 +- arch/mips/kernel/setup.c | 2 + arch/mips/kernel/traps.c | 11 + arch/mips/mti-malta/malta-time.c | 16 + drivers/irqchip/irq-mips-gic.c | 38 +- drivers/tty/Kconfig | 47 ++ drivers/tty/Makefile | 1 + drivers/tty/mips_ejtag_fdc.c | 1303 ++++++++++++++++++++++++++++++++++++++ include/linux/irqchip/mips-gic.h | 1 + 12 files changed, 1443 insertions(+), 7 deletions(-) create mode 100644 drivers/tty/mips_ejtag_fdc.c -- 2.0.5