From: Masahiro A. <m-...@aa...> - 2001-07-13 02:18:46
|
On Thu, 12 Jul 2001 22:14:54 +0900 Masahiro Abe <m-...@aa...> wrote: > Sorry for too much posts today. Hopefully this will be today's last one. > > I've learned how to use JTAG debugger, and managed to get some > information at system reboot. This is what I've found: > When reboot (PC<-0xa0000000), > - SPC points inside memcpy(arch/sh/lib/memcpy.S), but the exact address > changes time to time. > - EXPEVT is 0x140, which is multiple TLB(either data or instruction) hit > exception. > - If it means something, both SR and SSR are 0x700000F1 > > I can't interpret those yet. If anyone have thought about something > related, I deadly would like to know. Some more reports. - calling sequence until reboot is copy_user_page(arch/sh/mm/cache.c) +-update_mmu_cache(arch/sh/mm/fault.c) +-copy_page : #defined as memcpy(arch/sh/lib/memcpy.S) Last two functions are called at line 588 and 589 of cache.c, respectively. - most of the time, exception occurs at line 86 of memcpy.S, which is mov.l r1,@-r0 at this time, @r0=0xc0002ffc - TEA has 0xc0002ffc at the time of exception/reboot. So, this is multiple data TLB hit exception. - 0xc0002ffc is within the area that p3_cache_init allocated with remap_area_pages. This area is from 0xc0000000 to 0xc0003fff. I still can't understand what is causing this exception, and why this doesn't happen on SolutionEngine or other SH4 system. I appreciate any input on this. +-------------------------------------+ | Masahiro Abe, Software Engineer | | A&D Co., Ltd. of Tokyo, Japan | | mailto:m-...@aa... | +-------------------------------------+ |This is my opinion, not my employer's| +-------------------------------------+ |