SPRUIL1D May 2019 – December 2024 DRA829J , DRA829J-Q1 , DRA829V , DRA829V-Q1 , TDA4VM , TDA4VM-Q1
There is an overall PAT enable bit PAT_CONTROL register, and each page entry has an enable bit - PAT_BASE_REG_H_j_k (where j = block, k = page). If the transaction is to the PAT and the PAT_CONTROL[0] ENABLE bit is clear, then no pages are enabled and all lookups to the table will result in an error. Similarly, if the page entry bit is clear the page is not enabled and any lookups to that page will result in an error. The transaction will be flushed and the error logged in the PAT_EXCEPTION_LOGGING registers. If this bit is set, then the page is enabled and the translation will be performed. When changing a page entry, the safest approach is to clear the ENABLE bit first, then write the lower address value, and finally the upper address value along with setting the ENABLE bit. This will guarantee that a lookup cannot use the entry while it is in the middle of the update.