summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorgibbs <gibbs@FreeBSD.org>1995-12-12 08:50:15 +0000
committergibbs <gibbs@FreeBSD.org>1995-12-12 08:50:15 +0000
commitb04adf9ec4d7aa4da6ac3787398d1aa72f3eccce (patch)
tree55c7b26cdfcd8e54b54ffd26e206da63ecb4e195 /sys
parentfbc6c334ee3a9a0aab99774d33f9862cbdfd02e9 (diff)
downloadFreeBSD-src-b04adf9ec4d7aa4da6ac3787398d1aa72f3eccce.zip
FreeBSD-src-b04adf9ec4d7aa4da6ac3787398d1aa72f3eccce.tar.gz
Have Eisa and PCI probes occur before ISA probes. Buslogic EISA and PCI cards
can be found in ISA compatibility mode by the ISA driver, but since the EISA and PCI probes are non-invasive, we prefer them to find the card first. Since both EISA and PCI probes can rely on interrupts, enable them before probing of any type is performed. All ISA probes are still "protected" by splhigh().
Diffstat (limited to 'sys')
-rw-r--r--sys/amd64/amd64/autoconf.c15
-rw-r--r--sys/i386/i386/autoconf.c15
2 files changed, 20 insertions, 10 deletions
diff --git a/sys/amd64/amd64/autoconf.c b/sys/amd64/amd64/autoconf.c
index 9506751..291f89c 100644
--- a/sys/amd64/amd64/autoconf.c
+++ b/sys/amd64/amd64/autoconf.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* from: @(#)autoconf.c 7.1 (Berkeley) 5/9/91
- * $Id: autoconf.c,v 1.46 1995/12/07 20:31:02 peter Exp $
+ * $Id: autoconf.c,v 1.47 1995/12/10 13:36:24 phk Exp $
*/
/*
@@ -59,6 +59,7 @@
#include <machine/cons.h>
#include <machine/md_var.h>
#include <machine/pte.h>
+#include <i386/isa/icu.h> /* For interrupts */
#include "isa.h"
#if NISA > 0
@@ -171,15 +172,15 @@ configure(dummy)
configure_start();
+ /* Allow all routines to decide for themselves if they want intrs */
+ enable_intr();
+ INTREN(IRQ_SLAVE);
+
#if NCRD > 0
/* Before isa_configure to avoid ISA drivers finding our cards */
pccard_configure();
#endif
-#if NISA > 0
- isa_configure();
-#endif
-
#if NEISA > 0
eisa_configure();
#endif
@@ -188,6 +189,10 @@ configure(dummy)
pci_configure();
#endif
+#if NISA > 0
+ isa_configure();
+#endif
+
configure_finish();
cninit_finish();
diff --git a/sys/i386/i386/autoconf.c b/sys/i386/i386/autoconf.c
index 9506751..291f89c 100644
--- a/sys/i386/i386/autoconf.c
+++ b/sys/i386/i386/autoconf.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* from: @(#)autoconf.c 7.1 (Berkeley) 5/9/91
- * $Id: autoconf.c,v 1.46 1995/12/07 20:31:02 peter Exp $
+ * $Id: autoconf.c,v 1.47 1995/12/10 13:36:24 phk Exp $
*/
/*
@@ -59,6 +59,7 @@
#include <machine/cons.h>
#include <machine/md_var.h>
#include <machine/pte.h>
+#include <i386/isa/icu.h> /* For interrupts */
#include "isa.h"
#if NISA > 0
@@ -171,15 +172,15 @@ configure(dummy)
configure_start();
+ /* Allow all routines to decide for themselves if they want intrs */
+ enable_intr();
+ INTREN(IRQ_SLAVE);
+
#if NCRD > 0
/* Before isa_configure to avoid ISA drivers finding our cards */
pccard_configure();
#endif
-#if NISA > 0
- isa_configure();
-#endif
-
#if NEISA > 0
eisa_configure();
#endif
@@ -188,6 +189,10 @@ configure(dummy)
pci_configure();
#endif
+#if NISA > 0
+ isa_configure();
+#endif
+
configure_finish();
cninit_finish();
OpenPOWER on IntegriCloud