Rate This Document
Findability
Accuracy
Completeness
Readability

Software Architecture

This section describes the logical structure of the TEE Kit, including its modules and functions. Figure 1 shows its software architecture.

Figure 1 Software architecture of the TEE Kit
The software architecture includes the TMM (S-EL2), TMMD (EL3), and also the Kernel-based Virtual Machine (KVM) running in the normal world. Table 1 describes their functions.
Table 1 Functions of each module

Module

Function

Trusted Management Monitor (TMM)

It runs at the Secure Execution Level 2 (S-EL2) layer of a TEE, performing functions such as cVM lifecycle management, memory page table mapping, and context switch.

Trusted Management Monitor Dispatcher (TMMD)

It runs in the Arm trusted firmware (ATF) of the EL3 layer. It forwards rich execution environment (REE) and TEE messages and switches contexts between the two worlds.

Kernel-based Virtual Machine (KVM)

It can incorporate patches to send TrustZone Management Interface (TMI) messages to a TEE, enabling it to manage the life cycle of cVMs.