- 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:
2015-05-23 13:07:28 +00:00
parent 24dd333763
commit ea01b025a2
2 changed files with 13 additions and 34 deletions
+6 -14
View File
@@ -115,14 +115,11 @@ void Jump_to(void *pEntry)
__asm
(
"jr %[pEntry]\n" // jump entry
"nop\n"
:
: [pEntry] "r" (pEntry)
);
__asm
(
"nop\n"
);
__asm
(
".set reorder\n"
);
@@ -137,18 +134,12 @@ void Exec_at(void *pEntry)
__asm
(
"mfc0 $26, $12\n" // change exception vector
"li $27, 0xFFBFFFFF\n"
"and $26, $27\n"
"mtc0 $26, $12\n"
);
__asm
(
"lw $v0, 16($sp)\n"
"mtc0 %[pEntry], $14\n"
"nop\n"
"jr $v0\n" // jump entry
"jr %[pEntry]\n" // jump entry
"rfe\n"
:
: [pEntry] "r" (pEntry)
);
__asm
@@ -156,6 +147,7 @@ void Exec_at(void *pEntry)
".set reorder\n"
);
}
void PrintCPUinfo(void)
{
int result, rev_id;
+7 -20
View File
@@ -136,14 +136,11 @@ void Jump_to(void *pEntry)
__asm
(
"jr %[pEntry]\n" // jump entry
"nop\n"
:
: [pEntry] "r" (pEntry)
);
__asm
(
"nop\n"
);
__asm
(
".set reorder\n"
);
@@ -158,22 +155,14 @@ void Exec_at(void *pEntry)
__asm
(
"li $26, 0x1000000A\n"
"mtc0 $26, $12\n"
);
__asm
(
"mtc0 %[pEntry], $14\n"
"nop\n"
"jr %[pEntry]\n" // jump entry
"rfe\n"
:
: [pEntry] "r" (pEntry)
);
__asm
(
"rfe\n"
);
__asm
(
".set reorder\n"
@@ -199,16 +188,14 @@ void Exec_RE_at(void *pEntry)
__asm
(
"mtc0 %[pEntry], $14\n"
"nop\n"
"jr %[pEntry]\n" // jump entry
"rfe\n"
:
: [pEntry] "r" (pEntry)
);
__asm
(
"rfe\n"
);
__asm
(
".set reorder\n"