1/* 2 * Generic interrupt handler for Broadcom MIPS boards 3 * 4 * Copyright (C) 2013, Broadcom Corporation. All Rights Reserved. 5 * 6 * Permission to use, copy, modify, and/or distribute this software for any 7 * purpose with or without fee is hereby granted, provided that the above 8 * copyright notice and this permission notice appear in all copies. 9 * 10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 13 * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 15 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 16 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 * 18 * $Id: int-handler.S,v 1.2 2011-01-05 20:10:37 $ 19 */ 20 21#include <linux/config.h> 22 23#include <asm/asm.h> 24#include <asm/mipsregs.h> 25#include <asm/regdef.h> 26#include <asm/stackframe.h> 27 28/* 29 * MIPS IRQ Source 30 * -------- ------ 31 * 0 Software (ignored) 32 * 1 Software (ignored) 33 * 2 Combined hardware interrupt (hw0) 34 * 3 Hardware 35 * 4 Hardware 36 * 5 Hardware 37 * 6 Hardware 38 * 7 R4k timer 39 */ 40 41 .text 42 .section .text.fastpath, "a" 43 .set noreorder 44 .set noat 45 .align 5 46 NESTED(brcmIRQ, PT_SIZE, sp) 47 SAVE_ALL 48 CLI 49 .set at 50 .set noreorder 51 52 jal plat_irq_dispatch 53 move a0, sp 54 55 j ret_from_irq 56 nop 57 58 END(brcmIRQ) 59