Date: Thu, 26 Nov 1998 13:58:41 -0600 (CST) From: Joe Greco <jgreco@solaria.sol.net> To: Tor.Egge@fast.no Cc: freebsd-smp@FreeBSD.ORG Subject: Re: Help, cannot make HP Vectra XU work Message-ID: <199811262000.OAA02448@aurora.sol.net> In-Reply-To: <199811251645.RAA19467@midten.fast.no> from "Tor.Egge@fast.no" at "Nov 25, 98 05:45:08 pm"
next in thread | previous in thread | raw e-mail | index | archive | help
> > I/O Ints: Type Polarity Trigger Bus ID IRQ APIC ID PIN# > > INT conforms conforms 1 1 255 1 > ^^^ > > Try this patch: > > Index: sys/i386/i386/mp_machdep.c > =================================================================== > RCS file: /home/ncvs/src/sys/i386/i386/mp_machdep.c,v > retrieving revision 1.83 > diff -u -r1.83 mp_machdep.c > --- mp_machdep.c 1998/10/10 13:37:16 1.83 > +++ mp_machdep.c 1998/11/25 16:39:29 > @@ -1197,11 +1197,26 @@ > static int > int_entry(int_entry_ptr entry, int intr) > { > + int apic; > + > io_apic_ints[intr].int_type = entry->int_type; > io_apic_ints[intr].int_flags = entry->int_flags; > io_apic_ints[intr].src_bus_id = entry->src_bus_id; > io_apic_ints[intr].src_bus_irq = entry->src_bus_irq; > - io_apic_ints[intr].dst_apic_id = entry->dst_apic_id; > + if (entry->dst_apic_id == 255) { > + /* This signal goes to all IO APICS. Select an IO APIC > + with sufficient number of interrupt pins */ > + for (apic = 0; apic < mp_napics; apic++) > + if (((io_apic_read(apic, IOAPIC_VER) & > + IOART_VER_MAXREDIR) >> MAXREDIRSHIFT) >= > + entry->dst_apic_int) > + break; > + if (apic < mp_napics) > + io_apic_ints[intr].dst_apic_id = IO_TO_ID(apic); > + else > + io_apic_ints[intr].dst_apic_id = entry->dst_apic_id; > + } else > + io_apic_ints[intr].dst_apic_id = entry->dst_apic_id; > io_apic_ints[intr].dst_apic_int = entry->dst_apic_int; > > return 1; Woohoo!! Thank you! My gamers thank you too, even though they probably don't know what FreeBSD is. ;-) Is this a patch likely to make it into FreeBSD, or should I archive this separately for future upgrades? Thank you very much, ... Joe ------------------------------------------------------------------------------- Joe Greco - Systems Administrator jgreco@ns.sol.net Solaria Public Access UNIX - Milwaukee, WI 414/342-4847 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199811262000.OAA02448>