- fixed interrupt enable on jump into main
git-svn-id: http://moon:8086/svn/mips@21 a8ebac50-d88d-4704-bea3-6648445a41b3
This commit is contained in:
@@ -115,14 +115,11 @@ void Jump_to(void *pEntry)
|
|||||||
__asm
|
__asm
|
||||||
(
|
(
|
||||||
"jr %[pEntry]\n" // jump entry
|
"jr %[pEntry]\n" // jump entry
|
||||||
|
"nop\n"
|
||||||
:
|
:
|
||||||
: [pEntry] "r" (pEntry)
|
: [pEntry] "r" (pEntry)
|
||||||
);
|
);
|
||||||
__asm
|
__asm
|
||||||
(
|
|
||||||
"nop\n"
|
|
||||||
);
|
|
||||||
__asm
|
|
||||||
(
|
(
|
||||||
".set reorder\n"
|
".set reorder\n"
|
||||||
);
|
);
|
||||||
@@ -137,18 +134,12 @@ void Exec_at(void *pEntry)
|
|||||||
|
|
||||||
__asm
|
__asm
|
||||||
(
|
(
|
||||||
"mfc0 $26, $12\n" // change exception vector
|
"mtc0 %[pEntry], $14\n"
|
||||||
"li $27, 0xFFBFFFFF\n"
|
|
||||||
"and $26, $27\n"
|
|
||||||
"mtc0 $26, $12\n"
|
|
||||||
);
|
|
||||||
|
|
||||||
__asm
|
|
||||||
(
|
|
||||||
"lw $v0, 16($sp)\n"
|
|
||||||
"nop\n"
|
"nop\n"
|
||||||
"jr $v0\n" // jump entry
|
"jr %[pEntry]\n" // jump entry
|
||||||
"rfe\n"
|
"rfe\n"
|
||||||
|
:
|
||||||
|
: [pEntry] "r" (pEntry)
|
||||||
);
|
);
|
||||||
|
|
||||||
__asm
|
__asm
|
||||||
@@ -156,6 +147,7 @@ void Exec_at(void *pEntry)
|
|||||||
".set reorder\n"
|
".set reorder\n"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PrintCPUinfo(void)
|
void PrintCPUinfo(void)
|
||||||
{
|
{
|
||||||
int result, rev_id;
|
int result, rev_id;
|
||||||
|
|||||||
@@ -136,14 +136,11 @@ void Jump_to(void *pEntry)
|
|||||||
__asm
|
__asm
|
||||||
(
|
(
|
||||||
"jr %[pEntry]\n" // jump entry
|
"jr %[pEntry]\n" // jump entry
|
||||||
|
"nop\n"
|
||||||
:
|
:
|
||||||
: [pEntry] "r" (pEntry)
|
: [pEntry] "r" (pEntry)
|
||||||
);
|
);
|
||||||
__asm
|
__asm
|
||||||
(
|
|
||||||
"nop\n"
|
|
||||||
);
|
|
||||||
__asm
|
|
||||||
(
|
(
|
||||||
".set reorder\n"
|
".set reorder\n"
|
||||||
);
|
);
|
||||||
@@ -158,22 +155,14 @@ void Exec_at(void *pEntry)
|
|||||||
|
|
||||||
__asm
|
__asm
|
||||||
(
|
(
|
||||||
"li $26, 0x1000000A\n"
|
"mtc0 %[pEntry], $14\n"
|
||||||
"mtc0 $26, $12\n"
|
"nop\n"
|
||||||
);
|
|
||||||
|
|
||||||
__asm
|
|
||||||
(
|
|
||||||
"jr %[pEntry]\n" // jump entry
|
"jr %[pEntry]\n" // jump entry
|
||||||
|
"rfe\n"
|
||||||
:
|
:
|
||||||
: [pEntry] "r" (pEntry)
|
: [pEntry] "r" (pEntry)
|
||||||
);
|
);
|
||||||
|
|
||||||
__asm
|
|
||||||
(
|
|
||||||
"rfe\n"
|
|
||||||
);
|
|
||||||
|
|
||||||
__asm
|
__asm
|
||||||
(
|
(
|
||||||
".set reorder\n"
|
".set reorder\n"
|
||||||
@@ -199,16 +188,14 @@ void Exec_RE_at(void *pEntry)
|
|||||||
|
|
||||||
__asm
|
__asm
|
||||||
(
|
(
|
||||||
|
"mtc0 %[pEntry], $14\n"
|
||||||
|
"nop\n"
|
||||||
"jr %[pEntry]\n" // jump entry
|
"jr %[pEntry]\n" // jump entry
|
||||||
|
"rfe\n"
|
||||||
:
|
:
|
||||||
: [pEntry] "r" (pEntry)
|
: [pEntry] "r" (pEntry)
|
||||||
);
|
);
|
||||||
|
|
||||||
__asm
|
|
||||||
(
|
|
||||||
"rfe\n"
|
|
||||||
);
|
|
||||||
|
|
||||||
__asm
|
__asm
|
||||||
(
|
(
|
||||||
".set reorder\n"
|
".set reorder\n"
|
||||||
|
|||||||
Reference in New Issue
Block a user