Messages in this thread | | | Date | Tue, 05 Mar 2002 03:16:36 -0800 (PST) | Subject | Re: Does kmalloc always return address below 4GB? | From | "David S. Miller" <> |
| |
From: "Adam J. Richter" <adam@yggdrasil.com> Date: Tue, 5 Mar 2002 03:12:52 -0800
If not, then I guess I can use pci_alloc_consistent and pci_map_single as necessary, since they should can potentially know that I am using a device that only understands 32-bit addresses, from my earlier call to pci_set_dma_mask. However, I assume that it is considered simpler and therefore better to avoid these routines when possible.
Just use pci_alloc_consistent, it never gives you anything larger than 32-bit addresses, please read the documentation :-)
On 64-bit platforms without CONFIG_HIGHMEM, kmalloc can return any pointer, but that is fine since your DMA mask will instruct the IOMMU layer of the platform to map it in the low 32-bits of DMA address space.
If you follow DMA-mapping.txt to the letter, it will just work, trust us. :-) - 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/
| |