summaryrefslogtreecommitdiffstats
path: root/games
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2004-08-08 00:28:07 +0000
committermarcel <marcel@FreeBSD.org>2004-08-08 00:28:07 +0000
commitee3caa0d62d47ad27c287d6311aa5899c9e9aaf9 (patch)
tree7bb6c5891d36bcca258b453e41e88329c47e74c3 /games
parent04b83a573c862a789f0b6f20788b4f78aa3504f6 (diff)
downloadFreeBSD-src-ee3caa0d62d47ad27c287d6311aa5899c9e9aaf9.zip
FreeBSD-src-ee3caa0d62d47ad27c287d6311aa5899c9e9aaf9.tar.gz
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.
Diffstat (limited to 'games')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud