mythril
mythril copied to clipboard
A hypervisor written in rust
This is a larger tracking issue for the tasks that must be done before we can boot a multi core guest: - [ ] More accurate CPUID emulation #24 -...
Currently it is possible to send a `VirtualMachineMsg` for a `GuestInterrupt` for a vector that is already in the message queue of the guest. In many cases, this is incorrect....
The [EmulatedDevice::services] method should be able to access the [VirtualMachineConfig]. This is not necessary now, but after https://github.com/mythril-hypervisor/mythril/pull/76 we should get the [Interrupt Control Address] from the [VirtualMachineConfig]. [EmulatedDevice::services]: https://github.com/mythril-hypervisor/mythril/blob/master/mythril_core/src/device/mod.rs#L187...
This will be a significant task that should probably be broken down into a few pieces: - [ ] Basic parsing of AML bytecode and structures - [ ] Execution...
When requested, we should present PS2 keyboard support in the guest and forward those events to/from the hypervisor. This is necessary to support platforms that don't have serial interfaces.
Currently we mask support for x2apic in the guest. We should be able to support this by directing the rdmsr/wrmsr operations to the virtual local apic.
Currently there are not checks on what VirtualMachineMsg can be sent to/from a given core. This means that, in theory, one VM could send, e.g. StartVcpu to a core that...
Our [FADT implementation] currently does not have a implementation of [SDTBuilder] yet. This will allow us to build an FADT for running guests. The [MADT Implementation](https://git/hub.com/mythril-hypervisor/mythril/blob/master/mythril/src/acpi/madt.rs#L134) of the [SDTBuilder] is...
Our [HPET implementation] currently does not have a implementation of [SDTBuilder] yet. This will allow us to build an HPET for running guests. The [MADT Implementation](https://git/hub.com/mythril-hypervisor/mythril/blob/master/mythril/src/acpi/madt.rs#L134) of the [SDTBuilder] is...
In [Ics::encode] we do not currently support all of the [Ics] enum variants. [Ics::encode]: https://github.com/mythril-hypervisor/mythril/blob/master/mythril/src/acpi/madt.rs#L266 [Ics]: https://git/hub.com/mythril-hypervisor/mythril/blob/master/mythril/src/acpi/madt.rs#L134