Module Name: src
Committed By: bouyer
Date: Thu Jun 23 14:32:16 UTC 2022
Modified Files:
src/sys/arch/xen/conf: files.compat
src/sys/arch/xen/xen: hypervisor.c
Log Message:
Don't override isadma defflag for Xen, now that isadma is built for Xen PV too.
While there, match amd64 mainbus and call isa_dmainit() before attaching acpi.
Fixes a panic at boot on some hardware with a floppy disk controller.
To generate a diff of this commit:
cvs rdiff -u -r1.33 -r1.34 src/sys/arch/xen/conf/files.compat
cvs rdiff -u -r1.95 -r1.96 src/sys/arch/xen/xen/hypervisor.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/xen/conf/files.compat
diff -u src/sys/arch/xen/conf/files.compat:1.33 src/sys/arch/xen/conf/files.compat:1.34
--- src/sys/arch/xen/conf/files.compat:1.33 Sat Apr 25 15:26:17 2020
+++ src/sys/arch/xen/conf/files.compat Thu Jun 23 14:32:16 2022
@@ -1,4 +1,4 @@
-# $NetBSD: files.compat,v 1.33 2020/04/25 15:26:17 bouyer Exp $
+# $NetBSD: files.compat,v 1.34 2022/06/23 14:32:16 bouyer Exp $
# NetBSD: files.x86,v 1.10 2003/10/08 17:30:00 bouyer Exp
# options for MP configuration through the MP spec
@@ -9,7 +9,6 @@
defflag lapic.h XXXLAPIC
defflag apm.h XXXAPM
defflag eisa.h XXXEISA
-defflag isadma.h XXXISADMA
defflag mca.h XXXMCA
defflag ega.h XXXEGA
defflag pcdisplay.h XXXPCDISPLAY
Index: src/sys/arch/xen/xen/hypervisor.c
diff -u src/sys/arch/xen/xen/hypervisor.c:1.95 src/sys/arch/xen/xen/hypervisor.c:1.96
--- src/sys/arch/xen/xen/hypervisor.c:1.95 Wed May 25 15:52:25 2022
+++ src/sys/arch/xen/xen/hypervisor.c Thu Jun 23 14:32:16 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: hypervisor.c,v 1.95 2022/05/25 15:52:25 bouyer Exp $ */
+/* $NetBSD: hypervisor.c,v 1.96 2022/06/23 14:32:16 bouyer Exp $ */
/*
* Copyright (c) 2005 Manuel Bouyer.
@@ -53,7 +53,7 @@
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: hypervisor.c,v 1.95 2022/05/25 15:52:25 bouyer Exp $");
+__KERNEL_RCSID(0, "$NetBSD: hypervisor.c,v 1.96 2022/06/23 14:32:16 bouyer Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -63,6 +63,7 @@ __KERNEL_RCSID(0, "$NetBSD: hypervisor.c
#include "xenbus.h"
#include "xencons.h"
#include "isa.h"
+#include "isadma.h"
#include "pci.h"
#include "acpica.h"
#include "kernfs.h"
@@ -689,6 +690,14 @@ hypervisor_attach(device_t parent, devic
#if defined(DOM0OPS)
#if defined(XENPV)
+#if NISADMA > 0 && NACPICA > 0
+ /*
+ * ACPI needs ISA DMA initialized before they start probing.
+ */
+ isa_dmainit(&x86_isa_chipset, x86_bus_space_io, &isa_bus_dma_tag,
+ self);
+#endif
+
#if NPCI > 0
#if NACPICA > 0
if (acpi_present) {