Messages in this thread Patch in this message | | | From | James Robertson <> | Subject | Re: [patch] SMP fixes 2.2.1 | Date | Mon, 01 Feb 1999 17:35:59 EST |
| |
In message <Pine.LNX.3.96.990201203806.46F-100000@chiara.csoma.elte.hu>, mingo@ chiara.csoma.elte.hu writes: > >On Mon, 1 Feb 1999, Rik van Riel wrote: > >> > > Well, my Intel Neptune board with dual P120 doesn't reboot >> > > with 2.2, but it did reboot with Linux 2.0 (according to >> > > the previous owner). >> > >> > Ditto mine with a dual P90 - specifically if I say "noapic" it can reboot >> > if I let it run APIC mode it cannot. It appears to be a BIOS problem. >> >> I seem to remember a "disabling symmetric mode" message >> and several others from the linux-kernel mailing list. > >does it happen with the attached patch too? (we have a problem i did not >want to solve until 2.3 but we might have to)
On a hunch, I tried clearing the IO-APIC pins when disabling symmetric IO mode. This fixes the hanging reboot problem for my ALR Revolution Quad6. Does this work for anyone else?
James
--- linux/arch/i386/kernel/io_apic.c.orig Mon Feb 1 17:28:07 1999 +++ linux/arch/i386/kernel/io_apic.c Mon Feb 1 16:35:12 1999 @@ -202,7 +202,7 @@ DO_ACTION( mask, 0, |= 0x00010000, io_apic_sync()) /* mask = 1 */ DO_ACTION( unmask, 0, &= 0xfffeffff, ) /* mask = 0 */ -static void __init clear_IO_APIC_pin(unsigned int pin) +static void clear_IO_APIC_pin(unsigned int pin) { struct IO_APIC_route_entry entry; @@ -793,9 +793,13 @@ */ void init_pic_mode(void) { + int pin; + printk("disabling symmetric IO mode... "); outb_p(0x70, 0x22); outb_p(0x00, 0x23); + for (pin = 0; pin < nr_ioapic_registers; pin++) + clear_IO_APIC_pin(pin); printk("...done.\n"); }
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |