UpdatesIt's been a while since I last posted to this blog, mainly because school just recently started back up a few weeks ago. Speaking of which, there's a program my school offers called RCOS (Rensselaer Center for Open Source Software) which I decided to join t...

DPCs to the Rescue!I finally fixed the CPU affinity issue, and have reason to believe I can now accurately initialize VMX on all active CPUs. The trick was, instead of creating a thread for each CPU and trying to set the affinity, I can create a DPC object for each CPU. There...

Change of PlansAs I've mentioned in previous posts, my original idea was to have a "master" bus driver which would manage initializing VMX on each CPU as well as creating the VMs, and then a "child" function driver for controlling each VM. However, I recently realized it ...

DPCs to the Rescue!I finally fixed the CPU affinity issue, and have reason to believe I can now accurately initialize VMX on all active CPUs. The trick was, instead of creating a thread for each CPU and trying to set the affinity, I can create a DPC object for each CPU. There...

Progress!I've successfully implemented child device creation! Whenever the bus driver receives a IOCTL_SWIVL_CREATE_VM ioctl, it creates a new VM object and registers a new VM device with the PnP (plug-and-play) manager, which is then able to load the function drive...