source: rtems/c/src/lib/libcpu/arm/s3c24xx/irq/bsp_irq_asm.S @ 3ed964f9

4.104.115
Last change on this file since 3ed964f9 was c193baad, checked in by Thomas Doerfler <Thomas.Doerfler@…>, on 04/09/10 at 20:24:57

unify irq data types and code, merge s3c2400/s3c2410 support

  • Property mode set to 100644
File size: 1011 bytes
Line 
1/* bsp_irq_asm.S
2 *
3 *  This file contains the implementation of the IRQ handler
4 *  for a specific BSP
5 *
6 *  CopyRight (C) 2000 Canon Research France SA.
7 *  Emmanuel Raguet,  mailto:raguet@crf.canon.fr
8 *
9 * merged to common file for s32400 and s32410 by Thomas Doerfler, embedded brains
10 *
11 *  The license and distribution terms for this file may be
12 *  found in found in the file LICENSE in this distribution or at
13 *  http://www.rtems.com/license/LICENSE.
14 *
15 *  $Id$
16 */
17
18#include <s3c24xx.h>
19
20/*
21 * Function to obtain, execute an IT handler and acknowledge the IT
22 */
23
24        .globl bsp_interrupt_dispatch
25
26bsp_interrupt_dispatch :
27
28        ldr     r0, =rINTOFFSET_ADDR /* Read rINTOFFSET */
29        ldr     r1, [r0]
30
31        ldr     r0, =bsp_vector_table
32        ldr     r0, [r0, r1, LSL #2]    /* Read the address */
33
34        stmdb     sp!,{lr}
35        ldr     lr, =IRQ_return         /* prepare the return from handler  */
36
37        mov pc, r0
38
39IRQ_return:
40        ldmia sp!,{lr}
41
42        mov pc, lr
Note: See TracBrowser for help on using the repository browser.