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"
index | next in thread | previous in thread | raw e-mail
> > 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
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199811262000.OAA02448>
