• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/include/asm-arm/arch-sa1100/
1/*
2 * include/asm-arm/arch-sa1100/entry-macro.S
3 *
4 * Low-level IRQ helper macros for SA1100-based platforms
5 *
6 * This file is licensed under  the terms of the GNU General Public
7 * License version 2. This program is licensed "as is" without any
8 * warranty of any kind, whether express or implied.
9 */
10
11 		.macro	disable_fiq
12		.endm
13
14		.macro  get_irqnr_preamble, base, tmp
15		mov	\base, #0xfa000000		@ ICIP = 0xfa050000
16		add	\base, \base, #0x00050000
17		.endm
18
19		.macro  arch_ret_to_user, tmp1, tmp2
20		.endm
21
22		.macro	get_irqnr_and_base, irqnr, irqstat, base, tmp
23		ldr	\irqstat, [\base]		@ get irqs
24		ldr	\irqnr, [\base, #4]		@ ICMR = 0xfa050004
25		ands	\irqstat, \irqstat, \irqnr
26		mov	\irqnr, #0
27		beq	1001f
28		tst	\irqstat, #0xff
29		moveq	\irqstat, \irqstat, lsr #8
30		addeq	\irqnr, \irqnr, #8
31		tsteq	\irqstat, #0xff
32		moveq	\irqstat, \irqstat, lsr #8
33		addeq	\irqnr, \irqnr, #8
34		tsteq	\irqstat, #0xff
35		moveq	\irqstat, \irqstat, lsr #8
36		addeq	\irqnr, \irqnr, #8
37		tst	\irqstat, #0x0f
38		moveq	\irqstat, \irqstat, lsr #4
39		addeq	\irqnr, \irqnr, #4
40		tst	\irqstat, #0x03
41		moveq	\irqstat, \irqstat, lsr #2
42		addeq	\irqnr, \irqnr, #2
43		tst	\irqstat, #0x01
44		addeqs	\irqnr, \irqnr, #1
451001:
46		.endm
47