Make sure to rewrite active region data when jumping to IRQ handler
Jeffrey Pfau jeffrey@endrift.com
Wed, 17 Apr 2013 00:24:00 -0700
1 files changed,
1 insertions(+),
0 deletions(-)
jump to
M
src/arm/arm.c
→
src/arm/arm.c
@@ -126,6 +126,7 @@ ARMSetPrivilegeMode(cpu, MODE_IRQ);
cpu->spsr = cpsr; 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->cpsr.i = 1; }