1 | /*␊ |
2 | * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.␊ |
3 | *␊ |
4 | * @APPLE_OSREFERENCE_LICENSE_HEADER_START@␊ |
5 | * ␊ |
6 | * This file contains Original Code and/or Modifications of Original Code␊ |
7 | * as defined in and that are subject to the Apple Public Source License␊ |
8 | * Version 2.0 (the 'License'). You may not use this file except in␊ |
9 | * compliance with the License. The rights granted to you under the License␊ |
10 | * may not be used to create, or enable the creation or redistribution of,␊ |
11 | * unlawful or unlicensed copies of an Apple operating system, or to␊ |
12 | * circumvent, violate, or enable the circumvention or violation of, any␊ |
13 | * terms of an Apple operating system software license agreement.␊ |
14 | * ␊ |
15 | * Please obtain a copy of the License at␊ |
16 | * http://www.opensource.apple.com/apsl/ and read it before using this file.␊ |
17 | * ␊ |
18 | * The Original Code and all software distributed under the License are␊ |
19 | * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER␊ |
20 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,␊ |
21 | * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,␊ |
22 | * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.␊ |
23 | * Please see the License for the specific language governing rights and␊ |
24 | * limitations under the License.␊ |
25 | * ␊ |
26 | * @APPLE_OSREFERENCE_LICENSE_HEADER_END@␊ |
27 | */␊ |
28 | /*␊ |
29 | * @OSF_COPYRIGHT@␊ |
30 | */␊ |
31 | /* ␊ |
32 | * Mach Operating System␊ |
33 | * Copyright (c) 1991,1990,1989,1988 Carnegie Mellon University␊ |
34 | * All Rights Reserved.␊ |
35 | * ␊ |
36 | * Permission to use, copy, modify and distribute this software and its␊ |
37 | * documentation is hereby granted, provided that both the copyright␊ |
38 | * notice and this permission notice appear in all copies of the␊ |
39 | * software, derivative works or modified versions, and any portions␊ |
40 | * thereof, and that both notices appear in supporting documentation.␊ |
41 | * ␊ |
42 | * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"␊ |
43 | * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR␊ |
44 | * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.␊ |
45 | * ␊ |
46 | * Carnegie Mellon requests users of this software to return to␊ |
47 | * ␊ |
48 | * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU␊ |
49 | * School of Computer Science␊ |
50 | * Carnegie Mellon University␊ |
51 | * Pittsburgh PA 15213-3890␊ |
52 | * ␊ |
53 | * any improvements or extensions that they make and grant Carnegie Mellon␊ |
54 | * the rights to redistribute these changes.␊ |
55 | */␊ |
56 | /*␊ |
57 | */␊ |
58 | ␊ |
59 | #ifndef␉_MACH_I386_EXCEPTION_H_␊ |
60 | #define _MACH_I386_EXCEPTION_H_␊ |
61 | ␊ |
62 | /*␊ |
63 | * No machine dependent types for the 80386␊ |
64 | */␊ |
65 | ␊ |
66 | #define␉EXC_TYPES_COUNT␉11␉/* incl. illegal exception 0 */␊ |
67 | ␊ |
68 | /*␊ |
69 | *␉Codes and subcodes for 80386 exceptions.␊ |
70 | */␊ |
71 | ␊ |
72 | #define EXCEPTION_CODE_MAX␉2␉/* currently code and subcode */␊ |
73 | ␊ |
74 | /*␊ |
75 | *␉EXC_BAD_INSTRUCTION␊ |
76 | */␊ |
77 | ␊ |
78 | #define EXC_I386_INVOP␉␉␉1␊ |
79 | ␊ |
80 | /*␊ |
81 | *␉EXC_ARITHMETIC␊ |
82 | */␊ |
83 | ␊ |
84 | #define EXC_I386_DIV␉␉␉1␊ |
85 | #define EXC_I386_INTO␉␉␉2␊ |
86 | #define EXC_I386_NOEXT␉␉␉3␊ |
87 | #define EXC_I386_EXTOVR␉␉␉4␊ |
88 | #define EXC_I386_EXTERR␉␉␉5␊ |
89 | #define EXC_I386_EMERR␉␉␉6␊ |
90 | #define EXC_I386_BOUND␉␉␉7␊ |
91 | #define EXC_I386_SSEEXTERR 8␊ |
92 | ␊ |
93 | /*␊ |
94 | *␉EXC_SOFTWARE␊ |
95 | *␉Note: 0x10000-0x10003 in use for unix signal␊ |
96 | */␊ |
97 | ␊ |
98 | /*␊ |
99 | *␉EXC_BAD_ACCESS␊ |
100 | */␊ |
101 | ␊ |
102 | /*␊ |
103 | *␉EXC_BREAKPOINT␊ |
104 | */␊ |
105 | ␊ |
106 | #define EXC_I386_SGL␉␉␉1␊ |
107 | #define EXC_I386_BPT␉␉␉2␊ |
108 | ␊ |
109 | #define EXC_I386_DIVERR␉␉0␉/* divide by 0 eprror␉␉*/␊ |
110 | #define EXC_I386_SGLSTP␉␉1␉/* single step␉␉␉*/␊ |
111 | #define EXC_I386_NMIFLT␉␉2␉/* NMI␉␉␉␉*/␊ |
112 | #define EXC_I386_BPTFLT␉␉3␉/* breakpoint fault␉␉*/␊ |
113 | #define EXC_I386_INTOFLT␉4␉/* INTO overflow fault␉␉*/␊ |
114 | #define EXC_I386_BOUNDFLT␉5␉/* BOUND instruction fault␉*/␊ |
115 | #define EXC_I386_INVOPFLT␉6␉/* invalid opcode fault␉␉*/␊ |
116 | #define EXC_I386_NOEXTFLT␉7␉/* extension not available fault*/␊ |
117 | #define EXC_I386_DBLFLT␉␉8␉/* double fault␉␉␉*/␊ |
118 | #define EXC_I386_EXTOVRFLT␉9␉/* extension overrun fault␉*/␊ |
119 | #define EXC_I386_INVTSSFLT␉10␉/* invalid TSS fault␉␉*/␊ |
120 | #define EXC_I386_SEGNPFLT␉11␉/* segment not present fault␉*/␊ |
121 | #define EXC_I386_STKFLT␉␉12␉/* stack fault␉␉␉*/␊ |
122 | #define EXC_I386_GPFLT␉␉13␉/* general protection fault␉*/␊ |
123 | #define EXC_I386_PGFLT␉␉14␉/* page fault␉␉␉*/␊ |
124 | #define EXC_I386_EXTERRFLT␉16␉/* extension error fault␉*/␊ |
125 | #define␉EXC_I386_ALIGNFLT␉17␉/* Alignment fault */␊ |
126 | #define EXC_I386_ENDPERR␉33␉/* emulated extension error flt␉*/␊ |
127 | #define EXC_I386_ENOEXTFLT␉32␉/* emulated ext not present␉*/␊ |
128 | ␊ |
129 | ␊ |
130 | /*␊ |
131 | *␉machine dependent exception masks␊ |
132 | */␊ |
133 | #define␉EXC_MASK_MACHINE␉0␊ |
134 | ␊ |
135 | #endif␉/* _MACH_I386_EXCEPTION_H_ */␊ |
136 | |