You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/learning-paths/servers-and-cloud-computing/cca-device-attach/1-introduction.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ weight: 2
6
6
layout: learningpathall
7
7
---
8
8
9
-
## What is Arm’s Confidential Computing Architecture (CCA) and Realm Management Extension (RME)?
9
+
## What is Arm’s Confidential Computing Architecture (CCA) and the Realm Management Extension (RME)?
10
10
11
11
Arm Confidential Computing Architecture (CCA) is a security framework introduced in the Armv9-A architecture. It defines a set of hardware-enforced isolation features that enable the creation of secure execution environments, which are designed to protect sensitive data while it’s being processed. CCA is the foundation of Confidential Computing on Arm platforms, ensuring that even privileged software like operating systems and hypervisors can’t access protected data.
12
12
@@ -16,7 +16,7 @@ Together, CCA and RME deliver the infrastructure needed to build Confidential Co
16
16
17
17
## What is a Realm?
18
18
19
-
A **Realm** is a protected execution environment enabled by RME. It operates independently from both the **Normal World** - where operating systems and user applications run - and the **Secure World**, which hosts trusted firmware and trusted execution environments (TEEs).
19
+
A Realm is a protected execution environment enabled by RME. It operates independently from both the Normal Worldwhere operating systems and user applications run, and the Secure World, which hosts trusted firmware and trusted execution environments (TEEs).
20
20
21
21
Realms allow lower-privileged software, such as an application or a virtual machine, to protect its content and execution from attacks by higher-privileged software, such as an OS or a hypervisor. Realms provide an environment for confidential computing, without requiring the Realm owner to trust the software components that manage the resources that the Realm uses.
Copy file name to clipboardExpand all lines: content/learning-paths/servers-and-cloud-computing/cca-device-attach/2-virtio.md
+8-7Lines changed: 8 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,32 +6,33 @@ weight: 3
6
6
layout: learningpathall
7
7
---
8
8
9
+
## Overview
10
+
9
11
This section introduces VirtIO and Bounce Buffers in the context of CCA Realms, and explains how they enable secure data exchange between a Realm and the untrusted external world.
10
12
11
13
A Realm must eventually use physical devices to interact with the external world. The easiest way to achieve this is by using VirtIO, which provides a fast, high-level emulation layer. This is considered the first level of device attach, where access is mediated by the hypervisor using paravirtualized interfaces.
12
14
13
15
More advanced device attach features can be enabled by hardware security features like PCIe-TDISP (**T**EE **D**evice **I**nterface **S**ecurity **P**rotocol) and PCIe-IDE (**I**ntegrity
14
16
and **D**ata **E**ncryption), where the host OS assigns a physical device to a Realm. The Realm can then make security measurements on the physical device and include those in its attestation base.
15
17
16
-
## VirtIO
17
-
18
-
Learn how VirtIO provides an efficient, paravirtualized I/O interface between Realms and host devices.
19
-
20
18
### What is VirtIO?
21
19
22
-
VirtIO is an abstraction layer for virtual devices in virtualized environments. It provides standardized and efficient interfaces between guest virtual machines (VMs) and host devices, making it easier to develop paravirtualized drivers.
20
+
VirtIO provides an efficient, paravirtualized I/O interface between Realms and host devices. It is an abstraction layer for virtual devices in virtualized environments. It provides standardized and efficient interfaces between guest virtual machines (VMs) and host devices, making it easier to develop paravirtualized drivers.
23
21
24
22
Paravirtualized means that the guest OS is aware it’s running in a virtualized environment and can use optimized drivers (VirtIO) to communicate with virtual hardware. Emulating physical hardware devices (like NICs or disks) for VMs is slow and inefficient. VirtIO allows VMs to bypass full device emulation and use streamlined drivers.
25
23
26
-
VirtIO is most commonly used with KVM/QEMU virtualization. Example drivers include:
24
+
VirtIO is most commonly used with KVM/QEMU virtualization.
25
+
26
+
Example drivers include:
27
+
27
28
-`virtio-net`: Paravirtualized networking
28
29
-`virtio-blk`: Block device (disk) access
29
30
-`virtio-fs`: File sharing (host ↔ guest)
30
31
-`virtio-balloon`: Dynamic memory management
31
32
-`virtio-rng`: Random number source
32
33
-`virtio-console`: Simple console interface
33
34
34
-
### How VirtIO works in VMs
35
+
### How does VirtIO work in VMs?
35
36
36
37
Here is an overview of how VirtIO works in Virtual Machines:
Copy file name to clipboardExpand all lines: content/learning-paths/servers-and-cloud-computing/cca-device-attach/_index.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,10 +10,10 @@ learning_objectives:
10
10
- Explain what device attach means and how it applies to different types of devices
11
11
12
12
prerequisites:
13
-
- An AArch64 or x86_64 computer running Linux or macOS. you can use a cloud instance from one of these [Arm cloud service providers](/learning-paths/servers-and-cloud-computing/csp/).
14
-
- Completion of [Get Started with CCA Attestation and Veraison](/learning-paths/servers-and-cloud-computing/cca-veraison) Learning Path.
15
-
- Completion of the [Run an application in a Realm using the Arm Confidential Computing Architecture (CCA)](/learning-paths/servers-and-cloud-computing/cca-container/) Learning Path.
16
-
- Completion of the [Run an end-to-end Attestation Flow](/learning-paths/servers-and-cloud-computing/cca-essentials/) Learning Path.
13
+
- An AArch64 or x86_64 computer running Linux or macOS. You can also use a cloud instance from one of these [Arm cloud service providers](/learning-paths/servers-and-cloud-computing/csp/).
14
+
- Completion of [Get Started with CCA Attestation and Veraison](/learning-paths/servers-and-cloud-computing/cca-veraison) Learning Path
15
+
- Completion of the [Run an application in a Realm using the Arm Confidential Computing Architecture (CCA)](/learning-paths/servers-and-cloud-computing/cca-container/) Learning Path
16
+
- Completion of the [Run an end-to-end Attestation Flow](/learning-paths/servers-and-cloud-computing/cca-essentials/) Learning Path
0 commit comments