CheckExceptions: add TODO and remove a wrong comment

This commit is contained in:
Pierre Bourdon 2014-05-18 00:56:18 +02:00
parent a2d73ed525
commit 0f1b1dd3cf
1 changed files with 6 additions and 1 deletions

View File

@ -320,6 +320,11 @@ void CheckExceptions()
// set to exception type entry point // set to exception type entry point
//NPC = 0x00000x00; //NPC = 0x00000x00;
// TODO(delroth): Exception priority is completely wrong here: depending on
// the instruction class, exceptions should be executed in a given order,
// which is very different from the one arbitrarily chosen here. See §6.1.5
// in 6xx_pem.pdf.
if (exceptions & EXCEPTION_ISI) if (exceptions & EXCEPTION_ISI)
{ {
SRR0 = NPC; SRR0 = NPC;
@ -396,7 +401,7 @@ void CheckExceptions()
} }
// EXTERNAL INTERRUPT // EXTERNAL INTERRUPT
else if (MSR & 0x0008000) //hacky...the exception shouldn't be generated if EE isn't set... else if (MSR & 0x0008000) // Handling is delayed until MSR.EE=1.
{ {
if (exceptions & EXCEPTION_EXTERNAL_INT) if (exceptions & EXCEPTION_EXTERNAL_INT)
{ {