diff options
author | marcel <marcel@FreeBSD.org> | 2004-03-21 01:41:29 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2004-03-21 01:41:29 +0000 |
commit | 51e25854554afb1f8b8ac4612f655e4549758b94 (patch) | |
tree | be1076034d3d67296197e82ce3cca51520cf92e8 | |
parent | 52b4c49f116bb3369b5497e0c01cc38cf3637968 (diff) | |
download | FreeBSD-src-51e25854554afb1f8b8ac4612f655e4549758b94.zip FreeBSD-src-51e25854554afb1f8b8ac4612f655e4549758b94.tar.gz |
In breakpoint(), use a different immediate to make sure we can
distinguish between debugger inserted breakpoints and fixed
breakpoints. While here, make sure the break instruction never
ends up in the last slot of a bundle by forcing it to be an
M-unit instruction. This makes it easier for use to skip over
it.
-rw-r--r-- | sys/ia64/include/cpufunc.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/ia64/include/cpufunc.h b/sys/ia64/include/cpufunc.h index 55a238a..ca48e0b 100644 --- a/sys/ia64/include/cpufunc.h +++ b/sys/ia64/include/cpufunc.h @@ -37,15 +37,16 @@ struct thread; +#define IA64_FIXED_BREAK 0x84B5D + #ifdef __GNUC__ static __inline void breakpoint(void) { - __asm __volatile("break 0x80100"); /* XXX use linux value */ + __asm __volatile("break.m %0" :: "i"(IA64_FIXED_BREAK)); } - #define HAVE_INLINE_FFS static __inline int |