diff options
author | jhb <jhb@FreeBSD.org> | 2010-06-15 18:51:41 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2010-06-15 18:51:41 +0000 |
commit | 3e2692fd422754febd92a4d1613d4c2d454b8adc (patch) | |
tree | d79d22ca750365c31e1642d7bfb41c3704ee18a3 /sys/i386 | |
parent | c907b418fb8aa37b08afb920eb5d944466e1e0f6 (diff) | |
download | FreeBSD-src-3e2692fd422754febd92a4d1613d4c2d454b8adc.zip FreeBSD-src-3e2692fd422754febd92a4d1613d4c2d454b8adc.tar.gz |
Restore the machine check register banks on resume. For banks being
monitored via CMCI, reset the interrupt threshold to 1 on resume.
Reviewed by: jkim
MFC after: 2 weeks
Diffstat (limited to 'sys/i386')
-rw-r--r-- | sys/i386/acpica/acpi_wakeup.c | 2 | ||||
-rw-r--r-- | sys/i386/include/mca.h | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/sys/i386/acpica/acpi_wakeup.c b/sys/i386/acpica/acpi_wakeup.c index af8d4b2..60bc31f 100644 --- a/sys/i386/acpica/acpi_wakeup.c +++ b/sys/i386/acpica/acpi_wakeup.c @@ -45,6 +45,7 @@ __FBSDID("$FreeBSD$"); #include <machine/bus.h> #include <machine/cpufunc.h> #include <machine/intr_machdep.h> +#include <machine/mca.h> #include <machine/segments.h> #include <contrib/dev/acpica/include/acpi.h> @@ -272,6 +273,7 @@ acpi_sleep_machdep(struct acpi_softc *sc, int state) for (;;) ; } else { /* Execute Wakeup */ + mca_resume(); intr_resume(); if (bootverbose) { diff --git a/sys/i386/include/mca.h b/sys/i386/include/mca.h index 951750f..dd6e69c 100644 --- a/sys/i386/include/mca.h +++ b/sys/i386/include/mca.h @@ -49,6 +49,7 @@ struct mca_record { void cmc_intr(void); void mca_init(void); int mca_intr(void); +void mca_resume(void); #endif |