Save this video free

cs6465 Advanced OS - Lecture 05 - Designing an xv6 VMM

Anton Burtsev · 1:23:02 · Watch on YouTube

Part of University of Utah CS 6465. See all 15 lectures and search them

These notes were made with YouTube Collector. Paste any YouTube link and get the same: a summary, chapters and a searchable transcript.

cs6465 Advanced OS - Lecture 05 - Designing an xv6 VMM Watch on YouTube →

Overview

Anton Burtsev guides the class through a low-level design for an xv6-hosted, type-2 x86 VMM using Intel VMX, with a small kernel component and a user process that creates and runs a guest. The initial milestone is a guest “hello world”: allocate a page-aligned VMCS, set up EPT mappings and guest state, load a binary image, handle VM exits and interrupts, and print through serial I/O before adding a cleaner hypercall interface.

Key takeaways

Chapters

0:00 Designing an xv6 VMM as a Class Exercise
7:00 Framing the VMX Hypervisor Design Problem
17:00 Choosing a Type-2 Design Inspired by KVM
20:30 Why Intel VMX Avoids Instruction Emulation
35:00 Enabling VMX on xv6 Host CPUs
38:00 Starting a VMM Process and Allocating a VMCS
42:00 Configuring VMX State for the First Guest
45:00 Defining the Minimal Guest and VM-Entry Loop
48:00 Using System Calls to Create and Run a VM
51:00 Setting Guest RIP and Supplying a Guest Image
55:00 Separating Guest Page Tables from EPT
1:00:00 Building EPT with xv6 Page Allocation
1:04:00 Loading a Guest Binary from the xv6 Filesystem
1:08:00 Copying Guest Image Pages into EPT-Backed Memory
1:11:00 Handling Guest Interrupts and Resuming Execution
1:14:00 Printing Guest Output and Completing the First Milestone

Keep these chapters and the full searchable transcript in your own library.

Transcript excerpt

0:37 Okay. So, uh, so today's plan looking at me. It's a little weird. I agree. getting Visual Studio. Yeah, that's today's plan is to take a little break in lectures because we can finish the the MX chapter later but try to design an X6 take it to an exercise. I will I will create the assignment like in class activity scope I will ask you to like to submit a plan but for the first like

1:24 let's take say take 10 minutes just think about and then we'll do step by step and then we'll turn it turn this into our homework I mean I could have assigned it but I think that's it would just be read through this like do whatever You have to do the submit and that's about it. So like get your laptops and start thinking what does it mean to you? We know everything. We we we know almost everything what we need to know to go to host. Maybe we're like and we can start for sure and then maybe like finish with one more half lecture, but I'm I'm not even sure that we need it, right? So maybe maybe we know everything. So think about it for like for five minutes

2:12 like try to take notes and then then we'll discuss the plan and um I mean to be specific I want you to be like reasonably low level you say look this is this is where where the VMM is running this is if we need a process this is a process this is how we can figure all this necessary data structures we max CMCS how we started how we receive stuff like that meanwhile I'll do like an assignment for

3:00 grade Oh, I'm not sharing the screen. Sure.

This is the start of the transcript. Save this video free for the whole transcript, searchable and time-coded.

In this course

Related notes

Summary, takeaways, and chapters were generated by AI from the video's transcript and may contain errors. The video belongs to its creator, Anton Burtsev.

Want the full transcript?

Save this video in YouTube Collector to get its complete searchable transcript, your own AI summaries, and a library that keeps every video you collect in one place.