mythril
mythril copied to clipboard
A hypervisor written in rust
Currently we set the log level in kmain: https://github.com/mythril-hypervisor/mythril/blob/master/mythril/src/kmain.rs#L189 We should allow this to be configured at run time. I'm open to suggestions about how to deal with the early...
While the TSC based timers should (typically) be more desirable, we probably also want to implement virtual HPET(s). This is an issue to track that general development.
Currently (I don't _think_) we can set a timer more accurately than 1 microsecond. We should change our timer handling to be accurate to nanoseconds, if possible. I suspect we...
Currently we always mask external interrupts in the hypervisor context. This simplifies the design, but can hurt latency characteristics for high priority interrupts. Consider the following situation with our current...
This a necessary step for decent real-time performance. I don't _believe_ we have any issues here aside from allocation, which we're moving toward removing, and RwLock. We will need to...
Currently we observe the following error during startup: ``` unchecked MSR access error: WRMSR to 0x680 (tried to write 0x0000000000000000) at rIP: 0xffffffff8100b384 (wrmsrl+0xc/0xf) Call Trace: ? intel_pmu_lbr_reset+0x49/0xb0 ? intel_pmu_cpu_starting+0x35/0x1f9...
This seems to happen after the `[ 0.017325] MYTHRIL-INFO: INITRD_SIZE: 0x6cd600` output, even if the initramfs is very small. It may be worse on machines with low core count, but...
Currently the global allocator is allocated from a region that is found by the following algorithm: 1. Get the range of available addresses from the multiboot info 2. Get the...
Currently we mask the TSC deadline timer, it shouldn't be that hard to implement this using the existing timer wheel functionality.
In order to ensure more deterministic performance, we must avoid dynamic allocation pretty much anywhere after launch the VCPUs. There are currently a lot of places that allocate strings and...