iam using the PCI macros for address, length calculations. my device has 2
bars.
kvirt = ioremap(pci_resource_start(dev, 0), pci_resource_len(dev, 0));
kvirt1 = ioremap(pci_resource_start(dev, 1), pci_resource_len(dev,1));
issue is in PCI-X mode of operation, the addr is a 64bit addr. these macros
as
implemented seem to be restricted to 32bit addr. because in pcix mode i
would need to do
kvirt = ioremap(pci_resource_start(dev, 0), pci_resource_len(dev, 0));
kvirt1 = ioremap(pci_resource_start(dev, 2), pci_resource_len(dev,2));
it works for now, since the addr msb's are 0. but if this physical addr is a
true 64bit addr
the above wont work..
in windows NT when the PNP irps come in they provide a 64bit addr, and it
takes care
to provide a 64bit value. correctly (irrespective of the fact that the high
addr is 0)
will this get fixed in a future release?
ashokr
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/