Date: Wed, 15 May 1996 23:58:45 +1000 From: Bruce Evans <bde@zeta.org.au> To: asami@cs.berkeley.edu, bde@zeta.org.au Cc: ccd@stampede.cs.berkeley.edu, current@freebsd.org Subject: Re: some more on fast bcopy Message-ID: <199605151358.XAA22996@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
>Okay, I implemented this (I think) with the help of gcc -S, but I >still get "FPU not available" panics intermittently (often during >"make install"s). Here's the diff, can you please check and see if >something's wrong? It should work better with a kernel mode trap handler for "FPU not available" :-). Add a T_DNA case for kernel mode in trap() by copying the first 5 lines from the user mode T_DNA case (`break;' if npxdna() doesn't handle the panic (this "can't happen")). When you get everything working, add some tests and flags to restore the panic if an T_DNA trap occurs unexpectedly (set a flag FP_KERNEL_USING_FP in pcb->pcbflags while the kernel is using FP in fastmove() or elsewhere, and `break;' for the kernel T_DNA case if this flag isn't set). Also, the `intr_nesting_level > 0' case needs to preserve the TS bit. This case probably hasn't been executed yet (it will be executed when bcopy() uses fastmove() and an interrupt handler calls bcopy()). Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199605151358.XAA22996>