DragonFly On-Line Manual Pages

Search: Section:  


VMM(2)			 DragonFly System Calls Manual			VMM(2)

NAME

vmm_guest_ctl, vmm_guest_sync_addr -- enter VMM mode / sync VMM threads

LIBRARY

Standard C Library (libc, -lc)

SYNOPSIS

#include <sys/vmm.h> int vmm_guest_ctl(int op, struct vmm_guest_options *options); int vmm_guest_sync_addr(long *dstaddr, long *srcaddr);

DESCRIPTION

In order to run a virtual machine on top of the host operating system, two sets of page tables are needed (one each for the host and guest). Older CPUs supports only one level of page tables and the second level had to be emulated in software. Modern CPUs have support for a second level of page table translations, such as Intel's EPT or AMD's RVI. The vmm_*() functions bring the guest virtual machine into a state in which the hardware is able to walk two levels of page tables. The only op currently supported by vmm_guest_ctl() is VMM_GUEST_RUN, which bootstraps the calling process as a VMM process running with extended/nested page table support (two layers of page tables). The vmm_guest_options struct is defined in <sys/vmm.h>. The vmm_guest_sync_addr() function copies the content of srcaddr to dstaddr, synchronizing with all CPUs which are in VMM mode (i.e., all CPUs will see srcaddr's value at dstaddr).

HISTORY

The vmm_guest_ctl() and vmm_guest_sync_addr() system calls were added in DragonFly 3.5.

AUTHORS

Mihai Carabas DragonFly 5.5 September 1, 2015 DragonFly 5.5

Search: Section: