diff options
author | peter <peter@FreeBSD.org> | 2003-05-08 08:25:51 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2003-05-08 08:25:51 +0000 |
commit | 5596d2cb7edd2eba69b730a5f6d1b4231c912b87 (patch) | |
tree | 068f31415a939896ccfe864a0d51fbe3effc7f7d /lib/libc/sparc64 | |
parent | 2ed5055d26dad344fbe651b361efb7697ae3de0b (diff) | |
download | FreeBSD-src-5596d2cb7edd2eba69b730a5f6d1b4231c912b87.zip FreeBSD-src-5596d2cb7edd2eba69b730a5f6d1b4231c912b87.tar.gz |
Oops. Turn T_PAGEFLT back into an interrupt gate. It is *critical*
that interrupts be disabled and remain disabled until %cr2 is read.
Otherwise we can preempt and another process can fault, and by the
time we read %cr2, we see a different processes fault address. This
Greatly Confuses vm_fault() (to say the least). The i386 port has
got this marked as a bug workaround for a Cyrix CPU, which is what
lead me astray. Its actually necessary for preemption, regardless
of whether Cyrix cpus had a bug or not.
Diffstat (limited to 'lib/libc/sparc64')
0 files changed, 0 insertions, 0 deletions