cvs commit: src/sys/ia64/ia64 machdep.c trap.c
Marcel Moolenaar
marcel at FreeBSD.org
Sat Aug 7 17:28:07 PDT 2004
marcel 2004-08-08 00:28:07 UTC
FreeBSD src repository
Modified files:
sys/ia64/ia64 machdep.c trap.c
Log:
Implement single stepping when we leave the kernel through the EPC syscall
path. The basic problem is that we cannot set the single stepping flag
directly, because we don't leave the kernel via an interrupt return. So,
we need another way to set the single stepping flag.
The way we do this is by enabling the lower-privilege transfer trap, which
gets raised when we drop the privilege level. However, since we're still
running in kernel space (sec), we're not yet done. We clear the lower-
privilege transfer trap, enable the taken-branch trap and continue exiting
the kernel until we branch into user space.
Given the current code, there's a total of two traps this way before
we can raise SIGTRAP.
Revision Changes Path
1.182 +22 -2 src/sys/ia64/ia64/machdep.c
1.103 +41 -2 src/sys/ia64/ia64/trap.c
More information about the cvs-src
mailing list