|
|
1.1 root 1: /*
2: * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
3: *
4: * @APPLE_LICENSE_HEADER_START@
5: *
6: * Portions Copyright (c) 1999 Apple Computer, Inc. All Rights
7: * Reserved. This file contains Original Code and/or Modifications of
8: * Original Code as defined in and that are subject to the Apple Public
9: * Source License Version 1.1 (the "License"). You may not use this file
10: * except in compliance with the License. Please obtain a copy of the
11: * License at http://www.apple.com/publicsource and read it before using
12: * this file.
13: *
14: * The Original Code and all software distributed under the License are
15: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
16: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
17: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
18: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
19: * License for the specific language governing rights and limitations
20: * under the License.
21: *
22: * @APPLE_LICENSE_HEADER_END@
23: */
24:
25: /*
26: * Copyright (c) 1990, 1991, 1992, The University of Utah and
27: * the Center for Software Science at the University of Utah (CSS).
28: * All rights reserved.
29: *
30: * Permission to use, copy, modify and distribute this software is hereby
31: * granted provided that (1) source code retains these copyright, permission,
32: * and disclaimer notices, and (2) redistributions including binaries
33: * reproduce the notices in supporting documentation, and (3) all advertising
34: * materials mentioning features or use of this software display the following
35: * acknowledgement: ``This product includes software developed by the Center
36: * for Software Science at the University of Utah.''
37: *
38: * THE UNIVERSITY OF UTAH AND CSS ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS
39: * IS" CONDITION. THE UNIVERSITY OF UTAH AND CSS DISCLAIM ANY LIABILITY OF
40: * ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
41: *
42: * CSS requests users of this software to return to [email protected] any
43: * improvements that they make and grant CSS redistribution rights.
44: *
45: * Utah $Hdr: $
46: */
47:
48: #ifndef _MACH_PPC_EXCEPTION_H_
49: #define _MACH_PPC_EXCEPTION_H_
50:
51: #define EXC_TYPES_COUNT 10 /* incl. illegal exception 0 */
52:
53: #define EXCEPTION_CODE_MAX 2 /* elements in vector (code+subcode) */
54: /*
55: * EXC_BAD_INSTRUCTION
56: */
57:
58: #define EXC_PPC_INVALID_SYSCALL 1 /* invalid syscall number */
59: #define EXC_PPC_UNIPL_INST 2 /* unimplemented instruction */
60: #define EXC_PPC_PRIVINST 3 /* priviledged instruction */
61: #define EXC_PPC_PRIVREG 4 /* priviledged register */
62: #define EXC_PPC_TRACE 5 /* trace/single-step */
63:
64: /*
65: * EXC_BAD_ACCESS
66: * Note: do not conflict with kern_return_t values returned by vm_fault
67: */
68:
69: #define EXC_PPC_VM_PROT_READ 0x101 /* error reading syscall args */
70: #define EXC_PPC_BADSPACE 0x102 /* bad space referenced */
71: #define EXC_PPC_UNALIGNED 0x103 /* unaligned data reference */
72:
73: /*
74: * EXC_ARITHMETIC
75: */
76:
77: #define EXC_PPC_OVERFLOW 1 /* integer overflow */
78: #define EXC_PPC_ZERO_DIVIDE 2 /* integer divide by zero */
79: #define EXC_PPC_FLT_INEXACT 3 /* IEEE inexact exception */
80: #define EXC_PPC_FLT_ZERO_DIVIDE 4 /* IEEE zero divide */
81: #define EXC_PPC_FLT_UNDERFLOW 5 /* IEEE floating underflow */
82: #define EXC_PPC_FLT_OVERFLOW 6 /* IEEE floating overflow */
83: #define EXC_PPC_FLT_NOT_A_NUMBER 7 /* IEEE not a number */
84:
85: /*
86: * EXC_PPC_NOEMULATION should go away when we add software emulation
87: * for floating point. Right now we don't support this.
88: */
89:
90: #define EXC_PPC_NOEMULATION 8 /* no floating point emulation */
91:
92:
93: /*
94: * EXC_SOFTWARE
95: */
96: #define EXC_PPC_MIGRATE 0x10100 /* Time to bolt */
97:
98:
99: /*
100: * EXC_BREAKPOINT
101: */
102:
103: #define EXC_PPC_BREAKPOINT 1 /* breakpoint trap */
104:
105: /*
106: * machine dependent exception masks
107: */
108: #define EXC_MASK_MACHINE 0
109:
110:
111: /* from MACH 3.0 mach_kernel/mach/exception.h */
112: #include <mach/ppc/vm_types.h>
113: #ifndef __ASSEMBLER__
114: typedef integer_t exception_data_type_t;
115: #endif /* __ASSEMBLER__ */
116:
117: #endif /* _MACH_PPC_EXCEPTION_H_ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.