3- 12 M68040 USER'S MANUAL MOTOROLA
Motorola highly recommends that the translation tables be placed in cache-inhibited
memory space. Motorola also highly recommends table descriptors must not be left in
states that are incoherent to the processor. Future processors may treat these
recommendations as mandatory. The following paragraphs apply only to M68040 systems
that cannot meet these recommendations.
The processor never allocates table descriptors in the data cache when the processor
performs a table search. Only normal accesses to the translation tables cause descriptors
to be allocated in the data cache. If table descriptors are allocated in the data cache and
the cache is disabled, the processor locks up trying to access a cached descriptor during
a table search. Ensuring that the data cache is invalidated before enabling the MMU or
disabling the data cache and ensuring that the pages containing table descriptors are
pushed and invalidated prevents lockup during table searches.
Table and page descriptors must not be left in a state that is incoherent to the processor.
Violation of this restriction can result in an undefined operation. Page descriptors must not
have an encoding of U-bit = 0, M-bit = 1 and PDT field = 01 or 11. This encoding indicates
that the page descriptor is resident, not used, and modified. The processor’s table search
algorithm never leaves a descriptor in this state. This state is possible through direct
manipulation by the operating system for this specific instance. A table search for a
MOVE16 write can corrupt the cache line being written if the table descriptors are marked
There are two types of descriptors used in the translation tables, table and page. Table-
and page-level descriptors can be further divided into types of descriptors. Root table
descriptors are used in root-level tables and pointer table descriptors are used in pointer-
level tables. Descriptors in the page-level tables contain either a page descriptor for the
translation or an indirect descriptor that points to a memory location containing the page
descriptor. The P-bit in the TCR selects the page size as either 4 or 8 Kbytes.
22.214.171.124 TABLE DESCRIPTORS. Figure 3-11 illustrates the formats of the root and pointer
table descriptors. Two descriptor formats are possible at the pointer-level tables to support
4-Kbyte and 8-Kbyte page sizes.