Re: 2.6.0-test3-mm3 reserve IRQ for isapnp (2.6.0-test3-mm3 )

Wes Janzen
2003-08-21T11:59:15Z

Thanks, I was supposed to try that too, but I forgot ;-)

So I tried it. Doesn't work... It does change the IRQ assignments, but
I don't think there would be any hope of it running without ACPI. Isn't
ACPI required for IRQ sharing? If not then it might work.

It uses 6 IRQ's just between the IDE and USB...the thing's stuffed with
cards. Add video, SB16, 2 serial ports, parallel...well, you get the
idea.

Now if VIA would have made it correctly in the first place...

Wes

Thomas Schlichter wrote:

>Hi,
>
>I had similar problems with the ACPI IRQ routing, too.
>
>For me everything worked fine if I used acpi=off. I didn't see your results
>trying this... If this works you may be interested in the attached patch
>which also makes pci=noacpi work for me!
>
>I'd be interested in your results with the patch...
>
>Best regards
> Thomas Schlichter
>
>On Thursday 21 August 2003 11:57, Wes Janzen wrote:
>
>
>>Hi again!
>>
>>OK, finally managed to boot, though I had to disable USB and ISAPNP to
>>do that. I couldn't get it to work until I disabled ISA PNP in the
>>build menu.
>>
>>Even without ISAPNP I had trouble. I tried nousb on its own, which did
>>not work. I had to use both pci=noacpi, nolapic, noapic and nousb. Now
>>I don't know if I HAD to use the apic ones, but it probably doesn't
>>matter since my box isn't capable anyway. I just wanted it to boot
>>because it takes a while for those Promise cards to detect the drives.
>>
>>Finally it would boot, but then I lose a lot without usb. Oddly, IRQ 5
>>is freed with both nousb AND pci=noacpi. That was not the case with
>>just pci=noacpi or just nousb. But then maybe that isn't so odd since
>>the USB card sucks up 3 irqs. With just pci=noacpi I made it several
>>lines farther. Instead of "mice: PS/2 mouse device...", I got to see
>>"hub 1-0:0: new USB device on port2, assigned address 2", which was
>>proceeded by some ACPI message that also said something (IIRC) about
>>states S4 and S5. Usually it only says something about C1 and C2.
>>
>>Anyway, for what it's worth, here's cat /proc/interrupts:
>> CPU0
>> 0: 199807 XT-PIC timer
>> 1: 822 XT-PIC i8042
>> 2: 0 XT-PIC cascade
>> 7: 1 XT-PIC parport0
>> 8: 2 XT-PIC rtc
>> 9: 7 XT-PIC acpi, eth0
>> 11: 7631 XT-PIC ide2, ide3
>> 12: 70 XT-PIC ide4, ide5
>> 14: 1 XT-PIC ide0
>>NMI: 0
>>LOC: 0
>>ERR: 0
>>MIS: 0
>>
>>I've attached lspic -vv and boot.msg this time rather than include them in.
>>
>>Sure would be nice to get mm3 working with those reiserfs fixes...I
>>guess I'll just hand patch for now. Sure beats the rebuild-tree I have
>>to do every 5 days or so ;-)
>>
>>Thanks,
>>
>>Wes
>>
>>
>>------------------------------------------------------------------------
>>
>>--- linux-2.6.0-test3-mm3/arch/i386/kernel/acpi/boot.c.orig Wed Aug 20 03:42:13 2003
>>+++ linux-2.6.0-test3-mm3/arch/i386/kernel/acpi/boot.c Wed Aug 20 04:03:56 2003
>>@@ -39,6 +39,7 @@
>> #define PREFIX "ACPI: "
>>
>> extern int acpi_disabled;
>>+extern int acpi_irq;
>> extern int acpi_ht;
>>
>> /* --------------------------------------------------------------------------
>>@@ -416,7 +417,7 @@
>> * If MPS is present, it will handle them,
>> * otherwise the system will stay in PIC mode
>> */
>>- if (acpi_disabled) {
>>+ if (acpi_disabled || !acpi_irq) {
>> return 1;
>> }
>>
>>@@ -451,15 +452,13 @@
>>
>> acpi_ioapic = 1;
>>
>>+#ifdef CONFIG_X86_LOCAL_APIC
>>+ smp_found_config = 1;
>>+ clustered_apic_check();
>>+#endif
>>+
>> #endif /*CONFIG_ACPI*/
>> #endif /*CONFIG_X86_IO_APIC*/
>>-
>>-#ifdef CONFIG_X86_LOCAL_APIC
>>- if (acpi_lapic && acpi_ioapic) {
>>- smp_found_config = 1;
>>- clustered_apic_check();
>>- }
>>-#endif
>>
>> return 0;
>> }
>>--- linux-2.6.0-test3-mm3/arch/i386/kernel/setup.c.orig Wed Aug 20 03:41:56 2003
>>+++ linux-2.6.0-test3-mm3/arch/i386/kernel/setup.c Wed Aug 20 04:03:03 2003
>>@@ -70,6 +70,7 @@
>> EXPORT_SYMBOL(acpi_disabled);
>>
>> #ifdef CONFIG_ACPI_BOOT
>>+ int acpi_irq __initdata = 1; /* enable IRQ */
>> int acpi_ht __initdata = 1; /* enable HT */
>> #endif
>>
>>@@ -541,6 +542,11 @@
>> else if (!memcmp(from, "acpi=ht", 7)) {
>> acpi_ht = 1;
>> if (!acpi_force) acpi_disabled = 1;
>>+ }
>>+
>>+ /* "pci=noacpi" disables ACPI interrupt routing */
>>+ else if (!memcmp(from, "pci=noacpi", 10)) {
>>+ acpi_irq = 0;
>> }
>> #endif
>>
>>
>>