SPRUIL1D May 2019 – December 2024 DRA829J , DRA829J-Q1 , DRA829V , DRA829V-Q1 , TDA4VM , TDA4VM-Q1
The registers in PAT that define the address spaces are mapped into the physical address space in contiguous regions. Software, probably a hypervisor, can use DMA to accelerate updates to PAT. However, these DMA writes are not indivisible. An address transaction to a region mapped by an incoming or over-written address range may result in a corrupted translation. The hypervisor must configure PAT before virtual machines using those mapping are allowed to perform memory translation through a PAT instance.
A subset of a PAT instance's registers are used for control and configuration. Each PAT instance has an independent copy of these registers. Except for the transaction modification control described above, software that wants to globally apply some configuration or operating mode to all PAT instances must iterate through all the PAT instances.
There is no special handshake mechanism in PAT can be used determine when the page updates through DMA are complete. The hypervisor must use the normal DMA completion indication to determine when the entries are updated and it is safe to allow traffic through the PAT using a new configuration.