ftp.nice.ch/pub/next/developer/languages/c/gcc.2.7.2.2.I.b.tar.gz#/lib/gcc-lib/i386-next-nextstep3/2.7.2.2.f.2/include/mach/sparc/exception.h

This is exception.h in view mode; [Download] [Up]

/*
 * Copyright (c) 1994 NeXT Computer, Inc.
 *
 * SPARC Family:	Machine dependent exception codes.
 *
 * HISTORY
 *
 * 21-Apr-1994 Mac Gillon at NeXT
 *	Created.
 */
 
#ifndef	_MACH_SPARC_EXCEPTION_H_
#define	_MACH_SPARC_EXCEPTION_H_


#import	<machdep/sparc/trap.h>

/*
 *	EXC_BAD_ACCESS
 *	Note: do not conflict with kern_return_t values returned by vm_fault
 */

/* to avoid clash with the kern_return.h values */
#define EXC_SPARC_BAD_ACCESS(x)		(0x300+x)

#define EXC_SPARC_TEXT_FAULT	EXC_SPARC_BAD_ACCESS(0x01)
/* same value for TEXT_ERROR */ 
#define EXC_SPARC_WIN_OVERFLOW	EXC_SPARC_BAD_ACCESS(0x02)
#define EXC_SPARC_WIN_UNDERFLOW	EXC_SPARC_BAD_ACCESS(0x03)
#define EXC_SPARC_ALIGNMENT	EXC_SPARC_BAD_ACCESS(0x04)
#define EXC_SPARC_DATA_FAULT	EXC_SPARC_BAD_ACCESS(0x05)
/* same value for DATA_ERROR */
#define EXC_SPARC_DATA_STORE	EXC_SPARC_BAD_ACCESS(0x06)
#define EXC_SPARC_DATA_MISS	EXC_SPARC_BAD_ACCESS(0x07)
#define EXC_SPARC_TEXT_MISS	EXC_SPARC_BAD_ACCESS(0x08)

#define	EXC_SPARC_BUS_HWERR	EXC_SPARC_BAD_ACCESS(0x09)
			/* misc hardware error (e.g. timeout) */
#define	EXC_SPARC_BUS_ALIGN	EXC_SPARC_BAD_ACCESS(0x0A)	
			/* hardware alignment error */
#define	EXC_SPARC_SEGV_NOMAP	EXC_SPARC_BAD_ACCESS(0x0B)	
			/* no mapping at the fault address */
#define	EXC_SPARC_SEGV_PROT	EXC_SPARC_BAD_ACCESS(0x0C)		
			/* access exceeded protections */
#define	EXC_SPARC_OBJERR	EXC_SPARC_BAD_ACCESS(0x0D)	
			/* object returned errno value */
#define EXC_SPARC_FP_DISABLED	EXC_SPARC_BAD_ACCESS(0x0E)
#define EXC_SPARC_CP_DISABLED	EXC_SPARC_BAD_ACCESS(0x0F)

/*
 *	EXC_BAD_INSTRUCTION
 */

#define EXC_SPARC_BAD_INST(x)		(0x500+x)

#define	EXC_SPARC_ILL_STACK		EXC_SPARC_BAD_INST(0x01)	
					/* bad stack */
#define	EXC_SPARC_ILL_ILLINSTR_FAULT	EXC_SPARC_BAD_INST(0x02	)
					/* illegal instruction fault */
#define	EXC_SPARC_ILL_PRIVINSTR_FAULT	EXC_SPARC_BAD_INST(0x03	)
					/* privileged instruction fault */



#define EXC_SPARC_UNIMP_INSTR		T_UNIMP_INSTR
#define EXC_SPARC_PRIV_INSTR		T_PRIV_INSTR
#define EXC_SPARC_UNIMP_FLUSH		T_UNIMP_FLUSH

/*
 *	EXC_ARITHMETIC
 */

#define EXC_SPARC_BAD_ARITH(x)		(0x600+x)

#define EXC_SPARC_FPE_INTOVF_TRAP	EXC_SPARC_BAD_ARITH(0x04)
					/* integer overflow */
#define EXC_SPARC_FPE_STARTSIG_TRAP	EXC_SPARC_BAD_ARITH(0x05)
					/* process using fp */
#define EXC_SPARC_FPE_INTDIV_TRAP	EXC_SPARC_BAD_ARITH(0x06)
					/* integer divide by zero */
#define EXC_SPARC_FPE_FLTINEX_TRAP	EXC_SPARC_BAD_ARITH(0x07)
					/* [floating inexact result] */
#define EXC_SPARC_FPE_FLTDIV_TRAP	EXC_SPARC_BAD_ARITH(0x08)
					/* [floating divide by zero] */
#define	EXC_SPARC_FPE_FLTUND_TRAP	EXC_SPARC_BAD_ARITH(0x09)
					/* [floating underflow] */
#define	EXC_SPARC_FPE_FLTOPERR_TRAP	EXC_SPARC_BAD_ARITH(0x0A)
					/* [floating operand error] */
#define	EXC_SPARC_FPE_FLTOVF_TRAP	EXC_SPARC_BAD_ARITH(0x0B)
					/* [floating overflow] */


#define EXC_SPARC_CP_EXCEPTION		T_CP_EXCEPTION
#define EXC_SPARC_FP_EXCEPTION		T_FP_EXCEPTION
#define EXC_SPARC_TAG_OVERFLOW	T_TAG_OVERFLOW
#define EXC_SPARC_IDIV0		T_IDIV0

/*
 *	EXC_BREAKPOINT
 */

#define EXC_SPARC_BREAKPOINT1	T_BREAKPOINT

/*
 *	EXC_SOFTWARE
 */

#define EXC_SPARC_SYSCALL	T_SYSCALL
#define EXC_SPARC_DIV0		T_DIV0
#define EXC_SPARC_FLUSH_WIN	T_FLUSH_WINDOWS
#define EXC_SPARC_CLEAN_WIN	T_CLEAN_WINDOWS
#define EXC_SPARC_RANGE_CHECK	T_RANGE_CHECK
#define EXC_SPARC_FIX_ALIGN	T_FIX_ALIGN
#define EXC_SPARC_INT_OVERFLOW	T_INT_OVERFLOW
#define EXC_SPARC_GETCC		T_GETCC
#define EXC_SPARC_SETCC		T_SETCC

#define EXC_SPARC_BAD_USYSCALL	0x700

#define EXC_SPARC_DEBUG		0x800

#endif

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.