7176dd57e5
void after turning off BAT for the segment containing itself. The monster macro for the exception vector code was not really elegant besides being too long for the 32 byte performance monitor exception slot. Furthermore wasting three of the SPRG* registers as cheap scratch memory wasn't that nice either. We now have a three-step approach: The exception vectors themselves contain only five instructions which branch to common code at the beginning of the same physical page. That one sets up BAT for itself, turns address translation back on and jumps into the kernel. There we turn off BAT again, dump an iframe, and enter the actual exception handler (/dispatcher). Upon return the registers are restored from the iframe and we get back to the place where the exception occurred. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15881 a95241bf-73f2-0310-859d-f6bbb57e9c96 |
||
---|---|---|
.. | ||
build | ||
cpp | ||
glibc | ||
gnu | ||
legacy/network | ||
libs | ||
os | ||
posix | ||
private | ||
tools |