Initial commit
[wrt350n-kernel.git] / arch / mn10300 / kernel / mn10300-watchdog-low.S
blob996244745ccae8f8fe990cac2e34fd502eb0545d
1 ###############################################################################
3 # MN10300 Watchdog interrupt handler
5 # Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
6 # Written by David Howells (dhowells@redhat.com)
8 # This program is free software; you can redistribute it and/or
9 # modify it under the terms of the GNU General Public Licence
10 # as published by the Free Software Foundation; either version
11 # 2 of the Licence, or (at your option) any later version.
13 ###############################################################################
14 #include <linux/sys.h>
15 #include <linux/linkage.h>
16 #include <asm/intctl-regs.h>
17 #include <asm/timer-regs.h>
18 #include <asm/frame.inc>
20         .text
22 ###############################################################################
24 # Watchdog handler entry point
25 # - special non-maskable interrupt
27 ###############################################################################
28         .globl  watchdog_handler
29         .type   watchdog_handler,@function
30 watchdog_handler:
31         add     -4,sp
32         SAVE_ALL
34         mov     0xffffffff,d0
35         mov     d0,(REG_ORIG_D0,fp)
37         mov     fp,d0
38         lsr     2,d1
39         call    watchdog_interrupt[],0          # watchdog_interrupt(regs,irq)
41         jmp     ret_from_intr
43         .size   watchdog_handler,.-watchdog_handler
45 ###############################################################################
47 # Watchdog touch entry point
48 # - kept to absolute minimum (unfortunately, it's prototyped in linux/nmi.h so
49 #   we can't inline it)
51 ###############################################################################
52         .globl  touch_nmi_watchdog
53         .type   touch_nmi_watchdog,@function
54 touch_nmi_watchdog:
55         clr     d0
56         mov     d0,(watchdog_alert_counter)
57         ret     [],0
59         .size   touch_nmi_watchdog,.-touch_nmi_watchdog