Deleted Added
full compact
isa.c (40286) isa.c (40565)
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.114 1998/10/12 13:12:45 bde Exp $
37 * $Id: isa.c,v 1.115 1998/10/13 08:24:38 dg 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

--- 506 unchanged lines hidden (view full) ---

552 * a check for IRQs in the next group of checks.
553 */
554 checkbits |= CC_ATTACH | CC_IRQ;
555 if (haveseen_isadev(isdp, checkbits))
556 return;
557 isdp->id_alive = id_alive;
558 }
559 (*dp->attach)(isdp);
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

--- 506 unchanged lines hidden (view full) ---

552 * a check for IRQs in the next group of checks.
553 */
554 checkbits |= CC_ATTACH | CC_IRQ;
555 if (haveseen_isadev(isdp, checkbits))
556 return;
557 isdp->id_alive = id_alive;
558 }
559 (*dp->attach)(isdp);
560 if (isdp->id_irq) {
560 if (isdp->id_irq != 0 && isdp->id_intr == NULL)
561 printf("%s%d: irq with no handler\n",
562 dp->name, isdp->id_unit);
563 if (isdp->id_irq != 0 && isdp->id_intr != NULL) {
561#ifdef APIC_IO
562 /*
563 * Some motherboards use upper IRQs for traditional
564 * ISA INTerrupt sources. In particular we have
565 * seen the secondary IDE connected to IRQ20.
566 * This code detects and fixes this situation.
567 */
568 u_int apic_mask;

--- 20 unchanged lines hidden (view full) ---

589 dp->name, isdp->id_unit);
590 if (isdp->id_iobase != -1)
591 printf(" at 0x%x", isdp->id_iobase);
592 printf("\n");
593 }
594 } else {
595#if 0
596 /* This code has not been tested.... */
564#ifdef APIC_IO
565 /*
566 * Some motherboards use upper IRQs for traditional
567 * ISA INTerrupt sources. In particular we have
568 * seen the secondary IDE connected to IRQ20.
569 * This code detects and fixes this situation.
570 */
571 u_int apic_mask;

--- 20 unchanged lines hidden (view full) ---

592 dp->name, isdp->id_unit);
593 if (isdp->id_iobase != -1)
594 printf(" at 0x%x", isdp->id_iobase);
595 printf("\n");
596 }
597 } else {
598#if 0
599 /* This code has not been tested.... */
597 if (isdp->id_irq) {
600 if (isdp->id_irq != 0 && isdp->id_intr != NULL) {
598 icu_unset(ffs(isdp->id_irq) - 1,
599 isdp->id_intr);
600 if (mp)
601 INTRUNMASK(*mp, isdp->id_irq);
602 }
603#else
604 printf ("icu_unset() not supported here ...\n");
605#endif

--- 471 unchanged lines hidden ---
601 icu_unset(ffs(isdp->id_irq) - 1,
602 isdp->id_intr);
603 if (mp)
604 INTRUNMASK(*mp, isdp->id_irq);
605 }
606#else
607 printf ("icu_unset() not supported here ...\n");
608#endif

--- 471 unchanged lines hidden ---