Nested Vectored Interrupt Controller
ARM DDI 0337G Copyright © 2005-2008 ARM Limited. All rights reserved. 8-33
Unrestricted Access Non-Confidential
Figure 8-17 shows the bit assignments of the Memory Manage Fault Status Register.
Figure 8-17 Memory Manage Fault Status Register bit assignments
Table 8-22 describes the bit assignments of the Memory Manage Fault Status Register.
76543210
MMARVALID
MSTKERR
MUNSTKERR
DACCVIOL
IACCVIOL
Reserved
Reserved
Table 8-22 Memory Manage Fault Status Register bit assignments
Bits Field Function
[7] MMARVALID Memory Manage Address Register (MMAR) address valid flag:
1 = valid fault address in MMAR. A later-arriving fault, such as a bus fault, can clear a memory
manage fault.
0 = no valid fault address in MMAR.
If a MemManage fault occurs that is escalated to a Hard Fault because of priority, the Hard
Fault handler must clear this bit. This prevents problems on return to a stacked active
MemManage handler whose MMAR value has been overwritten.
[6:5] - Reserved.
[4] MSTKERR Stacking from exception has caused one or more access violations. The SP is still adjusted and
the values in the context area on the stack might be incorrect. The MMAR is not written.
[3] MUNSTKERR Unstack from exception return has caused one or more access violations. This is chained to the
handler, so that the original return stack is still present. SP is not adjusted from failing return
and new save is not performed. The MMAR is not written.