Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Oct 2008 10:45:39 +0000 (UTC)
From:      Alexander Leidinger <netchild@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r183946 - in user/netchild/misc/src/sys/i386: i386 isa
Message-ID:  <200810161045.m9GAjdjA059541@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: netchild
Date: Thu Oct 16 10:45:39 2008
New Revision: 183946
URL: http://svn.freebsd.org/changeset/base/183946

Log:
  Technically this can be used on more kinds of CPUs.

Modified:
  user/netchild/misc/src/sys/i386/i386/support.s
  user/netchild/misc/src/sys/i386/isa/npx.c

Modified: user/netchild/misc/src/sys/i386/i386/support.s
==============================================================================
--- user/netchild/misc/src/sys/i386/i386/support.s	Thu Oct 16 10:44:42 2008	(r183945)
+++ user/netchild/misc/src/sys/i386/i386/support.s	Thu Oct 16 10:45:39 2008	(r183946)
@@ -54,7 +54,7 @@ copyin_vector:
 	.globl	copyout_vector
 copyout_vector:
 	.long	generic_copyout
-#if defined(I586_CPU) && defined(DEV_NPX)
+#if (defined(I586_CPU) || defined(I686_CPU)) && defined(DEV_NPX)
 kernel_fpu_lock:
 	.byte	0xfe
 	.space	3
@@ -202,7 +202,7 @@ do0:
 END(i486_bzero)
 #endif
 
-#if defined(I586_CPU) && defined(DEV_NPX)
+#if (defined(I586_CPU) || defined(I686_CPU)) && defined(DEV_NPX)
 ENTRY(i586_bzero)
 	movl	4(%esp),%edx
 	movl	8(%esp),%ecx
@@ -359,7 +359,7 @@ intreg_i586_bzero:
 	popl	%edi
 	ret
 END(i586_bzero)
-#endif /* I586_CPU && defined(DEV_NPX) */
+#endif /* (I586_CPU || I686_CPU) && defined(DEV_NPX) */
 
 ENTRY(sse2_pagezero)
 	pushl	%ebx
@@ -528,7 +528,7 @@ ENTRY(generic_bcopy)
 	ret
 END(generic_bcopy)
 
-#if defined(I586_CPU) && defined(DEV_NPX)
+#if (defined(I586_CPU) || defined(I686_CPU)) && defined(DEV_NPX)
 ENTRY(i586_bcopy)
 	pushl	%esi
 	pushl	%edi
@@ -676,7 +676,7 @@ small_i586_bcopy:
 	cld
 	ret
 END(i586_bcopy)
-#endif /* I586_CPU && defined(DEV_NPX) */
+#endif /* (I586_CPU || I686_CPU) && defined(DEV_NPX) */
 
 /*
  * Note: memcpy does not support overlapping copies
@@ -764,7 +764,7 @@ ENTRY(generic_copyout)
 	/* bcopy(%esi, %edi, %ebx) */
 	movl	%ebx,%ecx
 
-#if defined(I586_CPU) && defined(DEV_NPX)
+#if (defined(I586_CPU) || defined(I686_CPU)) && defined(DEV_NPX)
 	ALIGN_TEXT
 slow_copyout:
 #endif
@@ -797,7 +797,7 @@ copyout_fault:
 	movl	$EFAULT,%eax
 	ret
 
-#if defined(I586_CPU) && defined(DEV_NPX)
+#if (defined(I586_CPU) || defined(I686_CPU)) && defined(DEV_NPX)
 ENTRY(i586_copyout)
 	/*
 	 * Duplicated from generic_copyout.  Could be done a bit better.
@@ -850,7 +850,7 @@ ENTRY(i586_copyout)
 	addl	$4,%esp
 	jmp	done_copyout
 END(i586_copyout)
-#endif /* I586_CPU && defined(DEV_NPX) */
+#endif /* (I586_CPU || I686_CPU) && defined(DEV_NPX) */
 
 /*
  * copyin(from_user, to_kernel, len) - MP SAFE
@@ -878,7 +878,7 @@ ENTRY(generic_copyin)
 	cmpl	$VM_MAXUSER_ADDRESS,%edx
 	ja	copyin_fault
 
-#if defined(I586_CPU) && defined(DEV_NPX)
+#if (defined(I586_CPU) || defined(I686_CPU)) && defined(DEV_NPX)
 	ALIGN_TEXT
 slow_copyin:
 #endif
@@ -892,7 +892,7 @@ slow_copyin:
 	rep
 	movsb
 
-#if defined(I586_CPU) && defined(DEV_NPX)
+#if (defined(I586_CPU) || defined(I686_CPU)) && defined(DEV_NPX)
 	ALIGN_TEXT
 done_copyin:
 #endif
@@ -913,7 +913,7 @@ copyin_fault:
 	movl	$EFAULT,%eax
 	ret
 
-#if defined(I586_CPU) && defined(DEV_NPX)
+#if (defined(I586_CPU) || defined(I686_CPU)) && defined(DEV_NPX)
 ENTRY(i586_copyin)
 	/*
 	 * Duplicated from generic_copyin.  Could be done a bit better.
@@ -947,9 +947,9 @@ ENTRY(i586_copyin)
 	addl	$8,%esp
 	jmp	done_copyin
 END(i586_copyin)
-#endif /* I586_CPU && defined(DEV_NPX) */
+#endif /* (I586_CPU || I686_CPU) && defined(DEV_NPX) */
 
-#if defined(I586_CPU) && defined(DEV_NPX)
+#if (defined(I586_CPU) || defined(I686_CPU)) && defined(DEV_NPX)
 /* fastmove(src, dst, len)
 	src in %esi
 	dst in %edi
@@ -1155,7 +1155,7 @@ fastmove_tail_fault:
 	movl	$EFAULT,%eax
 	ret
 END(fastmove)
-#endif /* I586_CPU && defined(DEV_NPX) */
+#endif /* (I586_CPU || I686_CPU) && defined(DEV_NPX) */
 
 /*
  * casuword.  Compare and set user word.  Returns -1 or the current value.

Modified: user/netchild/misc/src/sys/i386/isa/npx.c
==============================================================================
--- user/netchild/misc/src/sys/i386/isa/npx.c	Thu Oct 16 10:44:42 2008	(r183945)
+++ user/netchild/misc/src/sys/i386/isa/npx.c	Thu Oct 16 10:45:39 2008	(r183946)
@@ -160,10 +160,10 @@ static	int	npx_attach(device_t dev);
 static	void	npx_identify(driver_t *driver, device_t parent);
 static	int	npx_intr(void *);
 static	int	npx_probe(device_t dev);
-#ifdef I586_CPU_XXX
+#if defined(I586_CPU) || defined(I686_CPU)
 static	long	timezero(const char *funcname,
 		    void (*func)(void *buf, size_t len));
-#endif /* I586_CPU */
+#endif /* I586_CPU || I686_CPU */
 
 int	hw_float;		/* XXX currently just alias for npx_exists */
 
@@ -439,9 +439,9 @@ npx_attach(dev)
 		npx_cleanstate_ready = 1;
 		intr_restore(s);
 	}
-#ifdef I586_CPU_XXX
-	if (cpu_class == CPUCLASS_586 && npx_ex16 && npx_exists &&
-	    timezero("i586_bzero()", i586_bzero) <
+#if defined(I586_CPU) || defined(I686_CPU)
+	if ((cpu_class == CPUCLASS_586 || cpu_class == CPUCLASS_686) &&
+	    npx_ex16 && npx_exists && timezero("i586_bzero()", i586_bzero) <
 	    timezero("bzero()", bzero) * 4 / 5) {
 		if (!(flags & NPX_DISABLE_I586_OPTIMIZED_BCOPY))
 			bcopy_vector = i586_bcopy;
@@ -1021,7 +1021,7 @@ fpurstor(addr)
 		frstor(addr);
 }
 
-#ifdef I586_CPU_XXX
+#if defined(I586_CPU) || defined(I686_CPU)
 static long
 timezero(funcname, func)
 	const char *funcname;
@@ -1049,7 +1049,7 @@ timezero(funcname, func)
 	free(buf, M_TEMP);
 	return (usec);
 }
-#endif /* I586_CPU */
+#endif /* I586_CPU || I686_CPU */
 
 static device_method_t npx_methods[] = {
 	/* Device interface */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200810161045.m9GAjdjA059541>