From f90b01b95d6f8ed936ffbc0fa456a8ea0016cc18 Mon Sep 17 00:00:00 2001 From: Jeffrey Pfau Date: Mon, 14 Oct 2013 22:32:52 -0700 Subject: [PATCH] Fix setting privilege mode when entering SVC --- src/arm/arm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/arm/arm.c b/src/arm/arm.c index c47492b50..5780e20b9 100644 --- a/src/arm/arm.c +++ b/src/arm/arm.c @@ -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]);