Blame view

kernel/linux-rt-4.4.41/arch/arm/mach-orion5x/include/mach/entry-macro.S 769 Bytes
5113f6f70   김현기   kernel add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
  /*
   * arch/arm/mach-orion5x/include/mach/entry-macro.S
   *
   * Low-level IRQ helper macros for Orion platforms
   *
   * This file is licensed under the terms of the GNU General Public
   * License version 2.  This program is licensed "as is" without any
   * warranty of any kind, whether express or implied.
   */
  
  #include <mach/bridge-regs.h>
  
  	.macro  get_irqnr_preamble, base, tmp
  	ldr	\base, =MAIN_IRQ_CAUSE
  	.endm
  
  	.macro  get_irqnr_and_base, irqnr, irqstat, base, tmp
  	ldr	\irqstat, [\base, #0]		@ main cause
  	ldr	\tmp, [\base, #(MAIN_IRQ_MASK - MAIN_IRQ_CAUSE)] @ main mask
  	mov	\irqnr, #0			@ default irqnr
  	@ find cause bits that are unmasked
  	ands	\irqstat, \irqstat, \tmp	@ clear Z flag if any
  	clzne	\irqnr,	\irqstat		@ calc irqnr
  	rsbne	\irqnr, \irqnr, #32
  	.endm