Files
FEX-Emu--FEX/docs/VMCore.md
T
2020-03-06 09:08:13 +02:00

18 lines
884 B
Markdown

# FEX - Virtual Machine Custom CPUBackend
---
This is a custom CPU backend that is used by the FEX frontend for its Lockstep Runner.
This is used for hardware validation of CPU emulation of the FEXCore's emulation.
## Implementation details
This is implemented using the VM helper library that is living inside of [SonicUtils](https://github.com/Sonicadvance1/SonicUtils).
The helper library sets up a VM using KVM under Linux.
## Limitations
* Only works under KVM
* I don't care about running under Windows, MacOS, or other hypervisors
* Only works under AMD
* Haven't spent time figuring out why it breaks, Intel throws a VMX invalid state entry error.
* Can't launch a bunch of instances due to memory limitations
* Each VM allocates the full VM's memory region upon initialization
* If you launch a VM with 64GB of memory then that full amount is allocated right away