1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-16 10:20:30 +00:00
Mirror of the FreeBSD src repository https://git.FreeBSD.org/src.git .
Go to file
Bruce Evans 18860b410d Added i586-optimized bcopy() and bzero().
These are based on using the FPU to do 64-bit stores.  They also
use i586-optimized instruction ordering, i586-optimized cache
management and a couple of other tricks.  They should work on any
i*86 with a h/w FPU, but are slower on at least i386's and i486's.
They come close to saturating the memory bus on i586's.  bzero()
can maintain a 3-3-3-3 burst cycle to 66 MHz non-EDO main memory
on a P133 (but is too slow to keep up with a 2-2-2-2 burst cycle
for EDO - someone with EDO should fix this).  bcopy() is several
cycles short of keeping up with a 3-3-3-3 cycle for writing.  For
a P133 writing to 66 MHz main memory, it just manages an N-3-3-3,
3-3-3-3 pair of burst cycles, where N is typically 6.

The new routines are not used by default.  They are always configured
and can be enabled at runtime using a debugger or an lkm to change
their function pointer, or at compile time using new options (see
another log message).

Removed old, dead i586_bzero() and i686_bzero().  Read-before-write is
usually bad for i586's.  It doubles the memory traffic unless the data
is already cached, and data is (or should be) very rarely cached for
large bzero()s (the system should prefer uncached pages for cleaning),
and the amount of data handled by small bzero()s is relatively small
in the kernel.

Improved comments about overlapping copies.

Removed unused #include.
1996-10-09 18:16:17 +00:00
bin Fix a problem with sh that conflicts with the -e 1996-10-06 15:17:19 +00:00
contrib Don't mention tcpdump; this is for groff. 1996-10-08 20:11:55 +00:00
eBones More ${.CURDIR} changes. 1996-10-01 15:20:29 +00:00
etc Add a -p to the amd invocation, it's not optional since we are expecting 1996-10-08 20:02:57 +00:00
games delete doubled words, e.g.: "the the" -> "the" 1996-10-05 22:27:30 +00:00
gnu Use ${INSTALL} -C instead of -c. I did it with -C originally, but during 1996-10-07 23:38:08 +00:00
include Fixed the wrong include file for a "prototype mismatch" error between 1996-10-08 01:38:36 +00:00
lib Require that a timezone specified via the TZ envariable be a regular 1996-10-09 17:39:37 +00:00
libexec correct spelling of 'X Window System' (tm) 1996-10-06 17:59:28 +00:00
lkm delete unused variable BINDIR, use new variable MODLOAD/MODUNLOAD 1996-10-06 22:17:16 +00:00
release DTRT if ESC is hit in a Yes/No dialog. 1996-10-09 09:53:41 +00:00
sbin Fix the case where fsck would not see sparse directories and the kernel would 1996-10-08 14:54:53 +00:00
secure cmp -s || install -c --> install -C 1996-08-30 04:07:04 +00:00
share Oops, forgot to cvs add bsd.kern.mk. 1996-10-08 22:10:49 +00:00
sys Added i586-optimized bcopy() and bzero(). 1996-10-09 18:16:17 +00:00
tools Fixed CLEANFILES. The *.3 links were missing. 1996-09-20 14:12:32 +00:00
usr.bin Fix searching for shell quoting characters. I guess it was 1996-10-09 00:33:34 +00:00
usr.sbin DTRT if ESC is hit in a Yes/No dialog. 1996-10-09 09:53:41 +00:00
COPYRIGHT This is the official 4.4 Lite copyright. 1994-09-11 07:53:28 +00:00
Makefile Add awk to build target. 1996-10-06 02:17:43 +00:00