Commit e7469be9 authored by David Mosberger's avatar David Mosberger

Fix software I/O TLB to always return <4GB memory for alloc_consistent().

parent 58cef2ea
...@@ -414,12 +414,18 @@ CONFIG_IA64_GENERIC ...@@ -414,12 +414,18 @@ CONFIG_IA64_GENERIC
HP-simulator For the HP simulator HP-simulator For the HP simulator
(<http://software.hp.com/ia64linux/>). (<http://software.hp.com/ia64linux/>).
HP-zx1 For HP zx1 platforms.
SN1-simulator For the SGI SN1 simulator. SN1-simulator For the SGI SN1 simulator.
DIG-compliant For DIG ("Developer's Interface Guide") compliant DIG-compliant For DIG ("Developer's Interface Guide") compliant
system. systems.
If you don't know what to do, choose "generic". If you don't know what to do, choose "generic".
CONFIG_IA64_HP_ZX1
Build a kernel that runs on HP zx1-based systems. This adds support
for the zx1 IOMMU and makes root bus bridges appear in PCI config space
(required for zx1 agpgart support).
CONFIG_IA64_PAGE_SIZE_4KB CONFIG_IA64_PAGE_SIZE_4KB
This lets you select the page size of the kernel. For best IA-64 This lets you select the page size of the kernel. For best IA-64
performance, a page size of 8KB or 16KB is recommended. For best performance, a page size of 8KB or 16KB is recommended. For best
......
...@@ -276,8 +276,11 @@ swiotlb_alloc_consistent (struct pci_dev *hwdev, size_t size, dma_addr_t *dma_ha ...@@ -276,8 +276,11 @@ swiotlb_alloc_consistent (struct pci_dev *hwdev, size_t size, dma_addr_t *dma_ha
int gfp = GFP_ATOMIC; int gfp = GFP_ATOMIC;
void *ret; void *ret;
if (!hwdev || hwdev->dma_mask <= 0xffffffff) /*
gfp |= GFP_DMA; /* XXX fix me: should change this to GFP_32BIT or ZONE_32BIT */ * Alloc_consistent() is defined to return memory < 4GB, no matter what the DMA
* mask says.
*/
gfp |= GFP_DMA; /* XXX fix me: should change this to GFP_32BIT or ZONE_32BIT */
ret = (void *)__get_free_pages(gfp, get_order(size)); ret = (void *)__get_free_pages(gfp, get_order(size));
if (!ret) if (!ret)
return NULL; return NULL;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment