Hyper-V integration support for macOS

MacHyperVSupport

Build Status Scan Status

Hyper-V integration services for macOS. Requires a Generation 2 virtual machine on Windows 8.1 or higher.

Supported Hyper-V devices and services

  • Heartbeat
  • Guest shutdown
  • Synthetic graphics (partial support)
  • Synthetic mouse
  • Synthetic keyboard
  • Synthetic SCSI controller

Additional information

  • The following SSDTs should be used for proper operation:

    • SSDT-HV-CPU: Required on Windows 10 as Hyper-V on this version may not expose processors as Processor objects
    • SSDT-HV-PLUG: Ensures VMPlatformPlugin loads on Big Sur, avoids freezes with the default PlatformPlugin
    • SSDT-HV-VMBUS: Enables correct Startup Disk operation
  • On older versions of macOS, IOSCSIParallelFamily (com.apple.iokit.IOSCSIParallelFamily) may need to be Force injected. Refer to the OpenCore Configuration manual for details.

  • Booter quirks

    • AllowRelocationBlock - required for macOS 10.7 and older
    • ForceExitBootServices - required for macOS 10.7 and older
    • RebuildAppleMemoryMap - required for macOS 10.6 and older
  • Kernel quirks

    • ProvideCurrentCpuInfo - required for proper TSC/FSB values and CPU topology values.
  • Lilu is required for patching and library functions

  • Installer images can either be passed in from USB hard disks, or converted from a DMG to a VHDX image using qemu-img:

    • DMGs need to be in a read/write format first.
    • qemu-img convert -f raw -O vhdx Installer.dmg Installer.vhdx

Credits

Similar Resources

Kexts enabling native support for Intel Bluetooth chipsets in macOS.

IntelBluetoothFamily Kexts enabling native support for Intel Bluetooth chipsets in macOS. Most of the code is complete, and I am now in the testing ph

Nov 21, 2022

Custom FFMpeg build script which support cross-compile to macOS/iOS/android

FFmpegCompileScript Custom FFMpeg build script which support cross-compile to macOS/iOS/Android Usage: First, init all submodule: git submodule update

Apr 20, 2022

📦 A familiar Minecraft Launcher with native support for macOS arm64 (M1)

ManyMC A familiar Minecraft Launcher with native support for macOS arm64 (M1) ⚠️ This is an UNOFFICIAL project. DO NOT report any issues to the MultiM

Nov 28, 2022

Ethereum No DevFee, Support for GMiner, Phoenix Miner, NBMiner, T-Rex, lolMiner, TeamRedMiner, ClaymoreMiner Support pool and wallet,pool account, worker name.

WiseNoDevFee Ethereum No DevFee, Support for GMiner, Phoenix Miner, NBMiner, T-Rex, lolMiner, TeamRedMiner, ClaymoreMiner Support pool and wallet,pool

Sep 12, 2022

Video game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your games.

Video game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your games.

An open source video game library manager and launcher with support for 3rd party libraries like Steam, GOG, Origin, Battle.net and Uplay. Includes game emulation support, providing one unified interface for your games.

Dec 2, 2022

Filter driver which support changing DPI of mouse that does not support hardware dpi changing.

Custom Mouse DPI Driver 하드웨어 DPI 변경이 불가능한 마우스들의 DPI 변경을 가능하게 하는 필터 드라이버 경고: 해당 드라이버는 완전히 테스트 되지 않았습니다 Install 해당 드라이버는 서명이 되어있지않습니다. 드라이버를 사용하려면 tests

Sep 23, 2022

A client/server indexer for c/c++/objc[++] with integration for Emacs based on clang.

rtags rtags-xref ac-rtags company-rtags flycheck-rtags helm-rtags ivy-rtags Introduction RTags is a client/server application that indexes C/C++ code

Nov 27, 2022

Raspberry Pi Pico (RP2040) and Micro-ROS (ROS 2) Integration

The Pico is an amazing microcontroller and I couldn't wait for ROS 2 support or Arduino Core, so here is my approach. Once the Arduino Core for RP2040 is out it will be easier to use micro_ros_arduino.

Jun 19, 2022

Frog is an integration of memory-based natural language processing (NLP) modules developed for Dutch. All NLP modules are based on Timbl, the Tilburg memory-based learning software package.

Frog - A Tagger-Lemmatizer-Morphological-Analyzer-Dependency-Parser for Dutch Copyright 2006-2020 Ko van der Sloot, Maarten van Gompel, Antal van den

Aug 24, 2022

Bitcoin Core integration/staging tree

Bitcoin is an experimental digital currency that enables instant payments to anyone, anywhere in the world. Bitcoin uses peer-to-peer technology to operate with no central authority: managing transactions and issuing money are carried out collectively by the network. Bitcoin Core is the name of open source software which enables the use of this currency.

Dec 1, 2022

Solving Kepler's equation via contour integration, implemented in C++

Kepler's Goat Herd Code for solving Kepler's equation using contour integration, following Philcox et al. (2021, arXiv). This uses a method originally

Sep 11, 2022

ESPHome integration for the Xiaomi Mijia Bedside Lamp v2.

esphome-xiaomi_bslamp2 Warning: this code is still under development This code might not yet be production-ready. At this point, it is declared beta-q

Nov 26, 2022

Bitcoin Core integration/staging tree

Bitcoin Core integration/staging tree https://bitcoincore.org For an immediately usable, binary version of the Bitcoin Core software, see https://bitc

Nov 19, 2022

font rendering, Zep vim emulator, microui integration

font rendering, Zep vim emulator, microui integration

LabFont This project is an exploration of getting text into a rendeing pipeline based on @floooh's sokol. Frameworks such as Dear ImGui solve text ren

Sep 11, 2022

Mobile Studio tool integration with C# scripting for the Unity game engine.

Mobile Studio Package This project is a Unity package for integrating the Mobile Studio tool suite into game development workflows. This version of th

Nov 17, 2022

C++ game engine inspired by quake. Modern rendering and quake mapping tool integration.

Nuake Feel free to join the discord server for updates: What is it Nuake is a game engine written from scratch by myself. It is not meant to be a end-

Oct 17, 2022

JWM is a cross-platform Java window management and OS integration library.

JWM is a cross-platform Java window management and OS integration library.

JWM aims to expose an interface that abstracts over window creation, input handling and OS integration

Nov 23, 2022

A Rust crate that simplifies the integration of Rust and eBPF programs written in C.

This crate simplifies the compilation of eBPF programs written in C integrating clang with Rust and the cargo build system with functions that can be

Mar 16, 2022

C++ library based on tensorrt integration

C++ library based on tensorrt integration

3行代码实现YoloV5推理,TensorRT C++库 支持最新版tensorRT8.0,具有最新的解析器算子支持 支持静态显性batch size,和动态非显性batch size,这是官方所不支持的 支持自定义插件,简化插件的实现过程 支持fp32、fp16、int8的编译 优化代码结构,打印

Dec 4, 2022
Comments
  • Add MMIO allocation API

    Add MMIO allocation API

    Opening as a draft PR, please provide feedback.

    • Changes to HyperVVMBusController:

      • Walk ACPI resources (in acpi-address-spaces property) to set IODeviceMemory.
        • Parsing ACPI _CRS directly is preferred, however this will suffice.
        • Merging adjacent memory regions may be implemented to bring in line with Linux/FreeBSD API.
    • Changes to HyperVVMBusDevice:

      • MMIO allocation API added.
        • allowFbOverlap option remains to be implemented.
        • Needed for Synthetic Video improvements & Synthetic PCI driver.
  • Implement Hyper-V File Copy Integration Service

    Implement Hyper-V File Copy Integration Service

    Changes implemented in this pull request:

    • New HyperVFileCopy Integration Service driver
    • Changes to HyperVUserClient in order to facilitate user-space -> kernel communication (IOExternalMethod*)
    • Changes to HyperVUserClient in order to facilitate callbacks to peer integration service drivers (registerDriver())
    • Support implemented in hvutil daemon for HyperVFileCopy driver
PoC for CVE-2021-28476 a guest-to-host "Hyper-V Remote Code Execution Vulnerability" in vmswitch.sys.
PoC for CVE-2021-28476 a guest-to-host

CVE-2021-28476: a guest-to-host "Microsoft Hyper-V Remote Code Execution Vulnerability" in vmswitch.sys. This is a proof of concept for CVE-2021-28476

Nov 26, 2022
Hyper-V VMBusPipe Reversing

Many Hyper-V host-to-guest extensions communicate over a special named pipe transport that goes over the VMBus, called the VMBus pipe. One such feature is the Hyper-V enhanced session mode that opens a named pipe transport to the guest VM to use a special listener inside the RDP server, making it possible to connect without TCP networking available.

Nov 9, 2022
HESS (Hyper Exponential Space Sorting) is a polynomial black-box optimization algorithm, that work very well with any NP-Complete, or NP-Hard problem

The original HESS (Hyper Exponential Space Sorting) is a polynomial black-box optimization algorithm, that work very well with any NP-Complete, or NP-Hard problem, at 2021 thanks to suggestions of Daniel Mattes, work like a complete algorithm.

Jan 18, 2022
This Program Enables And Disables Hyper-V Hypervisor So You Can Use Other Virtualisation Tools Such As (VMware, VirtualBox) Simultaneously.

Hyper-V-Switch This Program Enables And Disables Hyper-V Hypervisor So You Can Use Other Virtualisation Tools Such As (VMware, VirtualBox) Simultaneou

Nov 10, 2022
Utility to install kexts, Frameworks and PrivateFrameworks in the System of macOS. For macOS Monterey 12 and Big Sur 11
Utility to install kexts, Frameworks and PrivateFrameworks in the System of macOS. For macOS Monterey 12 and Big Sur 11

Command-Line-SnapShot-Mounter Credit: chris1111 Apple This utility uses the macOS terminal Command Line SnapShot Mounter is an utility that allows you

Oct 14, 2022
Macos-arm64-emulation - A guide for emulating macOS arm64e on an x86-based host.

macos-arm64-emulation Use the following guide to download and configure all of the necessary tools and files for emulating the macOS arm64e kernel. Th

Dec 1, 2022
Benchmark framework of 3D integrated CIM accelerators for popular DNN inference, support both monolithic and heterogeneous 3D integration

3D+NeuroSim V1.0 The DNN+NeuroSim framework was developed by Prof. Shimeng Yu's group (Georgia Institute of Technology). The model is made publicly av

Nov 11, 2022
Exposes Azure Kinect Support for integration into Unreal Engine Applications.
Exposes Azure Kinect Support for integration into Unreal Engine Applications.

Azure Kinect for Unreal Engine Exposes Azure Kinect Support for integration into Unreal Engine Applications. Mainly for depth and color textures creat

Nov 17, 2022
Xournal++ is a handwriting notetaking software with PDF annotation support. Written in C++ with GTK3, supporting Linux (e.g. Ubuntu, Debian, Arch, SUSE), macOS and Windows 10. Supports pen input from devices such as Wacom Tablets.
Xournal++ is a handwriting notetaking software with PDF annotation support. Written in C++ with GTK3, supporting Linux (e.g. Ubuntu, Debian, Arch, SUSE), macOS and Windows 10. Supports pen input from devices such as Wacom Tablets.

Xournal++ is a hand note taking software written in C++ with the target of flexibility, functionality and speed. Stroke recognizer and other parts are based on Xournal Code

Nov 25, 2022
A custom macOS statusbar with shell plugin, interaction and graph support
A custom macOS statusbar with shell plugin, interaction and graph support

SketchyBar This is a rewrite of the spacebar project, which itself is a rewrite of the statusbar code from yabai. Features: As many widgets as you lik

Nov 25, 2022