CPC G06F 12/1045 (2013.01) [G06F 12/0238 (2013.01); G06F 12/1009 (2013.01); G06F 12/1036 (2013.01); G06F 12/1054 (2013.01); G06F 12/1063 (2013.01); G06F 2212/651 (2013.01); G06F 2212/653 (2013.01); G06F 2212/7201 (2013.01)] | 20 Claims |
1. A data processing apparatus comprising:
storage circuitry to store a hierarchy of page tables comprising an intermediate level page table comprising a plurality of entries, each comprising corresponding base address information of a corresponding next level page table and corresponding control information indicating whether an addressing function has been applied to reorder physical storage locations of entries of the corresponding next level page table; and
address translation circuitry to perform a virtual-to-physical address translation using the hierarchy of page tables in response to receipt of a virtual address, the virtual-to-physical address translation comprising performing a lookup in a next level page table dependent on base address information defined in an entry of the intermediate level page table and a page table index generated based on a portion of the virtual address,
wherein irrespective of the control information of the entry, a base address used to access a physical storage location of the next level page table is generated from the entry of the intermediate level page table, and
wherein the address translation circuitry is adapted such that:
in response to control information of the entry indicating that the addressing function has been applied, the lookup in the next level page table is performed at a modified storage location within the next level page table identified by a modified page table index generated by applying the addressing function to reorder at least two sub-portions of the portion of the virtual address; and
in response to control information of the entry indicating that the addressing function has not been applied, the lookup in the next level page table is performed at a storage location within the next level page table identified by the page table index generated from the portion of the virtual address without applying the addressing function.
|