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. Ralf