Messages in this thread | | | Date | Mon, 02 Jan 2006 13:18:05 -0600 | From | Robert Hancock <> | Subject | Re: X86_64 + VIA + 4g problems |
| |
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@nospamshaw.ca 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |