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