Re: X86_64 + VIA + 4g problems

From: Robert Hancock
Date: Mon Jan 02 2006 - 16:32:12 EST


Andi Kleen wrote:
When you not compile in the SKGE network driver does everything else work?
skge supports 64bit DMA, so it shouldn't use any IOMMU.

Are you sure this is skge? Anyway, even if the driver does support 64-bit DMA, I would be surprised if a desktop motherboard had the Ethernet chip connected via a 64-bit PCI bus.

This brings up something I've been wondering. It's possible to run most 64-bit capable PCI devices in a 32-bit slot (i.e. with the 64-bit part hanging out of the slot). In this configuration the device will not be able to use 64-bit DMA (unless it supports dual address cycle). However, who is supposed to detect this and know to not try to use DMA addresses above 4GB on that device? Is the driver supposed to know this and use a 32-bit DMA mask, or is the PCI subsystem able to figure this out somehow? What if the driver has no way to detect this? I don't think I've seen any code in the kernel that would figure out if the current configuration of the card is actually capable of 64-bit DMA or not.

--
Robert Hancock Saskatoon, SK, Canada
To email, remove "nospam" from hancockr@xxxxxxxxxxxxx
Home Page: http://www.roberthancock.com/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/