Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/acpi Add a quirk for pgoyette@'s old (ACPI 1.0) NVID...



details:   https://anonhg.NetBSD.org/src/rev/d4ea52a9feda
branches:  trunk
changeset: 756643:d4ea52a9feda
user:      jruoho <jruoho%NetBSD.org@localhost>
date:      Tue Jul 27 06:14:37 2010 +0000

description:
Add a quirk for pgoyette@'s old (ACPI 1.0) NVIDIA board.

It was analyzed that this DSDT busy-loops some unknown PCI memory regions in
several places. Because the regions are apparently almost constant, this
causes several conditions where the interpreter might enter into an infinite
loop. Luckily ACPICA detects this and rightly spams AE_AML_INFINITE_LOOP
warnings.

Not much we can do. Declare as broken beyond repair. Set acpi_force_load=1
to use ACPI or use a custom DSDT.

diffstat:

 sys/dev/acpi/acpi_quirks.c |  7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diffs (28 lines):

diff -r f3fe0e0d9d07 -r d4ea52a9feda sys/dev/acpi/acpi_quirks.c
--- a/sys/dev/acpi/acpi_quirks.c        Tue Jul 27 05:38:18 2010 +0000
+++ b/sys/dev/acpi/acpi_quirks.c        Tue Jul 27 06:14:37 2010 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: acpi_quirks.c,v 1.13 2010/04/28 17:52:17 jruoho Exp $  */
+/*     $NetBSD: acpi_quirks.c,v 1.14 2010/07/27 06:14:37 jruoho Exp $  */
 
 /*
  * Copyright 2002 Wasabi Systems, Inc.
@@ -37,7 +37,7 @@
 
 #include <sys/cdefs.h>
 
-__KERNEL_RCSID(0, "$NetBSD: acpi_quirks.c,v 1.13 2010/04/28 17:52:17 jruoho Exp $");
+__KERNEL_RCSID(0, "$NetBSD: acpi_quirks.c,v 1.14 2010/07/27 06:14:37 jruoho Exp $");
 
 #include "opt_acpi.h"
 
@@ -69,6 +69,9 @@
        { ACPI_SIG_FADT, "NVIDIA", 0x06040000, AQ_EQ, "CK8     ",
          ACPI_QUIRK_IRQ0 },
 
+       { ACPI_SIG_DSDT, "NVIDIA", 0x00001000, AQ_EQ, "AWRDACPI",
+         ACPI_QUIRK_BROKEN },
+
        { ACPI_SIG_FADT, "HP    ", 0x06040012, AQ_LTE, "HWPC20F ",
          ACPI_QUIRK_BROKEN },
 };



Home | Main Index | Thread Index | Old Index