Visible to Intel only — GUID: sfo1411577351337
Ixiasoft
Visible to Intel only — GUID: sfo1411577351337
Ixiasoft
12.6.4.9. Example of Configuration for TrustZone
This example implements the following memory configuration:
- 2 GB total RAM size
- 0—512 MB dedicated secure area
- 513—576 MB shared area
- 577—2048 MB dedicated non-secure area
In this example, each port is configured by default to disallow all accesses. The following table shows the two rules programmed into the memory protection table.
Rule # |
Port Mask |
AxID Low |
AxID High |
Address Low |
Address High |
protruledata.security |
Fail/Allow |
---|---|---|---|---|---|---|---|
1 |
0x3FF (1023) |
0x000 |
0xFFF (4095) |
0 |
576 |
0x1 |
Allow |
2 |
0x3FF (1023) |
0x000 |
0xFFF (4095) |
512 |
2047 |
0x0 |
Allow |
The port mask value, AxID Low, and AxID High, apply to all ports and all transfers within those ports. Each access request is evaluated against the memory protection table, and fails unless there is a rule match allowing a transaction to complete successfully.
Operation |
Source |
Address Accesses |
Security Access Type |
Result |
Comments |
---|---|---|---|---|---|
Read |
CPU |
4096 |
secure |
Allow |
Matches rule 1. |
Write |
CPU |
536, 870, 912 |
secure |
Allow |
Matches rule 1. |
Write |
L3 attached masters |
605, 028, 350 |
secure |
Fail |
Does not match rule 1 (out of range of the address field), does not match rule 2 (protection bit incorrect). |
Read |
L3 attached masters |
4096 |
non-secure |
Fail |
Does not match rule 1 (AxPROT signal value wrong), does not match rule 2 (not in address range). |
Write |
CPU |
536, 870, 912 |
non-secure |
Allow |
Matches rule 2. |
Write |
L3 attached masters |
605, 028, 350 |
non-secure |
Allow |
Matches rule 2. |