entry-armv.S (b22364c8eec89e6b0c081a237f3b6348df87796f) entry-armv.S (f80dff9da07d81da16e3b842118d47b9febf9c01)
1/*
2 * linux/arch/arm/kernel/entry-armv.S
3 *
4 * Copyright (C) 1996,1997,1998 Russell King.
5 * ARM700 fix by Matthew Godbolt (linux-user@willothewisp.demon.co.uk)
6 * nommu support by Hyok S. Choi (hyok.choi@samsung.com)
7 *
8 * This program is free software; you can redistribute it and/or modify

--- 13 unchanged lines hidden (view full) ---

22#include <asm/thread_notify.h>
23
24#include "entry-header.S"
25
26/*
27 * Interrupt handling. Preserves r7, r8, r9
28 */
29 .macro irq_handler
1/*
2 * linux/arch/arm/kernel/entry-armv.S
3 *
4 * Copyright (C) 1996,1997,1998 Russell King.
5 * ARM700 fix by Matthew Godbolt (linux-user@willothewisp.demon.co.uk)
6 * nommu support by Hyok S. Choi (hyok.choi@samsung.com)
7 *
8 * This program is free software; you can redistribute it and/or modify

--- 13 unchanged lines hidden (view full) ---

22#include <asm/thread_notify.h>
23
24#include "entry-header.S"
25
26/*
27 * Interrupt handling. Preserves r7, r8, r9
28 */
29 .macro irq_handler
30 get_irqnr_preamble r5, lr
301: get_irqnr_and_base r0, r6, r5, lr
31 movne r1, sp
32 @
33 @ routine called with r0 = irq number, r1 = struct pt_regs *
34 @
35 adrne lr, 1b
36 bne asm_do_IRQ
37

--- 56 unchanged lines hidden (view full) ---

94 ldmia r0, {r4 - r6}
95 add r0, sp, #S_PC @ here for interlock avoidance
96 mov r7, #-1 @ "" "" "" ""
97 str r4, [sp] @ save preserved r0
98 stmia r0, {r5 - r7} @ lr_<exception>,
99 @ cpsr_<exception>, "old_r0"
100
101 mov r0, sp
311: get_irqnr_and_base r0, r6, r5, lr
32 movne r1, sp
33 @
34 @ routine called with r0 = irq number, r1 = struct pt_regs *
35 @
36 adrne lr, 1b
37 bne asm_do_IRQ
38

--- 56 unchanged lines hidden (view full) ---

95 ldmia r0, {r4 - r6}
96 add r0, sp, #S_PC @ here for interlock avoidance
97 mov r7, #-1 @ "" "" "" ""
98 str r4, [sp] @ save preserved r0
99 stmia r0, {r5 - r7} @ lr_<exception>,
100 @ cpsr_<exception>, "old_r0"
101
102 mov r0, sp
102 and r2, r6, #0x1f
103 b bad_mode
104
105/*
106 * SVC mode handlers
107 */
108
109#if defined(CONFIG_AEABI) && (__LINUX_ARM_ARCH__ >= 5)
110#define SPFIX(code...) code

--- 972 unchanged lines hidden ---
103 b bad_mode
104
105/*
106 * SVC mode handlers
107 */
108
109#if defined(CONFIG_AEABI) && (__LINUX_ARM_ARCH__ >= 5)
110#define SPFIX(code...) code

--- 972 unchanged lines hidden ---