How Intel Virtualisation Works
I haven't read this article yet, but this is more or less the best moment to showcase you guys what a friend of mine made. I think it's really cool.He created a memory allocator in which it is impossible to create dangling pointers. He used it by becoming the kernel through Intel VT-x (i.e. he uses ring 0). He uses libdune for this, which in turn uses Intel VT-x.Check it out at: https://dangless.gaborkozar.me/I'm going to write an ascii diagram in the upcoming edit. For now: I'll just leave you with the legend that my friend made.Note: my friend made a video and slides. So for people who are interested, his slides and videos are much nicer to look at than this diagram.DIAGRAM (of all the physical and virtual memory)|1||2||3||4|LEGEND1 = host physical memory2 = host virtual memory3 = guest physical memory4 = guest virtual memoryA: normal host pagetableB: embedded page table (this is VT-X thingy)C: guest page table (this is what I mess with)