|Home > ATB infrastructure components functional description > CoreSight Address Translation Unit > Software interfaces > Scatter list|
The CATU uses a scatter list in memory to find the addresses of pages of memory to use for trace storage.
All the physical memory pages that are made available for trace data storage are 4KB. Each entry in the scatter list points to one of these 4KB pages.
The scatter list comprises a series of 4KB address regions, each region split into 2 x 2KB subpages. The base address of the scatter list is defined in the 9 Scatter List Address High register, SLADDRHI and 9 Scatter List Address Low register, SLADDRLO. At reset, the INADDRHI and INADDRLO registers contain a VA reference to the physical address that is defined in the SLADDRHI and SLADDRLO registers.
Each bottom 2KB subpage holds up to 256 64-bit physical addresses, each one pointing to a 4KB trace storage page in physical memory. Each top 2KB subpage holds only two addresses - the address of the next linked list and the address of the previous linked list. The address of the next linked list is the last entry in a 4KB list of pages, and the address of the previous linked list is the last-but-one entry. The total VA space that is covered by any 4KB scatter list is:
256 entries x 4KB pages = 1MB.
Each entry in the bottom 2KB subpage link list is made up as follows:
The addresses are used as follows:
The following figure shows the overall structure of the scatter list.