1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-01 08:27:59 +00:00

Remove option I586_FAST_BCOPY. The code will be included by default

if I586_CPU is defined.  Note there is a runtime check so the code
won't be run for non-Pentium CPUs anyway.

2.2 candidate, this code has been tested for almost half year in -current.
This commit is contained in:
Satoshi Asami 1996-11-08 02:38:44 +00:00
parent d66f9d22f7
commit 33c58c9f8f
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=19523
8 changed files with 38 additions and 52 deletions

View File

@ -30,7 +30,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $Id: support.s,v 1.40 1996/10/09 18:16:17 bde Exp $
* $Id: support.s,v 1.41 1996/10/09 19:47:20 bde Exp $
*/
#include "opt_cpu.h"
@ -691,7 +691,7 @@ ENTRY(copyout) /* copyout(from_kernel, to_user, len) */
/* bcopy(%esi, %edi, %ebx) */
3:
movl %ebx,%ecx
#if defined(I586_CPU) && defined(I586_FAST_BCOPY)
#if defined(I586_CPU)
cmpl $1024,%ecx
jb slow_copyout
@ -707,7 +707,7 @@ ENTRY(copyout) /* copyout(from_kernel, to_user, len) */
ALIGN_TEXT
slow_copyout:
#endif /* I586_CPU && I586_FAST_BCOPY */
#endif /* I586_CPU */
shrl $2,%ecx
cld
rep
@ -755,7 +755,7 @@ ENTRY(copyin)
cmpl $VM_MAXUSER_ADDRESS,%edx
ja copyin_fault
#if defined(I586_CPU) && defined(I586_FAST_BCOPY)
#if defined(I586_CPU)
cmpl $1024,%ecx
jb slow_copyin
@ -771,7 +771,7 @@ ENTRY(copyin)
ALIGN_TEXT
slow_copyin:
#endif /* I586_CPU && I586_FAST_BCOPY */
#endif /* I586_CPU */
movb %cl,%al
shrl $2,%ecx /* copy longword-wise */
cld
@ -782,10 +782,10 @@ slow_copyin:
rep
movsb
#if defined(I586_CPU) && defined(I586_FAST_BCOPY)
#if defined(I586_CPU)
ALIGN_TEXT
done_copyin:
#endif /* I586_CPU && I586_FAST_BCOPY */
#endif /* I586_CPU */
popl %edi
popl %esi
xorl %eax,%eax
@ -802,7 +802,7 @@ copyin_fault:
movl $EFAULT,%eax
ret
#if defined(I586_CPU) && defined(I586_FAST_BCOPY)
#if defined(I586_CPU)
/* fastmove(src, dst, len)
src in %esi
dst in %edi
@ -956,7 +956,7 @@ fastmove_tail:
movsb
ret
#endif /* I586_CPU && I586_FAST_BCOPY */
#endif /* I586_CPU */
/*
* fu{byte,sword,word} : fetch a byte (sword, word) from user memory

View File

@ -30,7 +30,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $Id: support.s,v 1.40 1996/10/09 18:16:17 bde Exp $
* $Id: support.s,v 1.41 1996/10/09 19:47:20 bde Exp $
*/
#include "opt_cpu.h"
@ -691,7 +691,7 @@ ENTRY(copyout) /* copyout(from_kernel, to_user, len) */
/* bcopy(%esi, %edi, %ebx) */
3:
movl %ebx,%ecx
#if defined(I586_CPU) && defined(I586_FAST_BCOPY)
#if defined(I586_CPU)
cmpl $1024,%ecx
jb slow_copyout
@ -707,7 +707,7 @@ ENTRY(copyout) /* copyout(from_kernel, to_user, len) */
ALIGN_TEXT
slow_copyout:
#endif /* I586_CPU && I586_FAST_BCOPY */
#endif /* I586_CPU */
shrl $2,%ecx
cld
rep
@ -755,7 +755,7 @@ ENTRY(copyin)
cmpl $VM_MAXUSER_ADDRESS,%edx
ja copyin_fault
#if defined(I586_CPU) && defined(I586_FAST_BCOPY)
#if defined(I586_CPU)
cmpl $1024,%ecx
jb slow_copyin
@ -771,7 +771,7 @@ ENTRY(copyin)
ALIGN_TEXT
slow_copyin:
#endif /* I586_CPU && I586_FAST_BCOPY */
#endif /* I586_CPU */
movb %cl,%al
shrl $2,%ecx /* copy longword-wise */
cld
@ -782,10 +782,10 @@ slow_copyin:
rep
movsb
#if defined(I586_CPU) && defined(I586_FAST_BCOPY)
#if defined(I586_CPU)
ALIGN_TEXT
done_copyin:
#endif /* I586_CPU && I586_FAST_BCOPY */
#endif /* I586_CPU */
popl %edi
popl %esi
xorl %eax,%eax
@ -802,7 +802,7 @@ copyin_fault:
movl $EFAULT,%eax
ret
#if defined(I586_CPU) && defined(I586_FAST_BCOPY)
#if defined(I586_CPU)
/* fastmove(src, dst, len)
src in %esi
dst in %edi
@ -956,7 +956,7 @@ fastmove_tail:
movsb
ret
#endif /* I586_CPU && I586_FAST_BCOPY */
#endif /* I586_CPU */
/*
* fu{byte,sword,word} : fetch a byte (sword, word) from user memory

View File

@ -2,7 +2,7 @@
# LINT -- config file for checking all the sources, tries to pull in
# as much of the source tree as it can.
#
# $Id: LINT,v 1.286 1996/10/23 07:29:34 pst Exp $
# $Id: LINT,v 1.287 1996/11/06 14:52:20 bde Exp $
#
# NB: You probably don't want to try running a kernel built from this
# file. Instead, you should start from GENERIC, and add options from
@ -73,18 +73,14 @@ options GPL_MATH_EMULATE #Support for x87 emulation via
options FAILSAFE
# When this is set, copyin/copyout will use an unrolled loop using
# floating point registers. It makes copyin/copyout run 30-100%
# When this is set, bcopy() will use an unrolled loop using
# floating point registers. It makes bcopy() run 30-100%
# faster on Pentiums and makes no difference or slower on non-Pentium
# (including P6) systems.
#
# However, even when this is set, there is a run-time check for CPU
# type so the routine will never be invoked for a wrong architecture.
# It will become the default after some testing period.
options "I586_FAST_BCOPY"
# This is like I586_FAST_BCOPY except it actually controls bcopy().
# It is a separate option because the code for it is newer.
options "I586_OPTIMIZED_BCOPY"
# This is like I586_OPTIMIZED_BCOPY except it controls bzero().

View File

@ -1,4 +1,4 @@
# $Id: options.i386,v 1.26 1996/10/28 06:05:58 gibbs Exp $
# $Id: options.i386,v 1.27 1996/11/02 02:25:22 pst Exp $
BOUNCEPAGES opt_bounce.h
USER_LDT
MATH_EMULATE opt_math_emulate.h
@ -42,7 +42,6 @@ I486_CPU opt_cpu.h
I586_CPU opt_cpu.h
I686_CPU opt_cpu.h
I586_FAST_BCOPY opt_temporary.h
I586_OPTIMIZED_BCOPY opt_temporary.h
I586_OPTIMIZED_BZERO opt_temporary.h

View File

@ -2,7 +2,7 @@
# LINT -- config file for checking all the sources, tries to pull in
# as much of the source tree as it can.
#
# $Id: LINT,v 1.286 1996/10/23 07:29:34 pst Exp $
# $Id: LINT,v 1.287 1996/11/06 14:52:20 bde Exp $
#
# NB: You probably don't want to try running a kernel built from this
# file. Instead, you should start from GENERIC, and add options from
@ -73,18 +73,14 @@ options GPL_MATH_EMULATE #Support for x87 emulation via
options FAILSAFE
# When this is set, copyin/copyout will use an unrolled loop using
# floating point registers. It makes copyin/copyout run 30-100%
# When this is set, bcopy() will use an unrolled loop using
# floating point registers. It makes bcopy() run 30-100%
# faster on Pentiums and makes no difference or slower on non-Pentium
# (including P6) systems.
#
# However, even when this is set, there is a run-time check for CPU
# type so the routine will never be invoked for a wrong architecture.
# It will become the default after some testing period.
options "I586_FAST_BCOPY"
# This is like I586_FAST_BCOPY except it actually controls bcopy().
# It is a separate option because the code for it is newer.
options "I586_OPTIMIZED_BCOPY"
# This is like I586_OPTIMIZED_BCOPY except it controls bzero().

View File

@ -2,7 +2,7 @@
# LINT -- config file for checking all the sources, tries to pull in
# as much of the source tree as it can.
#
# $Id: LINT,v 1.286 1996/10/23 07:29:34 pst Exp $
# $Id: LINT,v 1.287 1996/11/06 14:52:20 bde Exp $
#
# NB: You probably don't want to try running a kernel built from this
# file. Instead, you should start from GENERIC, and add options from
@ -73,18 +73,14 @@ options GPL_MATH_EMULATE #Support for x87 emulation via
options FAILSAFE
# When this is set, copyin/copyout will use an unrolled loop using
# floating point registers. It makes copyin/copyout run 30-100%
# When this is set, bcopy() will use an unrolled loop using
# floating point registers. It makes bcopy() run 30-100%
# faster on Pentiums and makes no difference or slower on non-Pentium
# (including P6) systems.
#
# However, even when this is set, there is a run-time check for CPU
# type so the routine will never be invoked for a wrong architecture.
# It will become the default after some testing period.
options "I586_FAST_BCOPY"
# This is like I586_FAST_BCOPY except it actually controls bcopy().
# It is a separate option because the code for it is newer.
options "I586_OPTIMIZED_BCOPY"
# This is like I586_OPTIMIZED_BCOPY except it controls bzero().

View File

@ -1,4 +1,4 @@
# $Id: options.i386,v 1.26 1996/10/28 06:05:58 gibbs Exp $
# $Id: options.i386,v 1.27 1996/11/02 02:25:22 pst Exp $
BOUNCEPAGES opt_bounce.h
USER_LDT
MATH_EMULATE opt_math_emulate.h
@ -42,7 +42,6 @@ I486_CPU opt_cpu.h
I586_CPU opt_cpu.h
I686_CPU opt_cpu.h
I586_FAST_BCOPY opt_temporary.h
I586_OPTIMIZED_BCOPY opt_temporary.h
I586_OPTIMIZED_BZERO opt_temporary.h

View File

@ -30,7 +30,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $Id: support.s,v 1.40 1996/10/09 18:16:17 bde Exp $
* $Id: support.s,v 1.41 1996/10/09 19:47:20 bde Exp $
*/
#include "opt_cpu.h"
@ -691,7 +691,7 @@ ENTRY(copyout) /* copyout(from_kernel, to_user, len) */
/* bcopy(%esi, %edi, %ebx) */
3:
movl %ebx,%ecx
#if defined(I586_CPU) && defined(I586_FAST_BCOPY)
#if defined(I586_CPU)
cmpl $1024,%ecx
jb slow_copyout
@ -707,7 +707,7 @@ ENTRY(copyout) /* copyout(from_kernel, to_user, len) */
ALIGN_TEXT
slow_copyout:
#endif /* I586_CPU && I586_FAST_BCOPY */
#endif /* I586_CPU */
shrl $2,%ecx
cld
rep
@ -755,7 +755,7 @@ ENTRY(copyin)
cmpl $VM_MAXUSER_ADDRESS,%edx
ja copyin_fault
#if defined(I586_CPU) && defined(I586_FAST_BCOPY)
#if defined(I586_CPU)
cmpl $1024,%ecx
jb slow_copyin
@ -771,7 +771,7 @@ ENTRY(copyin)
ALIGN_TEXT
slow_copyin:
#endif /* I586_CPU && I586_FAST_BCOPY */
#endif /* I586_CPU */
movb %cl,%al
shrl $2,%ecx /* copy longword-wise */
cld
@ -782,10 +782,10 @@ slow_copyin:
rep
movsb
#if defined(I586_CPU) && defined(I586_FAST_BCOPY)
#if defined(I586_CPU)
ALIGN_TEXT
done_copyin:
#endif /* I586_CPU && I586_FAST_BCOPY */
#endif /* I586_CPU */
popl %edi
popl %esi
xorl %eax,%eax
@ -802,7 +802,7 @@ copyin_fault:
movl $EFAULT,%eax
ret
#if defined(I586_CPU) && defined(I586_FAST_BCOPY)
#if defined(I586_CPU)
/* fastmove(src, dst, len)
src in %esi
dst in %edi
@ -956,7 +956,7 @@ fastmove_tail:
movsb
ret
#endif /* I586_CPU && I586_FAST_BCOPY */
#endif /* I586_CPU */
/*
* fu{byte,sword,word} : fetch a byte (sword, word) from user memory