On Fri, Sep 28, 2001 at 01:54:43PM +0100, Mike Manchip wrote: > I'm currently trying to get the mips port to work on a galileo gt64115 board > with a rm5231 chip. > > I'm OK right until the point when I'm installing exceptions into > non-cacheable space in arch/mips/kernel/traps.c > > as soon as I memcpy except_vec3_generic to KSEG0 + 0x180 and flush the > instruction cache, my machine hangs, and I can't see why! KSEG0 is normally cached space. If of some reason it's configured as non-cachable and you're flushing caches funny things will happen. > /* Copy the generic exception handler code to it's final destination. */ > memcpy((void *)(KSEG0 + 0x80), &except_vec1_generic, 0x80); > memcpy((void *)(KSEG0 + 0x100), &except_vec2_generic, 0x80); > memcpy((void *)(KSEG0 + 0x180), &except_vec3_generic, 0x80); > flush_icache_range(KSEG0 + 0x80, KSEG0 + 0x200); > > Is it possibly something to do with the monitor I'm using? I'm using both > PROM and in desperation, a vxworks one (it can see the ethernet card, thus > speeding up kernel loads tremendously). > How does the monitor do exceptions? Do I have to do something special with > exceptions when a monitor is present? So firmware is operating with BEV set, thus won't use the vectors at KSEG0 at all. Ralf