diff options
author | gibbs <gibbs@FreeBSD.org> | 1995-12-12 08:50:15 +0000 |
---|---|---|
committer | gibbs <gibbs@FreeBSD.org> | 1995-12-12 08:50:15 +0000 |
commit | b04adf9ec4d7aa4da6ac3787398d1aa72f3eccce (patch) | |
tree | 55c7b26cdfcd8e54b54ffd26e206da63ecb4e195 /sys | |
parent | fbc6c334ee3a9a0aab99774d33f9862cbdfd02e9 (diff) | |
download | FreeBSD-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.c | 15 | ||||
-rw-r--r-- | sys/i386/i386/autoconf.c | 15 |
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(); |