Roman, if this is indeed your writing, you seem to have misinterpreted my patch.
We do not do any "faking" at all. On a machine with a non-contiguous address
space, we do not "fake" a contiguous address space, but we do a straight conversion,
ie, phys = (virt - offset) or some other simple mathematical function.
> > This is just Ingo being bad. He should have used virt_to_phys() and
> > friends, not __pa().
IMHO, __pa should not be the same as virt_to_phys(). If they are indeed
supposed to be the same, can we loose one of the names? It's a needless
complication which should not be there, and can lead to needless confusion.
However, as Roman points out, if the bootmem stuff is to use virt_to_phys(),
unless a "start" page number is passed in, the bit array could be
unnecessarily large, and may in certain systems cause major problems
(systems with many small (512KB) banks of memory).
> That's not really a problem, if we could define that __pa()/__va() works
> only specific memory areas and is completly undefined for others (except
> for __va(), see other mail for that).
I believe that virt_to_phys() ought to behave as we expect - convert a kernel
virtual address to a physical address, but __pa() or maybe a renamed __pa()
should return the offset into physical memory of the virtual address.
_____
|_____| ------------------------------------------------- ---+---+-
| | Russell King rmk@arm.linux.org.uk --- ---
| | | | http://www.arm.linux.org.uk/~rmk/aboutme.html / / |
| +-+-+ --- -+-
/ | THE developer of ARM Linux |+| /|\
/ | | | --- |
+-+-+ ------------------------------------------------- /\\\ |
-
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/