summaryrefslogtreecommitdiff
path: root/sys/arch/i386
diff options
context:
space:
mode:
authorMike Larkin <mlarkin@cvs.openbsd.org>2009-06-07 16:58:29 +0000
committerMike Larkin <mlarkin@cvs.openbsd.org>2009-06-07 16:58:29 +0000
commit6419b428838aeefddcc88f85aebaf7f447443e1e (patch)
treec83362e40252e9f22affdfc318be365fe9ccfa76 /sys/arch/i386
parent3602499e8d337550830a723ad9e72e431c58a9bd (diff)
We weren't including isa.h and therefore missing the NISA #define. This
caused the PIC to not be initialized on resume, which caused much badness - things attached to the ISA bus weren't getting any interupts (for example, keyboards). Also move around some of the lapic reinit code to handle some clock initialization bits we weren't doing before. Worked out by deraadt and myself. ok deraadt@
Diffstat (limited to 'sys/arch/i386')
-rw-r--r--sys/arch/i386/i386/acpi_machdep.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/sys/arch/i386/i386/acpi_machdep.c b/sys/arch/i386/i386/acpi_machdep.c
index 81259433c69..9f3bc4480ce 100644
--- a/sys/arch/i386/i386/acpi_machdep.c
+++ b/sys/arch/i386/i386/acpi_machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: acpi_machdep.c,v 1.21 2009/06/06 00:21:53 mlarkin Exp $ */
+/* $OpenBSD: acpi_machdep.c,v 1.22 2009/06/07 16:58:28 mlarkin Exp $ */
/*
* Copyright (c) 2005 Thorsten Lockert <tholo@sigmasoft.com>
*
@@ -38,6 +38,7 @@
#include <dev/acpi/acpidev.h>
#include "apm.h"
+#include "isa.h"
#include "ioapic.h"
#include "lapic.h"
@@ -254,16 +255,20 @@ acpi_sleep_machdep(struct acpi_softc *sc, int state)
* returning to the location immediately following the
* last call instruction - after the call to acpi_savecpu.
*/
-
- npxinit(&cpu_info_primary);
+
#if NISA > 0
isa_defaultirq();
#endif
intr_calculatemasks();
+
#if NLAPIC > 0
lapic_enable();
lapic_initclocks();
+ lapic_set_lvt();
#endif
+
+ npxinit(&cpu_info_primary);
+
#if NIOAPIC > 0
ioapic_enable();
#endif