From owner-freebsd-current Sat May 18 11:51:33 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id LAA13881 for current-outgoing; Sat, 18 May 1996 11:51:33 -0700 (PDT) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id LAA13876 for ; Sat, 18 May 1996 11:51:29 -0700 (PDT) Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.12/8.6.9) id EAA11220; Sun, 19 May 1996 04:48:05 +1000 Date: Sun, 19 May 1996 04:48:05 +1000 From: Bruce Evans Message-Id: <199605181848.EAA11220@godzilla.zeta.org.au> To: asami@cs.berkeley.edu, bde@zeta.org.au Subject: Re: some more on fast bcopy Cc: ccd@stampede.cs.berkeley.edu, current@freebsd.org Sender: owner-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk > * 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 >OK, I implemented it. Will this work? It seems to work here. > * 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()). >Oh, really? I thought it was saved via %edx. I missed that. It would probably be cleanest to save it via %edx in both cases. I'm running with a fast bzero (8 fstl's in a loop) too. It is much simpler than fastmove since it doesn't need to worry about context switches. bcopy need not worry either (except for bugs). Bruce