Contents

hv_vm_map(_:_:_:_:)

Maps a region in the virtual address space of the current process into the guest physical address space of the VM.

Declaration

func hv_vm_map(_ addr: UnsafeMutableRawPointer, _ ipa: hv_ipa_t, _ size: Int, _ flags: hv_memory_flags_t) -> hv_return_t

Parameters

  • addr:

    The address in the current process. It must be page-aligned.

    Apple silicon only.

  • ipa:

    The address in the intermediate physical address space. It must be page-aligned.

    Apple silicon only.

  • size:

    The size of the mapped region in bytes. It must be a multiple of the page size.

  • flags:

    The permissions for the mapped region. For a list of valid options, see Hv_memory_flags_t.

Return Value

HV_SUCCESS if the operation was successful, otherwise an error code specified in hv_return_t.

Discussion

The host memory must encompass a single VM region, typically allocated with mmap or mach_vm_allocate instead of malloc.

Intel-based Mac computers have different parameters:

uva

The address in the current process. It must be page-aligned.

gpa

The address in the guest physical address space. It must be page-aligned.

See Also

Intermediate physical memory