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:
parent
d66f9d22f7
commit
33c58c9f8f
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=19523
@ -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
|
||||
|
@ -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
|
||||
|
@ -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().
|
||||
|
@ -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
|
||||
|
||||
|
@ -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().
|
||||
|
@ -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().
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user