Date: Sun, 8 Aug 2004 00:28:07 +0000 (UTC) From: Marcel Moolenaar <marcel@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/ia64/ia64 machdep.c trap.c Message-ID: <200408080028.i780S7jd082515@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200408080028.i780S7jd082515>