Re: Alpha: virt_to_bus/GFP_DMA problem

Jes Sorensen (Jes.Sorensen@cern.ch)
10 Dec 1999 14:11:09 +0100


>>>>> "Thomas" == Thomas Sailer <sailer@ife.ee.ethz.ch> writes:

Thomas> Jes Sorensen wrote:
>> always be above the 1GB limit. In this case it simply means that
>> you are out of luck, yet another broken PCI device, and the driver
>> should simply print a warning and exit, without panicing the box.

Thomas> But why is kmalloc(GFP_DMA) returning any memory at all?
Thomas> Doesn't the definition of GFP_DMA imply that its bus address
Thomas> should lie below 16M?

Hmmm arch/alpha/mm/init.c has this:

if (tmp >= MAX_DMA_ADDRESS)
clear_bit(PG_DMA, &mem_map[MAP_NR(tmp)].flags);

My guess is that MAX_DMA_ADDRESS on the Pyrix is defined to be the
entire memory space.

Time to introduce GFP_DMA_24BIT, GFP_DMA_1GB and GFP_DMA_2GB to
support all those crappy devices on the market.

Jes

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/