Re: Bug: Discontigmem virt_to_page() [Alpha,ARM,Mips64?]

Martin J. Bligh
2002-05-02T21:23:21Z

> On Thu, May 02, 2002 at 08:41:36PM +0200, Andrea Arcangeli wrote:
>> but can you plugin 32bit pci hardware into your 64bit-pci slots, right?
>> If not, and if you're also sure the linux drivers for your hardware are all
>> 64bit-pci capable then you can do the changes regardless of the 4G
>> limit, in such case you can spread the direct mapping all over the whole
>> 64G physical ram, whereever you want, no 4G constraint anymore.
>
> I believe 64-bit PCI is pretty much taken to be a requirement; if it
> weren't the 4GB limit would once again apply and we'd be in much
> trouble, or we'd have to implement a different method of accommodating
> limited device addressing capabilities and would be in trouble again.

IIRC, there are some funny games you can play with 32bit PCI DMA.
You're not necessarily restricted to the bottom 4Gb of phys addr space,
you're restricted to a 4Gb window, which you can shift by programming
a register on the card. Fixing that register to point to a window for the
node in question allows you to allocate from a node's pg_data_t and
assure DMAable RAM is returned.

M.