From ed48ab1c64e0cea6e155fc33d9c170ff22bd3224 Mon Sep 17 00:00:00 2001 From: Jeffrey Pfau Date: Thu, 18 Apr 2013 00:15:45 -0700 Subject: [PATCH] Fix storing SPSR --- 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 cd25bc133..cf3de6c01 100644 --- a/src/arm/arm.c +++ b/src/arm/arm.c @@ -122,13 +122,13 @@ void ARMRaiseIRQ(struct ARMCore* cpu) { } else { instructionWidth = WORD_SIZE_ARM; } - cpu->spsr = cpsr; ARMSetPrivilegeMode(cpu, MODE_IRQ); cpu->cpsr.priv = MODE_IRQ; cpu->gprs[ARM_LR] = cpu->gprs[ARM_PC] - instructionWidth + WORD_SIZE_ARM; cpu->gprs[ARM_PC] = BASE_IRQ + WORD_SIZE_ARM; cpu->memory->setActiveRegion(cpu->memory, cpu->gprs[ARM_PC]); _ARMSetMode(cpu, MODE_ARM); + cpu->spsr = cpsr; cpu->cpsr.i = 1; }