4 ms·
In the "Introducing Project Mu" blog post it says "The Microsoft Devices Team is excited to announce Project Mu, the open-source release of the Unified Extensib
by molticrystal 8y ago
In the "Introducing Project Mu" blog post it says "The Microsoft Devices Team is excited to announce Project Mu, the open-source release of the Unified Extensible Firmware Interface (UEFI) core leveraged by Microsoft products including both Surface and the latest releases of Hyper-V."
And I saw in one of the tickets for Virtualbox [1] that:
You go VM-entry, execute guest, VM-exit. Cooperatively. Unfortunately MS launches Hyper-V at boot time as a service and keeps a hold of the VT-x, regardless of use or not
and
This is a problem with Hyper-V being too aggressive and not releasing VT-x once it's got a hold of it. VMWare and VirtualBox for example can not only coexist, but they can run concurrently. Not so with Hyper-V.
So does that mean that we can finally have virtualbox/vmware when hyper-v is enabled but not in use, or do they have to open up more in order to get this fixed?
I am afraid that may be the case as the only thing I saw in my first quick glance was VTd(directed io) code[2] and in a quick glance in other repositories I saw VMCALL but I haven't found VMXON yet, so maybe it is a step in the right direction.
[1] https://www.virtualbox.org/ticket/16801 https://www.virtualbox.org/ticket/16801
[2] https://github.com/Microsoft/mu_silicon_intel_tiano/tree/release/201808/IntelSiliconPkg/Feature/VTd https://github.com/Microsoft/mu_silicon_intel_tiano/tree/rel...
- AaronFriel 8y agoVirtualbox and VMWare Workstation are a different type of hypervisor than Hyper-V. The former are Type 2, the latter is a Type 1. For that reason, no, it's non-trivial to do that. Instead Microsoft recently did what Apple did with their Hypervisor Platform API: https://docs.microsoft.com/en-us/virtualization/api/ https://docs.microsoft.com/en-us/virtualization/api/
- floatboth 8y agoNo, Mu has nothing to do with this, Mu is a fork of EDK2 with a nice GUI and continuous update whatever stuff. This is firmware. Hyper-V uses firmware to boot an OS, but that's all inside the VM. More to the point though, MS recently made a public Hyper-V API thingy. Windows Hypervisor Platform I think it's called. It's similar to how KVM, bhyve (vmm.ko) and Apple's Hypervisor.framework (its kernel counterpart actually) work. Now you can use Hyper-V itself + any third party frontends that use that API. E.g. the Android emulator is going to switch to this. VirtualBox/VMWare should leverage these APIs but they don't because they're way too invested in their custom kernel modules already.
- mormegil 8y agoIsn't the new Hyper-V support in VBox 6.0 using that? https://www.virtualbox.org/manual/ch10.html#hyperv-support https://www.virtualbox.org/manual/ch10.html#hyperv-support
- floatboth 8y agoOoh. Nice. I didn't notice that. I wonder why they're expecting "performance degradation" though…
- molticrystal 8y agoCan't wait for them to get this perfected, thanks for pointing out that feature!