Architecture

Details

MMU / TLB / Cache Controllers

2 separate, virtual MMUs.

  • Indexed by NS.

Single TLB.

  • But entries keep the value of NS that created them.

  • No need to invalidate them when switching between worlds.

The Secure World can still access non-secure memory.

  • Extra bit on each entry in the secure translation table.

Single cache.

  • Cache lines keep the NS address bit.

AXI (Advanced eXtensible Interface)

Extra NS line for secure read/write operations.

  • Non-secure master cannot access a resource marked as secure.

TZASC (TZ Address Space Controller)

Allows a dynamic classification of AXI slave memory-mapped devices as secure or non-secure.

  • Partitioning of single memory units.

Controlled by the Secure world.

TZMA (TZ Memory Adapter)

Keeps a classification of in-SoC memory areas as secure and non-secure.

  • ROM or SRAM.

Non-secure accesses cannot access secured memory areas.

Controlled by the Secure World.

TZPC (TZ Protection Controller)

Allows to dynamically set the security of a peripheral connected to the APB (Advanced Peripheral Bus).

  • Protects non-secure access requests to reach peripherals marked as secure.

Controlled by the Secure World.

GIC (Generic Interrupt Controller)

Classifies interrupts as secure or non-secure.

  • Once set, cannot be changed.

Interrupts can be normal or fast (high-priority).

  • Secure interrupts usually have higher priority.

Interrupts with a security classification different from the current world force the switching to Monitor (EL3).

Controlled by the Secure World.

Last updated