summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
Diffstat (limited to 'sys')
-rw-r--r--sys/arch/amd64/amd64/acpi_machdep.c27
-rw-r--r--sys/arch/i386/i386/acpi_machdep.c23
2 files changed, 29 insertions, 21 deletions
diff --git a/sys/arch/amd64/amd64/acpi_machdep.c b/sys/arch/amd64/amd64/acpi_machdep.c
index 8bab06fc5c2..da27272e280 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.21 2009/06/06 00:23:38 mlarkin Exp $ */
+/* $OpenBSD: acpi_machdep.c,v 1.22 2009/08/13 15:33:20 kettenis Exp $ */
/*
* Copyright (c) 2005 Thorsten Lockert <tholo@sigmasoft.com>
*
@@ -27,6 +27,8 @@
#include <machine/biosvar.h>
#include <machine/isa_machdep.h>
+#include <machine/cpufunc.h>
+
#include <dev/isa/isareg.h>
#include <dev/acpi/acpireg.h>
#include <dev/acpi/acpivar.h>
@@ -35,6 +37,10 @@
#include "ioapic.h"
#include "lapic.h"
+#if NIOAPIC > 0
+#include <machine/i82093var.h>
+#endif
+
#if NLAPIC > 0
#include <machine/apicvar.h>
#include <machine/i82489reg.h>
@@ -46,7 +52,6 @@ extern u_int32_t acpi_pdirpa;
extern paddr_t tramp_pdirpa;
extern int acpi_savecpu(void);
-extern void ioapic_enable(void);
#define ACPI_BIOS_RSDP_WINDOW_BASE 0xe0000
#define ACPI_BIOS_RSDP_WINDOW_SIZE 0x20000
@@ -115,7 +120,8 @@ acpi_scan(struct acpi_mem_map *handle, paddr_t pa, size_t len)
}
int
-acpi_probe(struct device *parent, struct cfdata *match, struct bios_attach_args *ba)
+acpi_probe(struct device *parent, struct cfdata *match,
+ struct bios_attach_args *ba)
{
struct acpi_mem_map handle;
u_int8_t *ptr;
@@ -155,6 +161,7 @@ havebase:
}
#ifndef SMALL_KERNEL
+
void
acpi_attach_machdep(struct acpi_softc *sc)
{
@@ -165,19 +172,16 @@ acpi_attach_machdep(struct acpi_softc *sc)
cpuresetfn = acpi_reset;
#ifdef ACPI_SLEEP_ENABLED
-
/*
* Sanity check before setting up trampoline.
* Ensure the trampoline size is < PAGE_SIZE
*/
KASSERT(acpi_resume_end - acpi_real_mode_resume < PAGE_SIZE);
- bcopy(acpi_real_mode_resume,
- (caddr_t)ACPI_TRAMPOLINE,
+ bcopy(acpi_real_mode_resume, (caddr_t)ACPI_TRAMPOLINE,
acpi_resume_end - acpi_real_mode_resume);
acpi_pdirpa = tramp_pdirpa;
-
#endif /* ACPI_SLEEP_ENABLED */
}
@@ -190,11 +194,11 @@ acpi_cpu_flush(struct acpi_softc *sc, int state)
if (state > ACPI_STATE_S1)
wbinvd();
}
+
int
acpi_sleep_machdep(struct acpi_softc *sc, int state)
{
#ifdef ACPI_SLEEP_ENABLED
-
if (sc->sc_facs == NULL) {
printf("%s: acpi_sleep_machdep: no FACS\n", DEVNAME(sc));
return (ENXIO);
@@ -202,7 +206,7 @@ acpi_sleep_machdep(struct acpi_softc *sc, int state)
if (rcr3() != pmap_kernel()->pm_pdirpa) {
pmap_activate(curproc);
-
+
KASSERT(rcr3() == pmap_kernel()->pm_pdirpa);
}
@@ -218,7 +222,6 @@ acpi_sleep_machdep(struct acpi_softc *sc, int state)
* containing protected-mode wakeup code.
*
*/
-
sc->sc_facs->wakeup_vector = (u_int32_t)ACPI_TRAMPOLINE;
if (sc->sc_facs->version == 1)
sc->sc_facs->x_wakeup_vector = 0;
@@ -249,8 +252,8 @@ acpi_sleep_machdep(struct acpi_softc *sc, int state)
initrtclock();
inittodr(time_second);
#endif /* ACPI_SLEEP_ENABLED */
- return 0;
- }
+ return (0);
+}
#endif /* ! SMALL_KERNEL */
diff --git a/sys/arch/i386/i386/acpi_machdep.c b/sys/arch/i386/i386/acpi_machdep.c
index 9f3bc4480ce..c50210dc896 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.22 2009/06/07 16:58:28 mlarkin Exp $ */
+/* $OpenBSD: acpi_machdep.c,v 1.23 2009/08/13 15:33:20 kettenis Exp $ */
/*
* Copyright (c) 2005 Thorsten Lockert <tholo@sigmasoft.com>
*
@@ -30,7 +30,6 @@
#include <machine/cpufunc.h>
#include <machine/npx.h>
-#include <machine/intr.h>
#include <dev/isa/isareg.h>
#include <dev/acpi/acpireg.h>
@@ -52,7 +51,6 @@
#include <machine/i82489var.h>
#endif
-
#if NAPM > 0
int haveacpibutusingapm;
#endif
@@ -129,7 +127,8 @@ acpi_scan(struct acpi_mem_map *handle, paddr_t pa, size_t len)
}
int
-acpi_probe(struct device *parent, struct cfdata *match, struct bios_attach_args *ba)
+acpi_probe(struct device *parent, struct cfdata *match,
+ struct bios_attach_args *ba)
{
struct acpi_mem_map handle;
u_int8_t *ptr;
@@ -173,10 +172,12 @@ havebase:
return (0);
}
#endif
+
return (1);
}
#ifndef SMALL_KERNEL
+
void
acpi_attach_machdep(struct acpi_softc *sc)
{
@@ -190,20 +191,24 @@ acpi_attach_machdep(struct acpi_softc *sc)
acpiapm_kqfilter = acpikqfilter;
cpuresetfn = acpi_reset;
-#ifdef ACPI_SLEEP_ENABLED
+#ifdef ACPI_SLEEP_ENABLED
/*
* Sanity check before setting up trampoline.
* Ensure the trampoline size is < PAGE_SIZE
*/
KASSERT(acpi_resume_end - acpi_real_mode_resume < PAGE_SIZE);
- bcopy(acpi_real_mode_resume, (caddr_t)ACPI_TRAMPOLINE, acpi_resume_end - acpi_real_mode_resume);
+
+ bcopy(acpi_real_mode_resume, (caddr_t)ACPI_TRAMPOLINE,
+ acpi_resume_end - acpi_real_mode_resume);
#endif /* ACPI_SLEEP_ENABLED */
}
void
acpi_cpu_flush(struct acpi_softc *sc, int state)
{
- /* flush write back caches since we'll lose them */
+ /*
+ * Flush write back caches since we'll lose them.
+ */
if (state > ACPI_STATE_S1)
wbinvd();
}
@@ -212,7 +217,6 @@ int
acpi_sleep_machdep(struct acpi_softc *sc, int state)
{
#ifdef ACPI_SLEEP_ENABLED
-
if (sc->sc_facs == NULL) {
printf("%s: acpi_sleep_machdep: no FACS\n", DEVNAME(sc));
return (ENXIO);
@@ -274,8 +278,9 @@ acpi_sleep_machdep(struct acpi_softc *sc, int state)
#endif
initrtclock();
inittodr(time_second);
-
#endif /* ACPI_SLEEP_ENABLED */
+
return (0);
}
+
#endif /* ! SMALL_KERNEL */