Annotation of sys/arch/arm/include/trap.h, Revision 1.1.1.1
1.1 nbrk 1: /* $OpenBSD: trap.h,v 1.1 2004/02/01 05:09:49 drahn Exp $ */
2: /* $NetBSD: trap.h,v 1.4 2003/04/28 01:54:50 briggs Exp $ */
3:
4: /*
5: * Copyright (c) 1995 Mark Brinicombe.
6: * All rights reserved.
7: *
8: * Redistribution and use in source and binary forms, with or without
9: * modification, are permitted provided that the following conditions
10: * are met:
11: * 1. Redistributions of source code must retain the above copyright
12: * notice, this list of conditions and the following disclaimer.
13: * 2. Redistributions in binary form must reproduce the above copyright
14: * notice, this list of conditions and the following disclaimer in the
15: * documentation and/or other materials provided with the distribution.
16: * 3. All advertising materials mentioning features or use of this software
17: * must display the following acknowledgement:
18: * This product includes software developed by Mark Brinicombe.
19: * 4. The name of the company nor the name of the author may be used to
20: * endorse or promote products derived from this software without specific
21: * prior written permission.
22: *
23: * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
24: * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
25: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
26: * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
27: * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
28: * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
29: * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33: * SUCH DAMAGE.
34: *
35: * RiscBSD kernel project
36: *
37: * trap.h
38: *
39: * Various trap definitions
40: */
41:
42: /*
43: * Instructions used for breakpoints.
44: *
45: * These are undefined instructions.
46: * Technically the userspace breakpoint could be a SWI but we want to
47: * keep this the same as IPKDB which needs an undefined instruction as
48: * a break point.
49: *
50: * Ideally ARM would define several standard instruction sequences for
51: * use as breakpoints.
52: *
53: * The BKPT instruction isn't much use to us, since its behaviour is
54: * unpredictable on ARMv3 and lower.
55: *
56: * The ARM ARM says that for maximum compatibility, we should use undefined
57: * instructions that look like 0x.7f...f. .
58: */
59:
60: #define GDB_BREAKPOINT 0xe6000011 /* Used by GDB 4.x */
61: #define IPKDB_BREAKPOINT 0xe6000010 /* Used by IPKDB */
62: #define GDB5_BREAKPOINT 0xe7ffdefe /* Used by GDB 5.0 */
63: #define KERNEL_BREAKPOINT 0xe7ffffff /* Used by DDB */
64:
65: #define KBPT_ASM ".word 0xe7ffdefe"
66:
67: #define USER_BREAKPOINT GDB_BREAKPOINT
68:
69: #define T_FAULT 1
70:
71: /* End of trap.h */
CVSweb