Modularizing CPU Semantics for Virtualization
summary
Proposes a concrete decomposition of ARM ASL into an unprivileged core and a small privileged handler so one common unprivileged semantics can be reused across bare-metal and virtualized runs. Builds a prototype interface around an address-translation handle (translate → read/write) and integrates with the microkernel Nova plus a C++ VMM; several instructions are refactored and many VMM C++ routines are mechanically verified, while the full ASL rewrite and end-to-end mechanized simulation remain work in progress.
AI-written summary · about
chapters (8)
- 0:00Introduction
- 1:51Virtualization stack goals
- 3:17Hardware-software decomposition
- 6:04Privileged vs unprivileged logic
- 7:27Instruction semantics examples
- 10:58Simulation proof intuition
- 14:27Summary
- 14:49Q&A
related talks
20mRelaxed systems semantics and how we (hope to) reason above it
19mSystem-level weak memory models: The need for formalisation, ISA semantics integ...
21mVirtualizing Continuations
01h 02mMemory and Compilers
26mArchSem: Reusable Rigorous Semantics of Relaxed Architectures
13mRISC V Hypervisor Extensions
01h 11mProgramming language memory models: Problems, solutions, and directions
37mAssembling
