mythril
mythril copied to clipboard
A hypervisor written in rust
The guest address space contains much of the unsafe code in Mythril. It should be heavily tested.
In order to support memory mapped device emulation, we need to be able to decode (parts of) the x86 instruction set. The 'action' the guest is trying to perform can...
The `spin` crate is no longer maintained. We should replace it with another no_std compatible lock implementation. I didn't immediately see one that supported a reader-writer lock interface.
This can generally be done like in redox: https://github.com/redox-os/kernel/blob/d4d14c78c304f1c3ae9628b5305ec3fa342c1409/src/arch/x86_64/interrupt/trace.rs#L10 The trouble is that we currently just map the first 4GB as virtual=physical. This means we have no real way of...
This should be an easy thing to write unit tests for, and we've already had 1 bug due to errors in that code.
We need to support 8259 PIC emulation. Looking at the kvm source, it seems that we don't need to support emulating _every_ feature of the device, but a good many:...
This will be vastly more efficient when mapping large amounts of guest memory. The downside is that it will be more complex when dealing with situations where there is a...
I would like to be better able to preserve context for errors. The failure crate seems like a good solution here, but I'm not sure how practical it is to...
Currently we use the `PAddr` and `VAddr` structs from `x86` for addresses. We also have our own 'GuestPhysAddr` structure. We should probably just pull in our own implementations for everything...
Bumps [linked_list_allocator](https://github.com/phil-opp/linked-list-allocator) from 0.8.6 to 0.10.2. Changelog Sourced from linked_list_allocator's changelog. 0.10.2 – 2022-09-06 Fix for potential out-of-bound writes that were possible on Heap initialization and Heap::extend. See the security...