StrikerX3 / StrikeBox

StrikeBox - Original Xbox emulator
BSD 2-Clause "Simplified" License
52 stars 9 forks source link

Add support for Windows Hypervisor Platform #2

Closed StrikerX3 closed 5 years ago

StrikerX3 commented 6 years ago

Windows Hypervisor Platform is a virtualization platform based on Microsoft's Hyper-V released with the April 2018 Update for Windows 10. It must be enabled manually from the Windows Features panel.

We want to implement this as a Windows-only CPU module.

StrikerX3 commented 6 years ago

Added preliminary support for WHP. It seems to be getting stuck running some code forever. We'll need to create a mechanism to force stop/cancel execution periodically so that the emulator has a chance to work.

It could also use improvements to performance, especially when dealing with registers.

StrikerX3 commented 5 years ago

WHPX needs a bit of work to initialize properly. As of now, it starts in 16-bit mode with CS:EIP set to F000:FFF0, which points to 0x000FFFF0 in 32-bit address space, which is taken by RAM. This is incorrect. The problem lies in the base address of the CS register, which is set to 0x000F0000 instead of 0xFFFF0000 and, according to Intel's manuals, the latter is the correct value.

Ale100000 commented 5 years ago

Windows Hypervisor Platform is also avaliable for Windows 10 Home.

StrikerX3 commented 5 years ago

Windows Hypervisor Platform is also avaliable for Windows 10 Home.

Good to know. Thanks.

By the way, this issue will be solved once the CPU virtualization modules are replaced with virt86 (#19).

StrikerX3 commented 5 years ago

19 supersedes this.