PCI-ISA bridge and IO resource registration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I have run into a problem while dragging an application from 2.4.20 to
2.4.28 (baby steps..)

Anyhow, between these kernel versions, the ACPI code was seriously changed
and now it calls request_resource() for various I/O space resources.

The problem is that the PCI-ISA bridge is also trying to register the
IO address space range (in arch/i386/kernel/pci-i386.c:
pcibios_allocate_resources() ).  Since the ACPI already has resources
allocated in this range, when it tries to allocate the space to the bridge,
the request_resource() call fails and we assign a new address to the bridge
later, which of course confuses the ACPI code since its registers are no
longer at the exptected address.

It seems that the problem is that the resources assigned over a bridge
should not be reserved by a bridge itself, but I don't see where this
gets accounted for.

This is probably brought about because the particular bridge is not explicitly
recognized by the kernel (100b:002b, CS5535 ISA bridge), and I believe that
the kernel thinks that this is a normal PCI device.

Currently, I have the request_resource() calls in ACPI commented out, but
I would really want to get the CS5535 properly treated as a bridge instead,
if I can get a few pointers to how it is supposed to work.

Thanks in advance!

Marcus Hall
[email protected]
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux