aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorBruce Evans <bde@FreeBSD.org>1996-06-17 12:50:22 +0000
committerBruce Evans <bde@FreeBSD.org>1996-06-17 12:50:22 +0000
commit16263f7a8b7c05dbb7f2aba0fa06703ada7c067e (patch)
tree5896a9d86f514fcad8744e68e87f7c0751ba84e6 /sys
parentb7911dc3bbb7fd5718e244c4eb877b761aac00b7 (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/amd64/amd64/tsc.c11
-rw-r--r--sys/amd64/isa/clock.c11
-rw-r--r--sys/i386/i386/tsc.c11
-rw-r--r--sys/i386/isa/clock.c11
-rw-r--r--sys/isa/atrtc.c11
5 files changed, 40 insertions, 15 deletions
diff --git a/sys/amd64/amd64/tsc.c b/sys/amd64/amd64/tsc.c
index 21b9e36966a0..1b1c2d815091 100644
--- a/sys/amd64/amd64/tsc.c
+++ b/sys/amd64/amd64/tsc.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* from: @(#)clock.c 7.2 (Berkeley) 5/12/91
- * $Id: clock.c,v 1.59 1996/06/11 16:02:55 pst Exp $
+ * $Id: clock.c,v 1.60 1996/06/11 16:11:27 pst Exp $
*/
/*
@@ -286,14 +286,19 @@ DDB_printrtc(void)
static int
getit(void)
{
+ u_long ef;
int high, low;
+ ef = read_eflags();
disable_intr();
- /* select timer0 and latch counter value */
+
+ /* Select timer0 and latch counter value. */
outb(TIMER_MODE, TIMER_SEL0);
+
low = inb(TIMER_CNTR0);
high = inb(TIMER_CNTR0);
- enable_intr();
+
+ write_eflags(ef);
return ((high << 8) | low);
}
diff --git a/sys/amd64/isa/clock.c b/sys/amd64/isa/clock.c
index 21b9e36966a0..1b1c2d815091 100644
--- a/sys/amd64/isa/clock.c
+++ b/sys/amd64/isa/clock.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* from: @(#)clock.c 7.2 (Berkeley) 5/12/91
- * $Id: clock.c,v 1.59 1996/06/11 16:02:55 pst Exp $
+ * $Id: clock.c,v 1.60 1996/06/11 16:11:27 pst Exp $
*/
/*
@@ -286,14 +286,19 @@ DDB_printrtc(void)
static int
getit(void)
{
+ u_long ef;
int high, low;
+ ef = read_eflags();
disable_intr();
- /* select timer0 and latch counter value */
+
+ /* Select timer0 and latch counter value. */
outb(TIMER_MODE, TIMER_SEL0);
+
low = inb(TIMER_CNTR0);
high = inb(TIMER_CNTR0);
- enable_intr();
+
+ write_eflags(ef);
return ((high << 8) | low);
}
diff --git a/sys/i386/i386/tsc.c b/sys/i386/i386/tsc.c
index 21b9e36966a0..1b1c2d815091 100644
--- a/sys/i386/i386/tsc.c
+++ b/sys/i386/i386/tsc.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* from: @(#)clock.c 7.2 (Berkeley) 5/12/91
- * $Id: clock.c,v 1.59 1996/06/11 16:02:55 pst Exp $
+ * $Id: clock.c,v 1.60 1996/06/11 16:11:27 pst Exp $
*/
/*
@@ -286,14 +286,19 @@ DDB_printrtc(void)
static int
getit(void)
{
+ u_long ef;
int high, low;
+ ef = read_eflags();
disable_intr();
- /* select timer0 and latch counter value */
+
+ /* Select timer0 and latch counter value. */
outb(TIMER_MODE, TIMER_SEL0);
+
low = inb(TIMER_CNTR0);
high = inb(TIMER_CNTR0);
- enable_intr();
+
+ write_eflags(ef);
return ((high << 8) | low);
}
diff --git a/sys/i386/isa/clock.c b/sys/i386/isa/clock.c
index 21b9e36966a0..1b1c2d815091 100644
--- a/sys/i386/isa/clock.c
+++ b/sys/i386/isa/clock.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* from: @(#)clock.c 7.2 (Berkeley) 5/12/91
- * $Id: clock.c,v 1.59 1996/06/11 16:02:55 pst Exp $
+ * $Id: clock.c,v 1.60 1996/06/11 16:11:27 pst Exp $
*/
/*
@@ -286,14 +286,19 @@ DDB_printrtc(void)
static int
getit(void)
{
+ u_long ef;
int high, low;
+ ef = read_eflags();
disable_intr();
- /* select timer0 and latch counter value */
+
+ /* Select timer0 and latch counter value. */
outb(TIMER_MODE, TIMER_SEL0);
+
low = inb(TIMER_CNTR0);
high = inb(TIMER_CNTR0);
- enable_intr();
+
+ write_eflags(ef);
return ((high << 8) | low);
}
diff --git a/sys/isa/atrtc.c b/sys/isa/atrtc.c
index 21b9e36966a0..1b1c2d815091 100644
--- a/sys/isa/atrtc.c
+++ b/sys/isa/atrtc.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* from: @(#)clock.c 7.2 (Berkeley) 5/12/91
- * $Id: clock.c,v 1.59 1996/06/11 16:02:55 pst Exp $
+ * $Id: clock.c,v 1.60 1996/06/11 16:11:27 pst Exp $
*/
/*
@@ -286,14 +286,19 @@ DDB_printrtc(void)
static int
getit(void)
{
+ u_long ef;
int high, low;
+ ef = read_eflags();
disable_intr();
- /* select timer0 and latch counter value */
+
+ /* Select timer0 and latch counter value. */
outb(TIMER_MODE, TIMER_SEL0);
+
low = inb(TIMER_CNTR0);
high = inb(TIMER_CNTR0);
- enable_intr();
+
+ write_eflags(ef);
return ((high << 8) | low);
}