PERFORCE change 51722 for review

Marcel Moolenaar marcel at FreeBSD.org
Sun Apr 25 12:17:01 PDT 2004


http://perforce.freebsd.org/chv.cgi?CH=51722

Change 51722 by marcel at marcel_nfs on 2004/04/25 12:16:28

	MFi386
	
	While here, remove a now stale comment in both the i386 and
	amd64 versions.

Affected files ...

.. //depot/projects/gdb/sys/amd64/isa/clock.c#3 edit
.. //depot/projects/gdb/sys/i386/isa/clock.c#6 edit

Differences ...

==== //depot/projects/gdb/sys/amd64/isa/clock.c#3 (text+ko) ====

@@ -54,6 +54,7 @@
 #include <sys/bus.h>
 #include <sys/lock.h>
 #include <sys/mutex.h>
+#include <sys/kdb.h>
 #include <sys/proc.h>
 #include <sys/time.h>
 #include <sys/timetc.h>
@@ -291,18 +292,8 @@
 	 * takes about 1.5 usec for each of the i/o's in getit().  The loop
 	 * takes about 6 usec on a 486/33 and 13 usec on a 386/20.  The
 	 * multiplications and divisions to scale the count take a while).
-	 *
-	 * However, if ddb is active then use a fake counter since reading
-	 * the i8254 counter involves acquiring a lock.  ddb must not go
-	 * locking for many reasons, but it calls here for at least atkbd
-	 * input.
 	 */
-#ifdef DDB
-	if (db_active)
-		prev_tick = 0;
-	else
-#endif
-		prev_tick = getit();
+	prev_tick = getit();
 	n -= 0;			/* XXX actually guess no initial overhead */
 	/*
 	 * Calculate (n * (timer_freq / 1e6)) without using floating point
@@ -329,13 +320,7 @@
 			     / 1000000;
 
 	while (ticks_left > 0) {
-#ifdef DDB
-		if (db_active) {
-			inb(0x84);
-			tick = prev_tick + 1;
-		} else
-#endif
-			tick = getit();
+		tick = getit();
 #ifdef DELAYDEBUG
 		++getit_calls;
 #endif
@@ -380,10 +365,17 @@
 			splx(x);
 			return (-1); /* XXX Should be EBUSY, but nobody cares anyway. */
 		}
-	mtx_lock_spin(&clock_lock);
+#ifdef KDB
+	if (!kdb_active)
+#endif
+		mtx_lock_spin(&clock_lock);
 	outb(TIMER_CNTR2, pitch);
 	outb(TIMER_CNTR2, (pitch>>8));
-	mtx_unlock_spin(&clock_lock);
+#ifdef KDB
+	if (!kdb_active)
+#endif
+		mtx_unlock_spin(&clock_lock);
+
 	if (!beeping) {
 		/* enable counter2 output to speaker */
 		outb(IO_PPI, inb(IO_PPI) | 3);

==== //depot/projects/gdb/sys/i386/isa/clock.c#6 (text+ko) ====

@@ -455,11 +455,6 @@
 	 * takes about 1.5 usec for each of the i/o's in getit().  The loop
 	 * takes about 6 usec on a 486/33 and 13 usec on a 386/20.  The
 	 * multiplications and divisions to scale the count take a while).
-	 *
-	 * However, if ddb is active then use a fake counter since reading
-	 * the i8254 counter involves acquiring a lock.  ddb must not go
-	 * locking for many reasons, but it calls here for at least atkbd
-	 * input.
 	 */
 	prev_tick = getit();
 	n -= 0;			/* XXX actually guess no initial overhead */


More information about the p4-projects mailing list