<!--
{
  "documentType" : "article",
  "framework" : "Hypervisor",
  "identifier" : "/documentation/Hypervisor/intel-based-mac",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Intel-based Mac"
}
-->

# Intel-based Mac

Create and run virtual machines on Intel-based Mac computers.

## Topics

### Virtual machine management

[`hv_vm_create(_:)`](/documentation/Hypervisor/hv_vm_create(_:))

Creates a VM instance for the current process.

[`hv_vm_destroy()`](/documentation/Hypervisor/hv_vm_destroy())

Destroys the VM instance associated with the current process.

[`hv_capability(_:_:)`](/documentation/Hypervisor/hv_capability(_:_:))

Gets the value of capabilities of the system.

[`hv_vm_options_t`](/documentation/Hypervisor/hv_vm_options_t)

Options you use when creating a virtual machine.

[`hv_capability_t`](/documentation/Hypervisor/hv_capability_t)

The type of system capabilities.

### Resource management

[vCPU Management](/documentation/Hypervisor/intel-based_mac-vcpu-management)

Create and run virtual CPUs, and manage CPU-specific registers and features.

[Memory Management](/documentation/Hypervisor/intel-based_mac-memory-management)

Map memory into the physical address space of the virtual machine, and allocate additional memory for the current task.

[Virtual Machine Control Structure (VMCS)](/documentation/Hypervisor/virtual-machine-control-structure-vmcs)

Read and write to fields of the virtual machine control structure.

### I/O notifier functions

[`hv_vm_add_pio_notifier(_:_:_:_:_:)`](/documentation/Hypervisor/hv_vm_add_pio_notifier(_:_:_:_:_:))

Generate a notification when the Hypervisor issues a matching guest port I/O.

[`hv_vm_remove_pio_notifier(_:_:_:_:_:)`](/documentation/Hypervisor/hv_vm_remove_pio_notifier(_:_:_:_:_:))

Removes an existing I/O notifier that matches the specifications you provide.

[`hv_ion_message_t`](/documentation/Hypervisor/hv_ion_message_t)

The structure that describes the Mach message that the Hypervisor sends when an I/O notifier delivers the notifications you request.

[`hv_ion_flags_t`](/documentation/Hypervisor/hv_ion_flags_t)

The bitfield that you use to set the options flags for the I/O notifier.

[I/O Notifier Flags](/documentation/Hypervisor/3727903-i-o-notifier-flags)

Flags that you set to choose the kind of information the I/O Notifier delivers.

### Time-stamp counter functions

[`hv_tsc_clock()`](/documentation/Hypervisor/hv_tsc_clock())

Returns the value of an abstract clock.

[`hv_vcpu_set_tsc_relative(_:_:)`](/documentation/Hypervisor/hv_vcpu_set_tsc_relative(_:_:))

Sets the offset of the guest timestamp-counter (TSC) relative to the Hypervisor’s TSC clock.

### Common data types

[`hv_return_t`](/documentation/Hypervisor/hv_return_t)

The return type of framework functions.

[Hypervisor Errors](/documentation/Hypervisor/1585168-hypervisor-errors)

Errors returned by Hypervisor functions.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)