summaryrefslogtreecommitdiff
path: root/sys/arch/amd64
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/amd64')
-rw-r--r--sys/arch/amd64/amd64/acpi_machdep.c4
-rw-r--r--sys/arch/amd64/include/cpu.h3
-rw-r--r--sys/arch/amd64/isa/clock.c8
3 files changed, 12 insertions, 3 deletions
diff --git a/sys/arch/amd64/amd64/acpi_machdep.c b/sys/arch/amd64/amd64/acpi_machdep.c
index 3ae4a2569cf..6662fd9ad2c 100644
--- a/sys/arch/amd64/amd64/acpi_machdep.c
+++ b/sys/arch/amd64/amd64/acpi_machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: acpi_machdep.c,v 1.44 2010/08/08 21:23:42 deraadt Exp $ */
+/* $OpenBSD: acpi_machdep.c,v 1.45 2010/08/11 21:22:44 kettenis Exp $ */
/*
* Copyright (c) 2005 Thorsten Lockert <tholo@sigmasoft.com>
*
@@ -207,6 +207,8 @@ acpi_sleep_machdep(struct acpi_softc *sc, int state)
return (ENXIO);
}
+ rtcstop();
+
/* amd64 does not do lazy pmap_activate */
/*
diff --git a/sys/arch/amd64/include/cpu.h b/sys/arch/amd64/include/cpu.h
index fd16b34f02e..91a5678e88e 100644
--- a/sys/arch/amd64/include/cpu.h
+++ b/sys/arch/amd64/include/cpu.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: cpu.h,v 1.54 2010/08/05 21:10:10 deraadt Exp $ */
+/* $OpenBSD: cpu.h,v 1.55 2010/08/11 21:22:44 kettenis Exp $ */
/* $NetBSD: cpu.h,v 1.1 2003/04/26 18:39:39 fvdl Exp $ */
/*-
@@ -293,6 +293,7 @@ void child_trampoline(void);
extern void (*initclock_func)(void);
void startclocks(void);
void rtcstart(void);
+void rtcstop(void);
void i8254_delay(int);
void i8254_initclocks(void);
void i8254_startclock(void);
diff --git a/sys/arch/amd64/isa/clock.c b/sys/arch/amd64/isa/clock.c
index 5980edd031b..5785a719a09 100644
--- a/sys/arch/amd64/isa/clock.c
+++ b/sys/arch/amd64/isa/clock.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: clock.c,v 1.16 2010/08/10 02:06:43 marco Exp $ */
+/* $OpenBSD: clock.c,v 1.17 2010/08/11 21:22:44 kettenis Exp $ */
/* $NetBSD: clock.c,v 1.1 2003/04/26 18:39:50 fvdl Exp $ */
/*-
@@ -343,6 +343,12 @@ rtcstart(void)
timeout_add(&rtcdrain_timeout, 1);
}
+void
+rtcstop(void)
+{
+ mc146818_write(NULL, MC_REGB, MC_REGB_24HR);
+}
+
int
rtcget(mc_todregs *regs)
{