Arm Community
Site
Search
User
Site
Search
User
Support forums
Arm Development Studio forum
Cortex-A9 CPSR I Flag unmask problem
Jump...
Cancel
Locked
Locked
Replies
5 replies
Subscribers
119 subscribers
Views
4151 views
Users
0 members are here
Options
Share
More actions
Cancel
Related
How was your experience today?
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion
Cortex-A9 CPSR I Flag unmask problem
Sebastian Meisheit
over 12 years ago
Parents
Martin Weidmann
over 12 years ago
Note: This was originally posted on 18th July 2012 at
http://forums.arm.com
Just sanity checking.... "CPSID i" will set the CPSR.I bit which disables (not enables) interrupts. Is that what you meant?
Have you checked what address is in the LR_abt and pattern in SPSR_abt? If it is a data abort you probably also want to check the CP15 DFSR and DFAR.
Best guess... the "CPSIE i" succeeds and an IRQ is immediately taken. The IRQ handler triggers an Abort - hence ending up in abort mode.
NOTE: Taking any exception will cause the CPSR.I bit to be set. So if an abort or IRQ is being taken, it would be expected that the CPSR.I bit gets set again.
Cancel
Vote up
0
Vote down
Cancel
Reply
Martin Weidmann
over 12 years ago
Note: This was originally posted on 18th July 2012 at
http://forums.arm.com
Just sanity checking.... "CPSID i" will set the CPSR.I bit which disables (not enables) interrupts. Is that what you meant?
Have you checked what address is in the LR_abt and pattern in SPSR_abt? If it is a data abort you probably also want to check the CP15 DFSR and DFAR.
Best guess... the "CPSIE i" succeeds and an IRQ is immediately taken. The IRQ handler triggers an Abort - hence ending up in abort mode.
NOTE: Taking any exception will cause the CPSR.I bit to be set. So if an abort or IRQ is being taken, it would be expected that the CPSR.I bit gets set again.
Cancel
Vote up
0
Vote down
Cancel
Children
No data