Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Apple's Hypervisor.Framework platform adapter #1

Open
StrikerX3 opened this issue Feb 19, 2019 · 1 comment
Open

Implement Apple's Hypervisor.Framework platform adapter #1

StrikerX3 opened this issue Feb 19, 2019 · 1 comment
Labels
help wanted Extra attention is needed

Comments

@StrikerX3
Copy link
Owner

The Hypervisor.Framework adapter is currently stubbed under modules/hvf. The code contains a lot of TODOs describing what to implement on each part of the code.

I don't own a Mac. While I could theoretically write the code for the platform, I wouldn't be able to test it.

@StrikerX3 StrikerX3 added the help wanted Extra attention is needed label Feb 19, 2019
@StrikerX3 StrikerX3 added this to the 1.0.0 milestone Feb 20, 2019
@StrikerX3
Copy link
Owner Author

StrikerX3 commented Feb 23, 2019

I got a hold of a Mac for a bit of time and started working on this on the hvf branch. Hypervisor.Framework is considerably different from other platforms:

  • Only one virtual machine per process
  • Each virtual processor must be created and executed in its own thread
    • The existing instantiation loop won't work with more than one processor
  • No way to query the platform's features (as far as I can tell)
  • Much lower level than the other platforms -- it gives us direct access to the VMCS!
    • Theoretically this allows all features to be implemented, but it also means things like instruction emulation must be done by virt86 itself

I'll leave this on hold while I study the platform further and focus on HAXM support (#4) for now.

@StrikerX3 StrikerX3 removed this from the 1.0.0 milestone Feb 23, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant