|
|
1.1 root 1: /*
2: * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
3: *
4: * @APPLE_LICENSE_HEADER_START@
5: *
6: * The contents of this file constitute Original Code as defined in and
7: * are subject to the Apple Public Source License Version 1.1 (the
8: * "License"). You may not use this file except in compliance with the
9: * License. Please obtain a copy of the License at
10: * http://www.apple.com/publicsource and read it before using this file.
11: *
12: * This Original Code and all software distributed under the License are
13: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
14: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
15: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
16: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
17: * License for the specific language governing rights and limitations
18: * under the License.
19: *
20: * @APPLE_LICENSE_HEADER_END@
21: */
22: /*
23: * @OSF_COPYRIGHT@
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:
52: /* STATUS - TODO - this is just transcribed from hp stuff */
53:
54: #define EXC_TYPES_COUNT 10 /* incl. illegal exception 0 */
55:
56: #define EXCEPTION_CODE_MAX 2 /* elements in vector (code+subcode) */
57: /*
58: * EXC_BAD_INSTRUCTION
59: */
60:
61: #define EXC_PPC_INVALID_SYSCALL 1 /* invalid syscall number */
62: #define EXC_PPC_UNIPL_INST 2 /* unimplemented instruction */
63: #define EXC_PPC_PRIVINST 3 /* priviledged instruction */
64: #define EXC_PPC_PRIVREG 4 /* priviledged register */
65: #define EXC_PPC_TRACE 5 /* trace/single-step */
66:
67: /*
68: * EXC_BAD_ACCESS
69: * Note: do not conflict with kern_return_t values returned by vm_fault
70: */
71:
72: #define EXC_PPC_VM_PROT_READ 0x101 /* error reading syscall args */
73: #define EXC_PPC_BADSPACE 0x102 /* bad space referenced */
74: #define EXC_PPC_UNALIGNED 0x103 /* unaligned data reference */
75:
76: /*
77: * EXC_ARITHMETIC
78: */
79:
80: #define EXC_PPC_OVERFLOW 1 /* integer overflow */
81: #define EXC_PPC_ZERO_DIVIDE 2 /* integer divide by zero */
82: #define EXC_PPC_FLT_INEXACT 3 /* IEEE inexact exception */
83: #define EXC_PPC_FLT_ZERO_DIVIDE 4 /* IEEE zero divide */
84: #define EXC_PPC_FLT_UNDERFLOW 5 /* IEEE floating underflow */
85: #define EXC_PPC_FLT_OVERFLOW 6 /* IEEE floating overflow */
86: #define EXC_PPC_FLT_NOT_A_NUMBER 7 /* IEEE not a number */
87:
88: /*
89: * EXC_PPC_NOEMULATION should go away when we add software emulation
90: * for floating point. Right now we don't support this.
91: */
92:
93: #define EXC_PPC_NOEMULATION 8 /* no floating point emulation */
94: #define EXC_PPC_ALTIVECASSIST 9 /* Altivec Denorm Assist */
95:
96: /*
97: * EXC_SOFTWARE
98: */
99: #define EXC_PPC_TRAP 1 /* Program trap */
100: #define EXC_PPC_MIGRATE 0x10100 /* Time to bolt */
101:
102:
103: /*
104: * EXC_BREAKPOINT
105: */
106:
107: #define EXC_PPC_BREAKPOINT EXC_PPC_TRAP /* breakpoint trap */
108:
109: /*
110: * machine dependent exception masks
111: */
112: #define EXC_MASK_MACHINE 0
113:
114: #endif /* _MACH_PPC_EXCEPTION_H_ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.