From 786a195f8e81d4f7c0af2a82b9d458361d424a71 Mon Sep 17 00:00:00 2001 From: johannst Date: Wed, 26 May 2021 00:21:06 +0200 Subject: minimal KVM abstraction + real mode guest example --- README.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 README.md (limited to 'README.md') diff --git a/README.md b/README.md new file mode 100644 index 0000000..c0227e6 --- /dev/null +++ b/README.md @@ -0,0 +1,27 @@ +# kvm-rs + +A playground for the [`Kernel Virtual Machine +(KVM)`](https://www.kernel.org/doc/html/latest/virt/kvm/index.html) in rust to +learn about KVM and [`rust +ffi`](https://doc.rust-lang.org/stable/std/ffi/index.html). + +The sources are structured as follows: +- [`src/`](./src) provides a small library as abstraction over the raw [KVM + API](https://www.kernel.org/doc/html/latest/virt/kvm/api.html#api-description). +- [`examples/`](./examples) contains example VMs using the library above. +- [`guest/`](./guest) contains the guest source code. +- [`sysdeps/`](./sysdeps) helper to generate some KVM constants from the system + header (executed by [build.rs](./build.rs)). + +## Real Mode (16bit) example + +```bash +# Once: Build the guest binary image. +make -C guest + +# Run the Real Mode example. +cargo run --example real_mode +``` + +## License +This project is licensed under the [MIT](LICENSE) license. -- cgit v1.2.3