1. Terminology
Realm Management Monitor (RMM) Realm Management Interface (RMI) Realm Services Interface (RSI) Realm Management Extension (RME) Granule Protection Check (GPC) Kernel-based Virtual Machine (KVM) Virtual Machines (VMs) Realm Descriptor (RD) Realm Execution Context (REC) Virtual CPU (VCPU) Realm Translation Table (RTT) Secure Monitor Call (SMC) High Level Operating System (HLOS) Physical Address Spaces (PAS) Granule Protection Check (GPC) Granule Protection Table (GPT) Granule Protection Fault (GPF) Translation Table Descriptor (TTD) Granule Protection Table Descriptor (GPTD)
2. Architecture Overview
Before learning about the new CCA/RME architecture of ARMV9, let’s recall the previous ARM TrustZone architecture.
2.1. Software Model of ARMV7
In December 2008, ARM Holdings released the TrustZone technology white paper for the first time. (TrustZone white paper – ARM TrustZone Security White Paper Baidu Cloud Download, Password: 1234)
In 2013, Apple launched the first iPhone with fingerprint unlock: the iPhone 5s, which utilized the Secure Enclave technology to ensure the security of fingerprint information, which was deeply customized based on the ARM TrustZone architecture. This was probably the first time TrustZone technology entered the public eye. Now, TrustZone technology has become an important foundational technology in mobile security. You may not understand its technical principles, but it has been silently protecting your fingerprint information, account passwords, and various sensitive data.
Additionally, in earlier ARM books or blogs, it was often mentioned that ARM has several modes, with some saying 7 modes, some saying 8, and some saying 9. The latest official documentation states there are 9 modes.
So why is there inconsistency in these statements? This is because different ARM cores have varying support for Monitor/Hyp modes; some support it, while others do not. The following lists the support situation of ARM cores for Monitor/Hyp modes:
Therefore, regarding different cores, the statement of how many modes ARM has varies. They are all correct, haha!!
2.2. Software Model of ARMV8-arch32
In ARMV8 Cortex-A chips, almost (what nonsense almost, this should be changed to all) supports ARM TrustZone security extensions, as shown in the security architecture diagram of ARMV8-aach32.
Under the ARMV8 architecture, the concept of modes has become vague (what does vague mean, it actually doesn’t exist), and there is no longer talk of 7, 8, or 9 modes. The most commonly used terms are the four exception levels: EL0/EL1/EL2/EL4.
In the ARMV8-aarch32 architecture, there is a certain uniqueness, perhaps to maintain compatibility with V7. It can be seen that in this architecture, there is no S-EL1, and both the Trust OS and Secure Monitor run at EL3 level.
2.3. Software Model of ARMV8-arch64
Now let’s look at the ARMV8-aarch64 architecture, which is almost the most common architecture we encounter today.

2.4. ARM with S-EL2
In ARMV8.4, S-EL2 support was introduced (MD, so far there has been no ARMV8 core of this type, and since V9 has already been released, it seems this architecture will not appear on V8). The architecture diagram is shown below. The Firmware can be ARM’s TF-A, and SPM can be ARM’s Hafnium firmware. Why use “can”? Because ARM has not explicitly stated that its ATF/Hafnium firmware must be used; of course, one can also write one according to its standards.

2.5. ARM with FF-A
With the advent of S-EL2, in response to increasingly complex software, ARM defined the FF-A architecture (which is essentially an ABI standard), and its architecture diagram is shown below. This architecture has been discussed in ARM PPTs for over two years. Initially, it was thought this would be the final architecture diagram, but with the arrival of ARMV9 at the end of March 2021, ARM released a bombshell!!! (ARM CCA)

2.6. ARM CCA/RME
Nani? What?

What are the security levels of ARM? Two, right? Secure and Non-secure × Students, keep up with the times. It’s now four: Root, Realm, Secure, Non-secure √
Under the ARMV9/CCA architecture, ARM has added support for Realm.
References:
Introducing Arm Confidential Compute Architecture Introducing Arm’s dynamic TrustZone technology AArch64 exception model AArch64 memory management AArch64 virtualization
Follow Arm Selected, let’s learn together!