Why do we need simulated bat registers.
Chip
Frank Rowand wrote:
Dan Malek wrote:
quoted
How come we don't use iopa() and friends for all kernel mapping
information? It is only defined for CONFIG_APUS, but is the right
thing to use on 8xx and 4xx, and probably all processors. The
virt_to_bus/bus_to_virt contain the quickie arithmetic hack with
KERNELBASE, but that isn't the right thing to do for any kmalloc()
or valloc() space or if you don't have BAT mapping.
I am considering making these functions more generic, removing the
#ifdefs, and implementing "simulated" BAT mapping for processors
like the 8xx and 4xx that don't have BATs (not for 2.4, of course :-).
Why shouldn't I do this?
-- Dan
For the 405 I had to use iopa() for virt_to_bus() because there are
cases where I create a virtual address for IO buffers that is
uncached, and that virtual address is not (physical address + KERNELBASE).
I also have the beginnings of simulated BAT mapping for the 405
(not quite there, but part way).
-Frank
--
Frank Rowand [off-list ref]
MontaVista Software, Inc