[HN Gopher] Hypervisor Development in Rust
       ___________________________________________________________________
        
       Hypervisor Development in Rust
        
       Author : ingve
       Score  : 181 points
       Date   : 2023-04-15 12:11 UTC (10 hours ago)
        
 (HTM) web link (memn0ps.github.io)
 (TXT) w3m dump (memn0ps.github.io)
        
       | LatticeAnimal wrote:
       | This article seems to be targeting Windows. Does anyone know how
       | different the process is on Linux? (Or if there are Linux-
       | specific resources like this)
        
         | anaisbetts wrote:
         | All of the NT functions used here have 1:1 Linux kernel
         | equivalents, they are all very fundamental kernel operations
         | that every kernel will have
        
         | traceroute66 wrote:
         | AWS Firecracker[1] ?
         | 
         | [1]https://firecracker-microvm.github.io/
        
           | LatticeAnimal wrote:
           | I mean in-depth guides like the one that was linked, not
           | technologies, but thank you
        
             | ghostpepper wrote:
             | Not Linux but this is for UEFI
             | https://tandasat.github.io/Hypervisor-101-in-Rust/
        
         | rektide wrote:
         | https://github.com/tandasat/Hypervisor-101-in-Rust is there to
         | help
         | 
         | https://github.com/cloud-hypervisor/cloud-hypervisor isn't
         | educational necessarily but is one of the most technically
         | progressive fastest developing highest funded vm projects ever,
         | and there are oodles of tech talks on it. I am not qualified to
         | make any specific recommendations, but there's tons of stuff
         | here.
        
           | the_duke wrote:
           | > and there are oodles of tech talks on it
           | 
           | Can you recommend a few good ones?
           | 
           | Searching Youtube for cloud-hypervisor doesn't yield anything
           | solid.
        
       | carom wrote:
       | Highly recommend the Gamozolabs streams for this type of work
       | too. [1]
       | 
       | 1. https://m.youtube.com/@gamozolabs/playlists
        
       | davemp wrote:
       | This is a pretty good article about CPU virtualization, which is
       | a key starting point (as this seems to be the starting point of a
       | series).
       | 
       | What I'm interested in at the moment is device virtualization,
       | which seems like a pretty hairy problem in the current KVM
       | paradigm. IOMMU is a big step but it seems there's just a lot of
       | grunt work left for getting the host/guest drivers working well.
       | 
       | It almost feels like exokernel [0] path would have been
       | preferable over having to write windows/linux/mac host drivers
       | for virtualizing buses/devices. We already have a very awkward
       | overlap with UEFI drivers. Maybe we just need new HW bus designs
       | that are more of a switch than mux, I haven't gone deep enough
       | into modern bus controller designs to know though.
       | 
       | The reality of doing this kind of research/work is a special hell
       | though, because you sit in a crossfire between
       | hardware/firmware/os/application vendors.
       | 
       | [0]: https://wiki.osdev.org/Exokernel
        
         | bpye wrote:
         | There are features that improve device virtualisation. Things
         | like SR-IOV allowing for multiple virtual functions on a single
         | device, and ATS which (among other things) means that device
         | memory doesn't need to be pinned. The issue is that these
         | features are at best supported on expensive data centre
         | devices.
        
       ___________________________________________________________________
       (page generated 2023-04-15 23:00 UTC)