* Problem caused by forcing interrupt vector location to 0x91xx0200 instead of 0x80000200
@ 2004-10-15 1:29 Kang
2004-10-15 1:39 ` Michael Uhler
0 siblings, 1 reply; 2+ messages in thread
From: Kang @ 2004-10-15 1:29 UTC (permalink / raw)
To: linux-mips
Hello buddies,
I am working on a MIPS4Kc based reference design board. For some
reason, I need to force the interrupt vector location to address
0x91xx0200 instead of 0x80000200 in arch/mips/kernel/traps.c. The
kernel was loaded into 0x91xxxxxx space as well.
The kernel hung just after the interrupt was first time opened, after
sti(), before calibrate_delay() in init/main.c. It was weird that I
didn't see any problem if I put interrupt vector to location
0x80000200 while all other exception vectors to 0x91xxxxxx.
Was interrupt vector location hardcode to the address 0x80000200? Or
some other place I need to change to walk around it. Any idea?
Thanks a bunch for your help.
Leo
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Problem caused by forcing interrupt vector location to 0x91xx0200 instead of 0x80000200
2004-10-15 1:29 Problem caused by forcing interrupt vector location to 0x91xx0200 instead of 0x80000200 Kang
@ 2004-10-15 1:39 ` Michael Uhler
0 siblings, 0 replies; 2+ messages in thread
From: Michael Uhler @ 2004-10-15 1:39 UTC (permalink / raw)
To: Kang; +Cc: linux-mips
Prior to Release 2 of the MIPS32 Architecture, the exception vectors
were fixed at a base of 0x80000000, which put the vectored interrupt
offset at 0x80000200.
The MIPS32 4Kc processor is an implementation of Release 1 of the
Architecture, so it has a fixed exception vector base. (Note that
the MIPS32 4KEc - the added 'E' is significant - implements Release 2
so in case you mis-typed, there is a solution using the 4KEc).
So with a Release 1 implementation, your only really solution is
to put a jump at 0x80000200 to where you want the code to be.
I suspect that this isn't really what you want.
/gmu
On Thu, 2004-10-14 at 18:29, Kang wrote:
> Hello buddies,
>
> I am working on a MIPS4Kc based reference design board. For some
> reason, I need to force the interrupt vector location to address
> 0x91xx0200 instead of 0x80000200 in arch/mips/kernel/traps.c. The
> kernel was loaded into 0x91xxxxxx space as well.
>
> The kernel hung just after the interrupt was first time opened, after
> sti(), before calibrate_delay() in init/main.c. It was weird that I
> didn't see any problem if I put interrupt vector to location
> 0x80000200 while all other exception vectors to 0x91xxxxxx.
>
> Was interrupt vector location hardcode to the address 0x80000200? Or
> some other place I need to change to walk around it. Any idea?
>
> Thanks a bunch for your help.
>
> Leo
--
Michael Uhler, Chief Technology Officer
MIPS Technologies, Inc. Email: uhler@mips.com
1225 Charleston Road
Mountain View, CA 94043
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2004-10-15 1:39 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-10-15 1:29 Problem caused by forcing interrupt vector location to 0x91xx0200 instead of 0x80000200 Kang
2004-10-15 1:39 ` Michael Uhler
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox