isa.c (3726) | isa.c (3816) |
---|---|
1/*- 2 * Copyright (c) 1991 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * William Jolitz. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 20 unchanged lines hidden (view full) --- 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 34 * SUCH DAMAGE. 35 * 36 * from: @(#)isa.c 7.2 (Berkeley) 5/13/91 | 1/*- 2 * Copyright (c) 1991 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * William Jolitz. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 20 unchanged lines hidden (view full) --- 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 34 * SUCH DAMAGE. 35 * 36 * from: @(#)isa.c 7.2 (Berkeley) 5/13/91 |
37 * $Id: isa.c,v 1.30 1994/10/19 01:59:06 wollman Exp $ | 37 * $Id: isa.c,v 1.31 1994/10/19 21:57:51 bde Exp $ |
38 */ 39 40/* 41 * code to manage AT bus 42 * 43 * 92/08/18 Frank P. MacLachlan (fpm@crash.cts.com): 44 * Fixed uninitialized variable problem and added code to deal 45 * with DMA page boundaries in isa_dmarangecheck(). Fixed word --- 55 unchanged lines hidden (view full) --- 101 ef; }) 102#define write_eflags(ef) __asm("pushl %0; popfl" : : "a" ((u_long)(ef))) 103 104u_long *intr_countp[ICU_LEN]; 105inthand2_t *intr_handler[ICU_LEN]; 106u_int intr_mask[ICU_LEN]; 107int intr_unit[ICU_LEN]; 108 | 38 */ 39 40/* 41 * code to manage AT bus 42 * 43 * 92/08/18 Frank P. MacLachlan (fpm@crash.cts.com): 44 * Fixed uninitialized variable problem and added code to deal 45 * with DMA page boundaries in isa_dmarangecheck(). Fixed word --- 55 unchanged lines hidden (view full) --- 101 ef; }) 102#define write_eflags(ef) __asm("pushl %0; popfl" : : "a" ((u_long)(ef))) 103 104u_long *intr_countp[ICU_LEN]; 105inthand2_t *intr_handler[ICU_LEN]; 106u_int intr_mask[ICU_LEN]; 107int intr_unit[ICU_LEN]; 108 |
109struct kern_devconf kdc_isa0 = { 110 0, 0, 0, /* filled in by dev_attach */ 111 "isa", 0, { MDDT_BUS, 0 }, 112 0, 0, 0, BUS_EXTERNALLEN, 113 0, /* no parent yet; parent should be CPU */ 114 0, /* no parentdata */ 115 DC_BUSY, /* busses are always busy */ 116 "ISA or EISA bus" 117}; 118 |
|
109static inthand_t *fastintr[ICU_LEN] = { 110 &IDTVEC(fastintr0), &IDTVEC(fastintr1), 111 &IDTVEC(fastintr2), &IDTVEC(fastintr3), 112 &IDTVEC(fastintr4), &IDTVEC(fastintr5), 113 &IDTVEC(fastintr6), &IDTVEC(fastintr7), 114 &IDTVEC(fastintr8), &IDTVEC(fastintr9), 115 &IDTVEC(fastintr10), &IDTVEC(fastintr11), 116 &IDTVEC(fastintr12), &IDTVEC(fastintr13), --- 148 unchanged lines hidden (view full) --- 265 266/* 267 * Configure all ISA devices 268 */ 269void 270isa_configure() { 271 struct isa_device *dvp; 272 | 119static inthand_t *fastintr[ICU_LEN] = { 120 &IDTVEC(fastintr0), &IDTVEC(fastintr1), 121 &IDTVEC(fastintr2), &IDTVEC(fastintr3), 122 &IDTVEC(fastintr4), &IDTVEC(fastintr5), 123 &IDTVEC(fastintr6), &IDTVEC(fastintr7), 124 &IDTVEC(fastintr8), &IDTVEC(fastintr9), 125 &IDTVEC(fastintr10), &IDTVEC(fastintr11), 126 &IDTVEC(fastintr12), &IDTVEC(fastintr13), --- 148 unchanged lines hidden (view full) --- 275 276/* 277 * Configure all ISA devices 278 */ 279void 280isa_configure() { 281 struct isa_device *dvp; 282 |
283 dev_attach(&kdc_isa0); 284 |
|
273 splhigh(); 274 enable_intr(); 275 INTREN(IRQ_SLAVE); 276 printf("Probing for devices on the ISA bus:\n"); 277 /* First probe all the sensitive probes */ 278 for (dvp = isa_devtab_tty; dvp->id_driver; dvp++) 279 if (dvp->id_driver->sensitive_hw) 280 config_isadev(dvp, &tty_imask); --- 713 unchanged lines hidden --- | 285 splhigh(); 286 enable_intr(); 287 INTREN(IRQ_SLAVE); 288 printf("Probing for devices on the ISA bus:\n"); 289 /* First probe all the sensitive probes */ 290 for (dvp = isa_devtab_tty; dvp->id_driver; dvp++) 291 if (dvp->id_driver->sensitive_hw) 292 config_isadev(dvp, &tty_imask); --- 713 unchanged lines hidden --- |