GR740-UM-DS, Nov 2017, Version 1.7
128
www.cobham.com/gaisler
GR740
12.5.1 IO Page Table Entry
Address translation is performed by looking up translation information in a one-level table present in
main memory. Part of the incoming address is used to index the table that consists of IO Page Table
Entries. The format of an IO Page Table Entry (IOPTE) is shown in table 124 below.
When the core has IOMMU protection enabled all, incoming accesses from masters belonging to an
active group, which is not in pass-through mode, will be matched against TMASK. If an access is out-
side the range specified by ITR/TMASK, the access will be inhibited and may receive an AMBA
ERROR response (not applicable when the access is a posted write).
If the incoming access is within the range specified by ITR/TMASK, the core will use the incoming
IO address to index the page table containing the address translation information for the master/IO
Table 123.
Effects of IOMMU Translation Range setting
ITR
Size of translated range
TMASK bits used
Number of pages
Size of page tables
0
16 MiB
TMASK[31:24]
4096 / 2
pgsz
16 / 2
pgsz
KiB
1
32 MiB
TMASK[31:25]
8192 / 2
pgsz
32 / 2
pgsz
KiB
2
64 MiB
TMASK[31:26]
16384 / 2
pgsz
64 / 2
pgsz
KiB
3
128 MiB
TMASK[31:27]
32768 / 2
pgsz
128 / 2
pgsz
KiB
4
256 MiB
TMASK[31:28]
655536 / 2
pgsz
256 / 2
pgsz
KiB
5
512 MiB
TMASK[31:29]
131072 / 2
pgsz
512 / 2
pgsz
KiB
6
1024 MiB
TMASK[31:30]
262144 / 2
pgsz
1 / 2
pgsz
MiB
7
2048 MiB
TMASK[31]
524288 / 2
pgsz
2 / 2
pgsz
MiB
8
4096 MiB
TMASK not used
1048576 / 2
pgsz
4 / 2
pgsz
MiB
Table 124.
IOMMU Page Table Entry (IOPTE)
31
8
7
6
5
4
3
2
1
0
PPAGE
C
R
BO BS W
V
R
31:8
Physical Page (PPAGE) - Bits 27:8 of this field corresponds to physical address bits 31:12 of the
page. With a 4 KiB page size, PPAGE[27:8] is concatenated with the incoming IO address bits [11:0]
to form the translated address. For each increase in page size one bit less of PPAGE is used and one
bit more of the incoming IO address is used: this means that with a 16 KiB page size ,
PPAGE[27:10] will be concatenated with the incoming IO address bits [13:0] to form the translated
address.
Bits 31:27 of this field are currently discarded by the IOMMU and are present in the data structure
for forward compatibility with systems using 36-bit AMBA address space.
7
Cacheable (C) - This field is currently not used by the IOMMU
6:5
RESERVED
4
Bus select Override (BO) - If this field is set to ‘1’ then the bus selection is made via the IOPTE.BS
field instead of the per master selection in the Master Configuration register.
3
Bus Select (BS) - Overrides master configuration register BS field when BO field in this IOPTE is
set.
BS = ‘0’ routes traffic over the Processor AHB bus. BS = ‘1’ routes traffic to the Memory AHB bus.
2
Writeable (W) - If this field is ‘1’ write access is allowed to the page. If this field is ‘0’, only read
accesses are allowed.
1
Valid (V) - If this field is ‘1’ the PTE is valid. If this field is ‘0’, accesses to the page covered by this
PTE will be inhibited.
0
RESERVED