tag
Virtualization
7 posts
How QEMU Emulates Hardware: Device Models, MMIO, and TCG
Every device your guest sees is C code responding to memory addresses. Once you see the trick, QEMU stops being mysterious and its performance behaviour becomes predictable.
How to Check KVM Is Enabled on Raspberry Pi 5 (/dev/kvm, lsmod, dmesg)
Three commands confirm your host can run accelerated VMs — and one of them returns nothing on a Raspberry Pi, for a reason that confuses a lot of people.
KVM vs QEMU vs libvirt: Who Does What
Three pieces, one running VM. Each exists because of a specific gap the layer below it leaves open — which is a better way to learn them than three definitions.
What a Hypervisor Is, and Where KVM Fits (Type-1 vs Type-2)
The Type-1 vs Type-2 split is the first thing every virtualization tutorial teaches, and KVM breaks it. Here's why that's interesting rather than annoying.
What ioctl(KVM_RUN) Does: The VM Exit Loop Explained
One system call, looped forever, is what running a virtual machine physically is. Here's what happens inside it — and why some VM exits cost far more than others.
Why KVM Needs the CPU: ARM64 EL2, VHE, and the Virtualization Extension
KVM is a kernel module, but virtualization is a hardware feature. Understanding how those two relate is where most people's mental model of KVM breaks.
Why VirtIO Is Faster Than Emulated Devices: Virtqueues and vhost-net Explained
Emulated devices are slow because they faithfully imitate hardware that was never designed for software. VirtIO throws that away and lets the guest cooperate instead.