home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / arm / mach-ixp2000 / include / mach / entry-macro.S < prev    next >
Encoding:
Text File  |  2008-12-24  |  1.3 KB  |  61 lines

  1. /*
  2.  * arch/arm/mach-ixp2000/include/mach/entry-macro.S
  3.  *
  4.  * Low-level IRQ helper macros for IXP2000-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. #include <mach/irqs.h>
  11.  
  12.         .macro  disable_fiq
  13.         .endm
  14.  
  15.         .macro  get_irqnr_preamble, base, tmp
  16.         .endm
  17.  
  18.         .macro  arch_ret_to_user, tmp1, tmp2
  19.         .endm
  20.  
  21.         .macro  get_irqnr_and_base, irqnr, irqstat, base, tmp
  22.  
  23.         mov    \irqnr, #0x0              @clear out irqnr as default
  24.                 mov    \base, #0xfe000000
  25.         orr    \base, \base, #0x00e00000
  26.         orr    \base, \base, #0x08
  27.         ldr    \irqstat, [\base]         @ get interrupts
  28.  
  29.         cmp    \irqstat, #0
  30.         beq    1001f
  31.  
  32.         clz     \irqnr, \irqstat
  33.         mov     \base, #31
  34.         subs    \irqnr, \base, \irqnr
  35.  
  36.         /*
  37.          * We handle PCIA and PCIB here so we don't have an
  38.          * extra layer of code just to check these two bits.
  39.          */
  40.         cmp    \irqnr, #IRQ_IXP2000_PCI
  41.         bne    1001f
  42.  
  43.         mov    \base, #0xfe000000
  44.         orr    \base, \base, #0x00c00000
  45.         orr    \base, \base, #0x00000100
  46.         orr    \base, \base, #0x00000058
  47.         ldr    \irqstat, [\base]
  48.  
  49.         mov    \tmp, #(1<<26)
  50.         tst    \irqstat, \tmp
  51.         movne    \irqnr, #IRQ_IXP2000_PCIA
  52.         bne    1001f
  53.  
  54.         mov    \tmp, #(1<<27)
  55.         tst    \irqstat, \tmp
  56.         movne    \irqnr, #IRQ_IXP2000_PCIB
  57.  
  58. 1001:
  59.         .endm
  60.  
  61.