[Kata-hypervisor] kata requirements for image formats and devices

Allison Randal allison at lohutok.net
Sat Jun 9 13:13:13 UTC 2018


On 06/06/2018 07:59 PM, Allison Randal wrote:
> Now that others are potentially interested, I'll work on 
> flipping the repos to public...

I've carved out one small piece, because there seem to be several groups 
independently evaluating whether Rust makes sense in this context. This 
is the beginnings of a Rust library to interface with KVM, and could be 
used by any Rust hypervisor:

https://gitlab.com/preon/libkvm

It's not a complete interface, but it's enough to see how clean and 
maintainable a Rust interface to KVM can be, and to show off some of 
Rust's C-compatibility features (like C-compatible Rust types and 
structs that can be passed directly into ioctl calls). This is something 
like my 3rd or 4th rewrite, but I like how this one is coming together 
in terms of the best use of Rust's features, and providing a clean base 
that's easier to reason about from a security perspective.


As a bit of history, I started paying attention to Rust in the '00s, 
when I was chief architect of the Parrot project. Since Rust was 
initially designed around the idea of secure isolation between 
Javascript language VMs in browser tabs, I was curious how the language 
would apply to other domains that needed secure isolation, like 
hypervisors, OS VMs, containers, etc. Along the way, I think I might 
actually be starting to like Rust better than C, at least for certain 
problem domains. That's not something I'd say lightly, I've been a C 
developer for a long time. I still remember when Perl was "a pretty neat 
idea" because it made writing CGI code easier than C did. I expect you 
all now think it's "obvious" that the family of languages including 
Python, Ruby, and PHP are a better fit for web development than C, but 
it wasn't considered obvious at the time, it was considered radical.

Allison



More information about the Kata-hypervisor mailing list