__get_free_pages() on an ia64

From: Adhiraj
Date: Tue Sep 26 2006 - 09:51:32 EST

Hi All,

I found a strange thing on ia64 platform. When I allocate pages using
__get_free_pages() with GFP_DMA, sometimes the physical addresses of
allocated pages fall beyond 4G.

I am working on a device driver where the device does not support
addresses above 4G and hence I have to implement bounce buffers. The
bounce buffer code works fine on other architectures. But since I get
4G+ addresses on ia64, the code would not work. Any idea why should this
happen? And any workaround if I _NEED_ addresses below 4G. The machine
has 2G of physical memory.

The dma mask is set to 64 bits using pci_set_dma_mask().

Thanks in advance,

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/