summaryrefslogtreecommitdiff
path: root/sys/dev/acpi
diff options
context:
space:
mode:
authorJordan Hargrave <jordan@cvs.openbsd.org>2006-02-22 19:38:02 +0000
committerJordan Hargrave <jordan@cvs.openbsd.org>2006-02-22 19:38:02 +0000
commitccf099f611ed116a727651d01f21525b8a559bb4 (patch)
tree1d4adbf13a7d87cea6f3a7ba35852b520c2995e5 /sys/dev/acpi
parent9b8806934e69394f30f3e640098413c0d21bf0b3 (diff)
Added parsing of SSDT tables
ok marco@
Diffstat (limited to 'sys/dev/acpi')
-rw-r--r--sys/dev/acpi/acpi.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/sys/dev/acpi/acpi.c b/sys/dev/acpi/acpi.c
index 5e52dfc3df9..89fad3733ba 100644
--- a/sys/dev/acpi/acpi.c
+++ b/sys/dev/acpi/acpi.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: acpi.c,v 1.40 2006/02/22 19:30:45 jordan Exp $ */
+/* $OpenBSD: acpi.c,v 1.41 2006/02/22 19:38:01 jordan Exp $ */
/*
* Copyright (c) 2005 Thorsten Lockert <tholo@sigmasoft.com>
* Copyright (c) 2005 Jordan Hargrave <jordan@openbsd.org>
@@ -628,6 +628,17 @@ acpi_attach(struct device *parent, struct device *self, void *aux)
acpi_parse_aml(sc, p_dsdt->aml, p_dsdt->hdr_length -
sizeof(p_dsdt->hdr));
+ /* Load SSDT's */
+ SIMPLEQ_FOREACH(entry, &sc->sc_tables, q_next) {
+ if (memcmp(entry->q_table, SSDT_SIG,
+ sizeof(SSDT_SIG) - 1) == 0) {
+ p_dsdt = entry->q_table;
+ acpi_parse_aml(sc, p_dsdt->aml, p_dsdt->hdr_length -
+ sizeof(p_dsdt->hdr));
+ }
+ }
+
+
/* Find available sleeping states */
acpi_init_states(sc);