Re: PCI memory allocation bug with CONFIG_HIGHMEM

From: Linus Torvalds
Date: Mon Jan 05 2004 - 22:41:11 EST




On Tue, 6 Jan 2004, Andi Kleen wrote:
>
> IMHO the only reliable way to get physical bus space for mappings
> is to allocate some memory and map the mapping over that.

You literally can't do that: the RAM addresses are decoded by the
northbridge before they ever hit the PCI bus, so it's impossible to "map
over" RAM in general.

Normally, the way this works is that there are magic northbridge mapping
registers that remap part of the memory, so that the memory that is
physically in the upper 4GB of RAM shows up somewhere else (or just
possibly disappears entirely - once you have more than 4GB of RAM, you
might not care too much about a few tens of megs missing).

Linus
-
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/