trap.h 2.8 KB

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