With 2.4.3-pre1, /proc/pci contained:
> Bus 0, device 7, function 3:
> Bridge: Intel Corporation 82371AB PIIX4 ACPI (rev 1).
With 2.4.2-ac16, /proc/pci contains:
> Bus 0, device 7, function 3:
> Bridge: Intel Corporation 82371AB PIIX4 ACPI (rev 1).
> IRQ 9.
So the ACPI function of the PIIX4 is now being given
IRQ 9. I don't want this. I was using IRQ 9 for a
PCMCIA device.
So I tried booting the kernel with "acpi=off" and
"pci=irqmask=0x0800", but the result was the same.
Documentation/kernel-parameters.txt says that
"pci=irqmask=0xMMMM ... sets a bit mask of IRQs allowed
to be assigned". This parameter is being ignored.
[... searches through kernel sources ...]
Well I see that this is the result of a change to
/usr/src/linux-2.4.2-ac16/arch/i386/kernel/pci_pc.c
which looks deliberate:
< static void __init pci_fixup_piix4_acpi(struct pci_dev *d)
< {
< /*
< * PIIX4 ACPI device: hardwired IRQ9
< */
< d->irq = 9;
< }
What's going on?
Thomas Hood
jdthood_AT_yahoo.co.uk
> With 2.4.2-ac16, /proc/pci contains:
> > Bus 0, device 7, function 3:
> > Bridge: Intel Corporation 82371AB PIIX4 ACPI (rev 1).
> > IRQ 9.
>
> So the ACPI function of the PIIX4 is now being given
> IRQ 9. I don't want this. I was using IRQ 9 for a
> PCMCIA device.
It was always being given IRQ 9, now we correctly handle this.
Alan Cox wrote:
> > So the ACPI function of the PIIX4 is now being given
> > IRQ 9. I don't want this. I was using IRQ 9 for a
> > PCMCIA device.
>
> It was always being given IRQ 9, now we correctly handle this.
Okay, but. IRQs are scarce. With previous kernels I was able
to use IRQ 9 for other things without any obvious problems.
Perhaps this is only because I don't have ACPI support enabled.
Still, if I disable ACPI support then shouldn't I be able to use
IRQ 9 for other things? If so, shouldn't the kernel to refrain
from reserving this IRQ?
Thomas Hood
jdthood_AT_yahoo.co.uk