GR740-UM-DS, Nov 2017, Version 1.7
127
www.cobham.com/gaisler
GR740
Group-set-addressing is enabled via the GS field in the core’s Control register.
12.4.2 Access Protection Vector cache flush operation
If the contents of a vector is modified the core cache must be flushed by writing to the TLB/Cache
Flush Register. The TLB/Cache Flush register contains fields to flush the entire cache or to flush the
lines belonging to a specified group. In order to flush entries for a specific group, group-set-address-
ing must be implemented and enabled. Performing a group flush without group-set-addressing may
only flush part of the cache and can lead to unexpected behavior.
The core will not propagate any transfers while a cache flush operation is in progress.
12.5
IO Memory Management Unit (IOMMU) functionality
The IOMMU functionality of the core provides address translation and access protection on the full 4
GiB AMBA address space. The size of the address range where addresses are translated is specified
by the IOMMU Translation Range (ITR) field in the core’s Control register:
Size of translated address range in MiB = 16 MiB * 2
ITR
The maximum allowed value of the ITR field is eight, which means that the IOMMU can provide
address translation to an area of size 16*2
8
= 4096 MiB, which is the full 32-bit address space. When
ITR is set to eight and a page size of 4 KiB is used, bits 31:12 of the incoming IO address are trans-
lated to physical addresses, using IO Page Tables entries describes below. Bits 11:0 of the incoming
access are propagated through the IOMMU. For each increase in page size one more bit will be
directly propagated through the IOMMU instead of being translated.
If ITR is less then eight then the most significant bits of the IO address must match the value of the
TMASK field in Capability register 2. If an access is outside the range specified by TMASK the
access will be inhibited. Table 123 shows the the effect of different ITR values. As an example, with
ITR set to 2, the IOMMU will perform address translation for a range that spans 64 MiB. This range
will be located at offset TMASK[31:26]. Accesses to addresses that do not have their most significant
bits set to match TMASK[31:26] will be inhibited. The table also shows the number of pages within
the decoded range and the memory required to hold the translation information (page tables) in main
memory. The
pgsz
value is the value of the PGSZ field in the control register.
Table 122.
Group set addressing: Set address/TAG arrangement
Set address:
31
4
3
2
0
Not present
Low
phys.
Group ID
Contents of Tag RAM:
31
10
1
0
Not present
High bits of physical address
V
0
Valid (V) - Signals that addressed position in cache contains valid data