summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormlarkin <mlarkin@openbsd.org>2009-06-06 00:23:38 +0000
committermlarkin <mlarkin@openbsd.org>2009-06-06 00:23:38 +0000
commitff02ad250dae7eed2a58780352fd03147f7f9c15 (patch)
treef158124b5a203e013e504fabf6c27c38e7d41dda
parentFix some lapic, interrupt, and clock issues on i386 ACPI S3 resume. (diff)
downloadwireguard-openbsd-ff02ad250dae7eed2a58780352fd03147f7f9c15.tar.xz
wireguard-openbsd-ff02ad250dae7eed2a58780352fd03147f7f9c15.zip
Matching fix for amd64. This also removes a spurious disable_intr() call
that wasn't needed. ok pirofti@
-rw-r--r--sys/arch/amd64/amd64/acpi_machdep.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/sys/arch/amd64/amd64/acpi_machdep.c b/sys/arch/amd64/amd64/acpi_machdep.c
index 83edd9e0ed7..8bab06fc5c2 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.20 2009/06/04 23:32:06 mlarkin Exp $ */
+/* $OpenBSD: acpi_machdep.c,v 1.21 2009/06/06 00:23:38 mlarkin Exp $ */
/*
* Copyright (c) 2005 Thorsten Lockert <tholo@sigmasoft.com>
*
@@ -45,9 +45,8 @@ extern u_char acpi_real_mode_resume[], acpi_resume_end[];
extern u_int32_t acpi_pdirpa;
extern paddr_t tramp_pdirpa;
-int acpi_savecpu(void);
-void ioapic_enable(void);
-void lapic_enable(void);
+extern int acpi_savecpu(void);
+extern void ioapic_enable(void);
#define ACPI_BIOS_RSDP_WINDOW_BASE 0xe0000
#define ACPI_BIOS_RSDP_WINDOW_SIZE 0x20000
@@ -224,8 +223,6 @@ acpi_sleep_machdep(struct acpi_softc *sc, int state)
if (sc->sc_facs->version == 1)
sc->sc_facs->x_wakeup_vector = 0;
- disable_intr();
-
/* Copy the current cpu registers into a safe place for resume. */
if (acpi_savecpu()) {
wbinvd();
@@ -244,13 +241,13 @@ acpi_sleep_machdep(struct acpi_softc *sc, int state)
#if NLAPIC > 0
lapic_enable();
- lapic_calibrate_timer(&cpu_info_primary);
+ lapic_initclocks();
#endif
#if NIOAPIC > 0
ioapic_enable();
#endif
initrtclock();
- enable_intr();
+ inittodr(time_second);
#endif /* ACPI_SLEEP_ENABLED */
return 0;
}