Memory Management Unit
ARM610 Data Sheet
9-17
interpreted in exactly the same way as for a section (see
·
Table 9-2:
Interpreting access permission (AP) Bitson page 9-7), the only difference
being that the fault generated is a sub-page permission fault.
9.16 External Aborts
In addition to the MMU-generated aborts, ARM610 has an external abort pin which
may be used to flag an error on an external memory access. However, some accesses
aborted in this way are not restartable, so this pin must be used with great care. The
following section describes the restrictions.
The following accesses may be aborted and restarted safely. If any of the following are
aborted the external access will cease on the next cycle. In the case of a read-lock-
write sequence in which the read aborts, the write will not happen.
Uncacheable reads
Unbuffered writes
Level One descriptor fetch
Level Two descriptor fetch
read-lock-write sequence
Cacheable reads (linefetches)
A linefetch may be aborted safely provided the abort is flagged on word 0. In this case,
the IDC will not be updated or corrupted and the access will be restartable. It is not
advisable to flag an abort on any word other than word 0 of a linefetch, as the IDC will
contain a corrupt line, and the instruction may not be restartable. On the external bus,
an externally aborted linefetch will continue to the end as though it had not aborted.
Buffered writes
Buffered writes cannot be safely externally aborted. Because the processor will have
moved on before the external abort is received, this class of abort is not restartable. If
the system does flag this type of abort, then the Fault Status Register will record the
fact, but this is a non-recoverable error, and the machine must be reset. Therefore, the
system should be configured such that it does not do buffered writes to areas of
memory which are capable of flagging an external abort. If a buffered write burst is
externally aborted, then the external write will continue to the end.