A structured navigation hub for explaining the Bare-Metal KVM Hypervisor & Virtualization Engine (CS 695: Topics in Virtualization and Cloud Computing | Prof. Purushottam Kulkarni).
| Page | Type | Duration | Primary Focus |
|---|---|---|---|
| Intro Pitch | Speech | 60–90 sec | High-level overview: KVM API, guest memory mapping, I/O traps, and multi-VM scheduling. |
| Detailed Architecture | Speech | 3.5–5 min | End-to-end 4-stage walkthrough: VM creation, vCPU configuration, VM exit handling, and inter-VM coordination. |
| Topic 01: Core KVM API & Memory | Deep Dive | 2–3 min | Three-tier file descriptor hierarchy (/dev/kvm, vm_fd, vcpu_fd), mmap with MAP_NORESERVE, and KVM_SET_USER_MEMORY_REGION. |
| Topic 02: VM Exits & I/O Traps | Deep Dive | 2–3 min | Hardware VM exit mechanics, KVM_EXIT_HLT, and implementing trap-based hypercalls via in/out assembly instructions. |
| Topic 03: GVA→HVA Translation | Deep Dive | 2–3 min | Guest Virtual Address to Host Virtual Address mapping: GVA → GPA → HVA (HVA = vm->mem + GVA). |
| Topic 04: Dual-VM Circular Buffer | Deep Dive | 2–3 min | Producer/Consumer VM architecture, isolated memory spaces, and hypervisor-mediated 20-element ring buffer sync. |
| Topic 05: vCPU Scheduling | Deep Dive | 2–3 min | Userspace time-sliced scheduling trace, hardware state management in KVM, and cooperative context switches. |
/dev/kvm ioctls.mmap() is committed on-demand and assigned as Guest Physical RAM via EPT/NPT tables.KVM_EXIT_IO via x86 I/O port instructions.