Date: Sat, 11 May 1996 20:45:46 +1000 From: Bruce Evans <bde@zeta.org.au> To: asami@cs.berkeley.edu, bde@zeta.org.au Cc: current@freebsd.org, nisha@cs.berkeley.edu Subject: Re: some more on fast bcopy Message-ID: <199605111045.UAA23181@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
> * It can't be interrupted, but it can go to sleep for handling a page > * fault. Then bad things may happen. >You mean they can get waken up in the wrong order and something >similar to what I said can happen? No, you lose control of the FPU when you go to sleep. Something may clobber the registers or turn off the TS bit. The latter caused the panic. > * if (intr_nesting_level > 0) { > * /* Save reentrantly the same as now. */ > * } else { > * if (npxproc != NULL) { > * assert(npxproc == curproc); > * fnsave(&curpcb->pcb_savefpu); > * npxproc = NULL; > * } > : >Um, I assume you are talking about /sys/i386/i386/swtch.s, can you No, this is in the copy routine. >somehow translate this into, say, assembly language? ;) My x86 >knowledge is not nearly enough for this kind of stuff.... gcc is good for translating C to asm :-). My pseudocode should almost compile to inline code if the macros in npx.c are used. Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199605111045.UAA23181>