summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorjoerg <joerg@NetBSD.org>2008-07-31 14:05:05 +0000
committerjoerg <joerg@NetBSD.org>2008-07-31 14:05:05 +0000
commit0b2a6aef8430ed45db1db58ff49ee2bb6ac045ab (patch)
tree3cc506376dbb51f083c0eaa96a93dceee429e347 /sys
parent4a733c2463c6d232cca26aa5c07acf735a0068de (diff)
machdep.acpi_vbios_reset = 2 --> vga_pci_resume will use x86emu to do a
POST when options VGA_POST is present.
Diffstat (limited to 'sys')
-rw-r--r--sys/arch/x86/acpi/acpi_wakeup.c8
-rw-r--r--sys/arch/x86/x86/mpacpi.c10
-rw-r--r--sys/dev/pci/vga_pci.c9
3 files changed, 18 insertions, 9 deletions
diff --git a/sys/arch/x86/acpi/acpi_wakeup.c b/sys/arch/x86/acpi/acpi_wakeup.c
index 3b76218ff77..851d67f65d5 100644
--- a/sys/arch/x86/acpi/acpi_wakeup.c
+++ b/sys/arch/x86/acpi/acpi_wakeup.c
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi_wakeup.c,v 1.6 2008/05/11 15:32:20 ad Exp $ */
+/* $NetBSD: acpi_wakeup.c,v 1.7 2008/07/31 14:05:05 joerg Exp $ */
/*-
* Copyright (c) 2002 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: acpi_wakeup.c,v 1.6 2008/05/11 15:32:20 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: acpi_wakeup.c,v 1.7 2008/07/31 14:05:05 joerg Exp $");
/*-
* Copyright (c) 2001 Takanori Watanabe <takawata@jp.freebsd.org>
@@ -109,7 +109,7 @@ static paddr_t acpi_wakeup_paddr = 3 * PAGE_SIZE;
static vaddr_t acpi_wakeup_vaddr;
static int acpi_md_node = CTL_EOL;
-static int acpi_md_vbios_reset = 1;
+int acpi_md_vbios_reset = 1; /* Referenced by dev/pci/vga_pci.c */
static int acpi_md_beep_on_reset = 0;
static int sysctl_md_acpi_vbios_reset(SYSCTLFN_ARGS);
@@ -446,7 +446,7 @@ sysctl_md_acpi_vbios_reset(SYSCTLFN_ARGS)
if (error || newp == NULL)
return error;
- if (t < 0 || t > 1)
+ if (t < 0 || t > 2)
return EINVAL;
acpi_md_vbios_reset = t;
diff --git a/sys/arch/x86/x86/mpacpi.c b/sys/arch/x86/x86/mpacpi.c
index 14f4ccfd7de..1e69d64587e 100644
--- a/sys/arch/x86/x86/mpacpi.c
+++ b/sys/arch/x86/x86/mpacpi.c
@@ -1,4 +1,4 @@
-/* $NetBSD: mpacpi.c,v 1.67 2008/07/21 11:51:59 cegger Exp $ */
+/* $NetBSD: mpacpi.c,v 1.68 2008/07/31 14:05:05 joerg Exp $ */
/*
* Copyright (c) 2003 Wasabi Systems, Inc.
@@ -36,7 +36,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mpacpi.c,v 1.67 2008/07/21 11:51:59 cegger Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mpacpi.c,v 1.68 2008/07/31 14:05:05 joerg Exp $");
#include "acpi.h"
#include "opt_acpi.h"
@@ -750,6 +750,12 @@ mpacpi_pciroute(struct mpacpi_pcibus *mpr)
break;
dev = ACPI_HIWORD(ptrp->Address);
+ if (ptrp->Source[0] == 0 &&
+ (ptrp->SourceIndex == 14 || ptrp->SourceIndex == 15)) {
+ printf("Skipping PCI routing entry for PCI IDE compat IRQ");
+ continue;
+ }
+
mpi = &mp_intrs[mpacpi_intr_index];
mpi->bus_pin = (dev << 2) | (ptrp->Pin & 3);
mpi->bus = mpb;
diff --git a/sys/dev/pci/vga_pci.c b/sys/dev/pci/vga_pci.c
index 3d524a0a940..e8bd2b7bc3f 100644
--- a/sys/dev/pci/vga_pci.c
+++ b/sys/dev/pci/vga_pci.c
@@ -1,4 +1,4 @@
-/* $NetBSD: vga_pci.c,v 1.42 2008/05/18 19:54:11 jmcneill Exp $ */
+/* $NetBSD: vga_pci.c,v 1.43 2008/07/31 14:05:05 joerg Exp $ */
/*
* Copyright (c) 1995, 1996 Carnegie-Mellon University.
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: vga_pci.c,v 1.42 2008/05/18 19:54:11 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vga_pci.c,v 1.43 2008/07/31 14:05:05 joerg Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -263,12 +263,15 @@ vga_pci_rescan(struct device *self, const char *ifattr, const int *locators)
static bool
vga_pci_resume(device_t dv PMF_FN_ARGS)
{
+#ifdef VGA_POST
+ extern int acpi_md_vbios_reset;
+#endif
struct vga_pci_softc *sc = device_private(dv);
vga_resume(&sc->sc_vga);
#ifdef VGA_POST
- if (sc->sc_posth != NULL)
+ if (sc->sc_posth != NULL && acpi_md_vbios_reset == 2)
vga_post_call(sc->sc_posth);
#endif