* having trouble installing exceptions
@ 2001-09-28 12:54 Mike Manchip
2001-09-28 14:48 ` Ralf Baechle
2001-09-28 17:51 ` Jun Sun
0 siblings, 2 replies; 3+ messages in thread
From: Mike Manchip @ 2001-09-28 12:54 UTC (permalink / raw)
To: linux-mips
Hi all
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!
/* 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?
thanks
mike
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: having trouble installing exceptions
2001-09-28 12:54 having trouble installing exceptions Mike Manchip
@ 2001-09-28 14:48 ` Ralf Baechle
2001-09-28 17:51 ` Jun Sun
1 sibling, 0 replies; 3+ messages in thread
From: Ralf Baechle @ 2001-09-28 14:48 UTC (permalink / raw)
To: Mike Manchip; +Cc: linux-mips
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
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: having trouble installing exceptions
2001-09-28 12:54 having trouble installing exceptions Mike Manchip
2001-09-28 14:48 ` Ralf Baechle
@ 2001-09-28 17:51 ` Jun Sun
1 sibling, 0 replies; 3+ messages in thread
From: Jun Sun @ 2001-09-28 17:51 UTC (permalink / raw)
To: Mike Manchip; +Cc: linux-mips
Mike Manchip wrote:
>
> Hi all
>
> 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
>
What do you mean by "non-cachable space"? KSEG0 is cacheable by default.
> 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!
>
Most likely it hangs in flush_icache_range(). Put some printk there.
Jun
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2001-09-28 18:00 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-09-28 12:54 having trouble installing exceptions Mike Manchip
2001-09-28 14:48 ` Ralf Baechle
2001-09-28 17:51 ` Jun Sun
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox