#if defined(JAZZ) && defined(R4000) /*++ Copyright (c) 1990 Microsoft Corporation Module Name: j4inter.s Abstract: This module contains the interrupt dispatcher and various interrupt routines for the selftest. The exception dispatcher resides in rom because the BEV bit in the psr is set. Author: Lluis Abello (lluis) 8-May-91 Environment: Executes in kernal mode. Revision History: --*/ #include "led.h" #include "ksmips.h" #include "selfmap.h" #include "dmaregs.h" #ifdef DUO #include #else #include #endif // // PROM entry point definitions. // Define base address of prom entry vector and prom entry macro. // #define PROM_BASE (KSEG1_BASE | 0x1fc00000) #define PROM_ENTRY(x) (PROM_BASE + ((x) * 8)) #define PutLedDisplay PROM_ENTRY(14) #ifdef DUO // // Interrupt indexes in the cause register // #define SOFT0_INT 0 // software int 0 #define SOFT1_INT 1 // software int 1 #define DMA_INT 2 // hardware int 0 #define DEVICE_INT 3 // hardware int 1 #define EISA_INT 4 // hardware int 2 #define TIMER_INT 5 // hardware int 3 #define IP_INT 6 // hardware int 4 #define R400_TIMER_INT 7 // hardware int 5 #else // // Interrupt indexes in the cause register // #define SOFT0_INT 0 // software int 0 #define SOFT1_INT 1 // software int 1 #define DMA_INT 2 // hardware int 0 #define DEVICE_INT 3 // hardware int 1 #define EISA_INT 4 // hardware int 2 #define EISA_NMI_INT 5 // hardware int 3 #define TIMER_INT 6 // hardware int 4 #define R400_TIMER_INT 7 // hardware int 5 #endif // // Interrupt mask, to enable just the desired interrupts. // #define INT_MASK ((1<