On Sat, Apr 14, 2001 at 10:29:01AM +0200, Tom Appermont wrote:
> What are the things to do to use the TLB for access to otherwize
> unreachable PCI memory or IO areas? I have used the function
> add_wired_entry to add an entry to the TLB, modified the
> functions virt_to_phys, phys_to_virt, virt_to_bus, bus_to_virt,
> and ioremap to do the translations I want, but I wonder if there
> are other things to do to get this working.
add_wired_entry is almost certainly the wrong thing to do. It's only
recommended if you must address peripherals at physical addresses of
>= 0x100000000, that is on 64-bit machines. 32-bit addresses can
be represented in our pagetables.
> Even more so, because none of the mips boards currently in the tree seem
> to need TLB remapping.
Sane designs make sure that peripherals are at physical addresses of 512mb
or less so can be addressed through KSEG1 without using TLB entries. So
far the only violation of this rule are the Jazz systems.