Module Name: src
Committed By: martin
Date: Mon Sep 22 10:47:39 UTC 2014
Modified Files:
src/share/man/man4 [netbsd-7]: acpi.4
src/sys/dev/acpi [netbsd-7]: acpi_pci_link.c files.acpi
Log Message:
Pull up following revision(s) (requested by mrg in ticket #111):
sys/dev/acpi/files.acpi: revision 1.95
share/man/man4/acpi.4: revision 1.78
sys/dev/acpi/acpi_pci_link.c: revision 1.22
introduce a new option: ACPI__DIS_IS_BROKEN. this is a hack to
avoid calling the "_DIS" method during acpi interrupt link setup,
which hangs various nforce4 based motherboards.
when the problem is properly fixed, remove this hack. for now,
it allows someone (me) to have a valid kernel config that doesn't
require a source hack every new tree.
ok chs@
To generate a diff of this commit:
cvs rdiff -u -r1.77 -r1.77.2.1 src/share/man/man4/acpi.4
cvs rdiff -u -r1.21 -r1.21.2.1 src/sys/dev/acpi/acpi_pci_link.c
cvs rdiff -u -r1.94 -r1.94.4.1 src/sys/dev/acpi/files.acpi
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/share/man/man4/acpi.4
diff -u src/share/man/man4/acpi.4:1.77 src/share/man/man4/acpi.4:1.77.2.1
--- src/share/man/man4/acpi.4:1.77 Sun Jul 13 12:08:32 2014
+++ src/share/man/man4/acpi.4 Mon Sep 22 10:47:39 2014
@@ -1,4 +1,4 @@
-.\" $NetBSD: acpi.4,v 1.77 2014/07/13 12:08:32 wiz Exp $
+.\" $NetBSD: acpi.4,v 1.77.2.1 2014/09/22 10:47:39 martin Exp $
.\"
.\" Copyright (c) 2002, 2004, 2010 The NetBSD Foundation, Inc.
.\" All rights reserved.
@@ -24,7 +24,7 @@
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd July 13, 2014
+.Dd September 8, 2014
.Dt ACPI 4
.Os
.Sh NAME
@@ -39,6 +39,7 @@
.Cd options ACPI_DSDT_OVERRIDE
.Cd options ACPI_DSDT_FILE=""
.Cd options ACPI_BLACKLIST_YEAR=2000
+.Cd options ACPI__DIS_IS_BROKEN
.Sh DESCRIPTION
.Nx
provides machine-independent bus support for
@@ -97,6 +98,13 @@ is not specified, default to
in the build directory.
.It Dv ACPI_BLACKLIST_YEAR=2000
Do not use ACPI with any BIOS made on or before the specified year.
+.It Dv ACPI__DIS_IS_BROKEN
+Do not call the ACPI "_DIS" method to disable interrupt links.
+This may be required on specific
+.Dq nForce4
+chipset systems, which hard hang when this method is called instead of
+having it fail gracefully.
+.Dq
.El
.Sh SYSCTL SUPPORT
Few
@@ -658,3 +666,7 @@ among others.
Most of the
.Tn ACPI
power management functionalities are not implemented.
+.Pp
+The
+.Dv ACPI__DIS_IS_BROKEN
+option should not be necessary.
Index: src/sys/dev/acpi/acpi_pci_link.c
diff -u src/sys/dev/acpi/acpi_pci_link.c:1.21 src/sys/dev/acpi/acpi_pci_link.c:1.21.2.1
--- src/sys/dev/acpi/acpi_pci_link.c:1.21 Mon Apr 14 01:56:18 2014
+++ src/sys/dev/acpi/acpi_pci_link.c Mon Sep 22 10:47:39 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi_pci_link.c,v 1.21 2014/04/14 01:56:18 jakllsch Exp $ */
+/* $NetBSD: acpi_pci_link.c,v 1.21.2.1 2014/09/22 10:47:39 martin Exp $ */
/*-
* Copyright (c) 2002 Mitsuru IWASAKI <[email protected]>
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: acpi_pci_link.c,v 1.21 2014/04/14 01:56:18 jakllsch Exp $");
+__KERNEL_RCSID(0, "$NetBSD: acpi_pci_link.c,v 1.21.2.1 2014/09/22 10:47:39 martin Exp $");
#include <sys/param.h>
#include <sys/malloc.h>
@@ -533,11 +533,13 @@ acpi_pci_link_attach(struct acpi_pci_lin
* run _DIS (i.e., the method doesn't exist), assume the initial
* IRQ was routed by the BIOS.
*/
+#ifndef ACPI__DIS_IS_BROKEN
if (ACPI_SUCCESS(AcpiEvaluateObject(sc->pl_handle, "_DIS", NULL,
NULL)))
for (i = 0; i < sc->pl_num_links; i++)
sc->pl_links[i].l_irq = PCI_INVALID_IRQ;
else
+#endif
for (i = 0; i < sc->pl_num_links; i++)
if (PCI_INTERRUPT_VALID(sc->pl_links[i].l_irq))
sc->pl_links[i].l_routed = TRUE;
Index: src/sys/dev/acpi/files.acpi
diff -u src/sys/dev/acpi/files.acpi:1.94 src/sys/dev/acpi/files.acpi:1.94.4.1
--- src/sys/dev/acpi/files.acpi:1.94 Tue Apr 1 17:47:36 2014
+++ src/sys/dev/acpi/files.acpi Mon Sep 22 10:47:39 2014
@@ -1,9 +1,10 @@
-# $NetBSD: files.acpi,v 1.94 2014/04/01 17:47:36 riastradh Exp $
+# $NetBSD: files.acpi,v 1.94.4.1 2014/09/22 10:47:39 martin Exp $
include "dev/acpi/acpica/files.acpica"
defflag opt_acpi.h ACPIVERBOSE ACPI_DEBUG ACPI_ACTIVATE_DEV
ACPI_DSDT_OVERRIDE ACPI_SCANPCI ACPI_BREAKPOINT
+ ACPI__DIS_IS_BROKEN
defparam opt_acpi.h ACPI_DSDT_FILE := "\"/dev/null\""
defparam opt_acpi.h ACPI_BLACKLIST_YEAR = 2000