mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-10-14 02:27:39 -04:00
unwinder: in get__sp(), use the more correct "msr cpsr_c, ..." form
Change-Id: I9cfdca80536fc9fb6e8983a81219ccdf5c0b3c42
This commit is contained in:
parent
89e6189dcb
commit
7e0820fe21
1 changed files with 3 additions and 3 deletions
|
@ -16,7 +16,7 @@ __get_sp:
|
||||||
#if (CONFIG_PLATFORM & PLATFORM_NATIVE)
|
#if (CONFIG_PLATFORM & PLATFORM_NATIVE)
|
||||||
mrs r1, cpsr /* save current state */
|
mrs r1, cpsr /* save current state */
|
||||||
orr r0, r1, #0xc0
|
orr r0, r1, #0xc0
|
||||||
msr cpsr, r0 /* disable IRQ and FIQ */
|
msr cpsr_c, r0 /* disable IRQ and FIQ */
|
||||||
and r0, r1, #0x1f /* get current mode */
|
and r0, r1, #0x1f /* get current mode */
|
||||||
cmp r0, #0x1f /* are we in sys mode? */
|
cmp r0, #0x1f /* are we in sys mode? */
|
||||||
beq get_sp
|
beq get_sp
|
||||||
|
@ -24,12 +24,12 @@ call_from_exception:
|
||||||
mrs r0, spsr /* get saved state */
|
mrs r0, spsr /* get saved state */
|
||||||
and r0, r0, #0x1f /* get mode bits */
|
and r0, r0, #0x1f /* get mode bits */
|
||||||
orr r0, r0, #0xc0 /* no FIQ no IRQ */
|
orr r0, r0, #0xc0 /* no FIQ no IRQ */
|
||||||
msr cpsr, r0 /* change mode */
|
msr cpsr_c, r0 /* change mode */
|
||||||
get_sp:
|
get_sp:
|
||||||
#endif
|
#endif
|
||||||
mov r0, sp /* get SP */
|
mov r0, sp /* get SP */
|
||||||
#if (CONFIG_PLATFORM & PLATFORM_NATIVE)
|
#if (CONFIG_PLATFORM & PLATFORM_NATIVE)
|
||||||
msr cpsr, r1 /* restore mode */
|
msr cpsr_c, r1 /* restore mode */
|
||||||
#endif
|
#endif
|
||||||
bx lr
|
bx lr
|
||||||
.size __get_sp, . - __get_sp
|
.size __get_sp, . - __get_sp
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue