/*
    Exception.h, Copyright  (c) by George Fankhauser,
    Swiss Federal Institute of Technology,
    Computer Engineering and Networks Laboratory.
 
    TOPSY -- A Teachable Operating System.
             Implementation of a tiny and simple
             micro kernel for teaching purposes.
 
    For further information, please visit http://www.tik.ee.ethz.ch/~topsy
 
    This software is provided under the terms of the GNU General Public Licence.
 
    A full copy of the GNU GPL is provided in the file COPYING found in the 
    development root of Topsy.
*/
/*
	
	File:                  $Source: /home/ruf/cvs_Topsy/cvs/Topsy/Topsy/mips/Exception.h,v $
 	Author(s):             George Fankhauser
 	Affiliation:           ETH Zuerich, TIK
 	Version:               $Revision: 2922 $
 	Creation Date:         
 	Last Date of Change:   $Date: 2007-03-19 17:48:52 +0100 (Mon, 19 Mär 2007) $      by: $Author: baderma $
	
	
*/
#ifndef _EXCEPTION_H_
#define _EXCEPTION_H_


typedef enum {
  CLOCKINT_0 = 0,
  CLOCKINT_1 = 1,
  ETHERTAPINT = 2,
  CENTRONICSINT = 3,
  FPGA_CARDINT = 4,
  DUARTINT = 5,
  SWINT_0 = 6,
  SWINT_1 = 7
} InterruptId;

/* R3000 defined exceptions (range from 0 to 31)
 */
typedef enum {
  HARDWARE_INT,
  TLB_MOD,
  TLB_LOAD,
  TLB_STORE,
  ADDR_ERR_LOAD,
  ADDR_ERR_STORE,
  BUSERR_INSTR,
  BUSERR_DATA,
  SYSCALL,
  BREAKPOINT,
  RES_INSTR,
  CP_UNUSABLE,
  OVERFLOW,
} ExceptionId;

#endif
