The main point of this patch set is to add a watchdog driver for Octeon SOCs. There is however, some perperation that has to be done first. The first two patches add some instructions to the MIPS uasm that are needed by the watchdog. If we want the watchdog to be usable as a module we need to export the uasm APIs, prom_putchar and __cpu_*_map (third, forth and fifth patchs). The watch dog tests the c0_Status.NMI bit, so we define this in the sixth patch. That brings us to the grand finale, the watchdog driver itself. David Daney (7): MIPS: Add drotr32 and uasm_i_drotr_safe to uasm. MIPS: Add BBIT0 and BBIT1 instructions to uasm MIPS: Add option to export uasm API. MIPS: Octeon: Export prom_putchar(). MIPS: Export __cpu_number_map and __cpu_logical_map. MIPS: Define ST0_NMI in asm/mipsregs.h watchdog: Add watchdog driver for OCTEON SOCs. arch/mips/Kconfig | 3 + arch/mips/cavium-octeon/setup.c | 6 +- arch/mips/include/asm/mipsregs.h | 1 + arch/mips/include/asm/uasm.h | 51 ++- arch/mips/kernel/cpu-bugs64.c | 2 +- arch/mips/kernel/smp.c | 4 + arch/mips/mm/uasm.c | 162 ++++++--- drivers/watchdog/Kconfig | 18 + drivers/watchdog/Makefile | 2 + drivers/watchdog/octeon-wdt-main.c | 745 ++++++++++++++++++++++++++++++++++++ drivers/watchdog/octeon-wdt-nmi.S | 64 +++ 11 files changed, 990 insertions(+), 68 deletions(-) create mode 100644 drivers/watchdog/octeon-wdt-main.c create mode 100644 drivers/watchdog/octeon-wdt-nmi.S