summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorguenther <guenther@openbsd.org>2015-09-11 22:44:30 +0000
committerguenther <guenther@openbsd.org>2015-09-11 22:44:30 +0000
commitccde65673a84bac80eed7d5814d9f3654c8d17c3 (patch)
tree8b891ced16b0673e8adfd47443a36e8c1ed6dfa4
parentMake the powerpc pmap (more) mpsafe by protecting both the pmap itself and the (diff)
downloadwireguard-openbsd-ccde65673a84bac80eed7d5814d9f3654c8d17c3.tar.xz
wireguard-openbsd-ccde65673a84bac80eed7d5814d9f3654c8d17c3.zip
Workaround broken AML by treating FFH vendor 8 the same as vendor 1 (== intel)
ok millert@ kettenis@ and something like an ok mlarkin@
-rw-r--r--sys/dev/acpi/acpicpu.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/dev/acpi/acpicpu.c b/sys/dev/acpi/acpicpu.c
index a4f340a1ef5..8206adf95a9 100644
--- a/sys/dev/acpi/acpicpu.c
+++ b/sys/dev/acpi/acpicpu.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: acpicpu.c,v 1.68 2015/08/04 22:25:54 guenther Exp $ */
+/* $OpenBSD: acpicpu.c,v 1.69 2015/09/11 22:44:30 guenther Exp $ */
/*
* Copyright (c) 2005 Marco Peereboom <marco@openbsd.org>
* Copyright (c) 2015 Philip Guenther <guenther@openbsd.org>
@@ -394,8 +394,12 @@ acpicpu_add_cstatepkg(struct aml_value *val, void *arg)
if (grd->grd_gas.register_bit_width == 0) {
method = CST_METH_HALT;
addr = 0;
- } else if (grd->grd_gas.register_bit_width == 1) {
- /* vendor == Intel */
+ } else if (grd->grd_gas.register_bit_width == 1 ||
+ grd->grd_gas.register_bit_width == 8) {
+ /*
+ * vendor 1 == Intel
+ * vendor 8 == "AML author used the bitwidth"
+ */
switch (grd->grd_gas.register_bit_offset) {
case 0x1:
method = CST_METH_IO_HALT;