On Mon, Dec 07, 2009 at 03:39:15PM +0800, Dennis.Yxun wrote:
> HI ALL:
> I have a problem, that our MIPS hardware put registers location from
> 0x7000,0000 -0x7040,0000.
> So, I need to init TLB to access those registers.
> My question is: can I map those range to Kseg2 (mapped,uncached)? I found
> "add_wired_entry" sit in
> kernel code, seems I should use this function.
> I found code in arch/mips/jazz/irq.c, and the comment tells me
> /* Map 0xe4000000 -> 0x0:600005C0, 0xe4100000 -> 400005C0 */
> add_wired_entry(0x01800017, 0x01000017, 0xe4000000, PM_4M);
> does that mean after add_wired_entry, virtual address 0xe400,0000 map to
> physical address 0x600005C0?
> why the address is 0x6000,05C0, not 0x6000,0000
I probably knew 15 years ago when I wrote this code :)
add_wired_entry() is a very awkard API and its use in the Jazz code is
broken so I suggest you use ioremap() instead.