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); }