1/* 2 * (C) Copyright 2007 Michal Simek 3 * 4 * Michal SIMEK <monstr@monstr.eu> 5 * 6 * See file CREDITS for list of people who contributed to this 7 * project. 8 * 9 * This program is free software; you can redistribute it and/or 10 * modify it under the terms of the GNU General Public License as 11 * published by the Free Software Foundation; either version 2 of 12 * the License, or (at your option) any later version. 13 * 14 * This program is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU General Public License for more details. 18 * 19 * You should have received a copy of the GNU General Public License 20 * along with this program; if not, write to the Free Software 21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 22 * MA 02111-1307 USA 23 */ 24 25#include <config.h> 26#include <asm/asm.h> 27 .text 28 .global _interrupt_handler 29_interrupt_handler: 30 swi r2, r1, -4 31 swi r3, r1, -8 32 swi r4, r1, -12 33 swi r5, r1, -16 34 swi r6, r1, -20 35 swi r7, r1, -24 36 swi r8, r1, -28 37 swi r9, r1, -32 38 swi r10, r1, -36 39 swi r11, r1, -40 40 swi r12, r1, -44 41 swi r13, r1, -48 42 swi r14, r1, -52 43 swi r15, r1, -56 44 swi r16, r1, -60 45 swi r17, r1, -64 46 swi r18, r1, -68 47 swi r19, r1, -72 48 swi r20, r1, -76 49 swi r21, r1, -80 50 swi r22, r1, -84 51 swi r23, r1, -88 52 swi r24, r1, -92 53 swi r25, r1, -96 54 swi r26, r1, -100 55 swi r27, r1, -104 56 swi r28, r1, -108 57 swi r29, r1, -112 58 swi r30, r1, -116 59 swi r31, r1, -120 60 addik r1, r1, -124 61 brlid r15, interrupt_handler 62 nop 63 addik r1, r1, 124 64 lwi r31, r1, -120 65 lwi r30, r1, -116 66 lwi r29, r1, -112 67 lwi r28, r1, -108 68 lwi r27, r1, -104 69 lwi r26, r1, -100 70 lwi r25, r1, -96 71 lwi r24, r1, -92 72 lwi r23, r1, -88 73 lwi r22, r1, -84 74 lwi r21, r1, -80 75 lwi r20, r1, -76 76 lwi r19, r1, -72 77 lwi r18, r1, -68 78 lwi r17, r1, -64 79 lwi r16, r1, -60 80 lwi r15, r1, -56 81 lwi r14, r1, -52 82 lwi r13, r1, -48 83 lwi r12, r1, -44 84 lwi r11, r1, -40 85 lwi r10, r1, -36 86 lwi r9, r1, -32 87 lwi r8, r1, -28 88 lwi r7, r1, -24 89 lwi r6, r1, -20 90 lwi r5, r1, -16 91 lwi r4, r1, -12 92 lwi r3, r1, -8 93 lwi r2, r1, -4 94 95 rtid r14, 0 96 nop 97 .size _interrupt_handler,.-_interrupt_handler 98