Fix setting privilege mode when entering SVC

This commit is contained in:
Jeffrey Pfau 2013-10-14 22:32:52 -07:00
parent 9430040cb3
commit f90b01b95d
1 changed files with 1 additions and 1 deletions

View File

@ -145,7 +145,7 @@ void ARMRaiseSWI(struct ARMCore* cpu) {
instructionWidth = WORD_SIZE_ARM;
}
ARMSetPrivilegeMode(cpu, MODE_SUPERVISOR);
cpu->cpsr.priv = MODE_IRQ;
cpu->cpsr.priv = MODE_SUPERVISOR;
cpu->gprs[ARM_LR] = cpu->gprs[ARM_PC] - instructionWidth;
cpu->gprs[ARM_PC] = BASE_SWI + WORD_SIZE_ARM;
cpu->memory->setActiveRegion(cpu->memory, cpu->gprs[ARM_PC]);