From: Jun S. <ju...@us...> - 2001-10-08 21:50:46
|
Update of /cvsroot/linux-mips/linux/arch/mips/vr4122/common In directory usw-pr-cvs1:/tmp/cvs-serv6614 Modified Files: Makefile Added Files: int-handler.S Log Message: This check in at least makes Linux build for Eagle board. --- NEW FILE: int-handler.S --- /* * BRIEF MODULE DESCRIPTION * Interrupt dispatcher for NEC Vr4122 CPU core. * * Copyright 2001 MontaVista Software Inc. * Author Yoichi Yuasa * yy...@mv... or so...@mv... * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <asm/asm.h> #include <asm/regdef.h> #include <asm/mipsregs.h> #include <asm/stackframe.h> .text .set noreorder .align 5 NESTED(vr4122_handle_int, PT_SIZE, ra) .set noat SAVE_ALL CLI .set at .set noreorder /* * Get the pending interrupts */ mfc0 t0, CP0_CAUSE mfc0 t1, CP0_STATUS andi t0, 0xff00 and t0, t0, t1 andi t1, t0, CAUSEF_IP7 # timer interrupt beqz t1, 1f li a0, 7 jal ll_timer_interrupt move a1, sp j ret_from_irq 1: andi t1, t0, 0x7800 # check for IP3-6 beqz t1, 2f andi t1, t0, CAUSEF_IP3 # check for IP3 bnez t1, handle_it li a0, 3 andi t1, t0, CAUSEF_IP4 # check for IP4 bnez t1, handle_it li a0, 4 andi t1, t0, CAUSEF_IP5 # check for IP5 bnez t1, handle_it li a0, 5 andi t1, t0, CAUSEF_IP6 # check for IP6 bnez t1, handle_it li a0, 6 2: andi t1, t0, CAUSEF_IP2 # check for IP2 beqz t1, 3f move a0, sp jal int0_icu_irqdispatch nop j ret_from_irq nop 3: andi t1, t0, CAUSEF_IP0 # check for IP0 bnez t1, handle_it li a0, 0 andi t1, t0, CAUSEF_IP1 # check for IP1 bnez t1, handle_it li a0, 1 j spurious_interrupt nop handle_it: jal do_IRQ move a1, sp j ret_from_irq END(vr4122_handle_int) Index: Makefile =================================================================== RCS file: /cvsroot/linux-mips/linux/arch/mips/vr4122/common/Makefile,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- Makefile 2001/10/08 16:51:28 1.2 +++ Makefile 2001/10/08 21:50:42 1.3 @@ -25,6 +25,4 @@ obj-$(CONFIG_PCI) += pci.o obj-$(CONFIG_REMOTE_DEBUG) += dbg_io.o -int-handler.o: int-handler.S - include $(TOPDIR)/Rules.make |