Protected KVM on Arm64: A Technical Deep Dive - Quentin Perret, Google
The Linux FoundationCited 3× on HN, 2023–2025
talk · advanced · 2023–2025 on HN
Quentin Perret of Google gives a technical deep dive into protected KVM (pKVM) on Arm64, a confidential computing approach for CPUs without hardware extensions. It explains how the nVHE hypervisor manages stage-2 MMU access control to protect guest memory.
Used as a primary source for pKVM architecture in threads on Android virtualization and isolated VMs.
Up next
14 mo on HNThe Tragedy of systemd
linux.conf.au
16 HN recommender · 2019–2025
11 mo on HNThe Thirty Million Line Problem
Molly Rocket
11 HN recommender · 2018–2024
10 mo on HNVCF East: Ken Thompson interviewed by Brian Kernighan
Vintage Computer Federation
11 HN recommender · 2019–2025
9 mo on HNLISA11 - Fork Yeah! The Rise and Development of illumos
USENIX
9 HN recommender · 2012–2026
9 mo on HNUSENIX ATC '21/OSDI '21 Joint Keynote Address-It's Time for Operating Systems to Rediscover Hardware
USENIX
12 HN recommender · 2021–2026
8 mo on HNAT&T Archives: The UNIX Operating System
AT&T Tech Channel
10 HN recommender · 2013–2026
8 mo on HNTempleOS | Down the Rabbit Hole
Fredrik Knudsen
7 HN recommender · 2019–2022
7 mo on HNUnix and Google
FOAM
4 HN recommender · 2016–2023
6 mo on HNBryan Cantrill on Jails and Solaris Zones
PapersWeLove
6 HN recommender · 2016–2025
6 mo on HNContainers From Scratch • Liz Rice • GOTO 2018
GOTO Conferences
6 HN recommender · 2018–2025
6 mo on HNUser-level threads....... with threads. - Paul Turner - Google
Linux Plumbers Conference
6 HN recommender · 2013–2024
5 mo on HNBryan Cantrill from Joyent on Manta: internet-facing object storage facility that features compute
AI Council
4 HN recommender · 2014–2026
3 comments from Hacker News
> Separation from the hypervisor kernel? Not really. Separation from (type 1) hypervisor (or rather distrust of the host [0]) requires hardware support; ex: ARM CCA / AMD SEV-SNP / Intel TDX. For separation from the supervisor, Android developed a peculiar approach in "pKVM" for ARM where the host (supervisor) is partitioned away from the guest [1]. Both those "separations" is not something Toro provides on its own; the Toro unikernel would totally be under the control of the host, from what I can tell. That said, what Toro (or any unikernel, really) does is reduce the attack surface area, as the (guest) supervisor is pruned to run just one particular application (more code to partition things up will eliminate a class of attacks but may result in new attack vectors [2]). [0] ex: link [1] Protected KVM on Arm64: A Technical Deep Dive - Quentin Perret, Google ▶ this video (2023) [2] Mitigations are attack surface, too link (2020)
A modern virtualization architecture can be found in the OSS pKVM L0 nested hypervisor for Android Virtualization Framework, which has some architectural overlap with HP/Bromium AX L0 + [Hyper-V | KVM | Xen] L1 + uXen L2 micro-VMs with copy-on-write memory. A Bromium demo circa 2014 was a web browser where every tab was an isolated VM, and every HTTP request was an isolated VM. Hundreds of VMs could be launched in a couple of hundred milliseconds. Firecracker has some overlap. > Lastly, this approach is almost certainly more expensive. Our instances sit idle for the most part and we pay EC2 a pretty penny for the privilege. With many near-idle server VMs running identical code for each customer, there may be an opportunity to use copy-on-memory-write VMs with fast restore of unique memory state, using the techniques employed in live migration. Xen/uXen/AX: link pKVM: ▶ this video
The architecture pattern is similar to Bromium/HP AX + Type 2 μXen on x86, link (2018), which ships on HP business PCs. Bare metal runs a tiny L0 hypervisor making use of hardware support for nested virtualization. In turn, the L0 can run an L1 hypervisor, e.g. KVM or "host" OS, or minimal L1 VMs that are peers to the L1 "host"-guest of L0. Google pKVM-for-Arm tech talk (2022), hopefully x86 will follow, ▶ this video