Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 25 Apr 2004 12:17:00 -0700 (PDT)
From:      Marcel Moolenaar <marcel@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 51722 for review
Message-ID:  <200404251917.i3PJH0FN034138@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=51722

Change 51722 by marcel@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 */



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