vmm.h revision 0b74a2f80aba476dc8be8bc1c63891fc53945986
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * VMM - The Virtual Machine Monitor.
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * Copyright (C) 2006-2010 Oracle Corporation
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * available from http://www.virtualbox.org. This file is free software;
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * you can redistribute it and/or modify it under the terms of the GNU
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * General Public License (GPL) as published by the Free Software
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * The contents of this file may alternatively be used under the terms
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * of the Common Development and Distribution License Version 1.0
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * VirtualBox OSE distribution, in which case the provisions of the
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * CDDL are applicable instead of those of the GPL.
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * You may elect to license modified versions of this file under the
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * terms and conditions of either the GPL or the CDDL or both.
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync/** @defgroup grp_vmm The Virtual Machine Monitor API
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * World switcher identifiers.
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync /** The usual invalid 0. */
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync /** Switcher for 32-bit host to 32-bit shadow paging. */
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync /** Switcher for 32-bit host paging to PAE shadow paging. */
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync /** Switcher for 32-bit host paging to AMD64 shadow paging. */
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync /** Switcher for PAE host to 32-bit shadow paging. */
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync /** Switcher for PAE host to PAE shadow paging. */
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync /** Switcher for PAE host paging to AMD64 shadow paging. */
} VMMSWITCHER;
typedef enum VMMCALLRING3
VMMCALLRING3_INVALID = 0,
} VMMCALLRING3;
typedef struct VMM2USERMETHODS
#ifdef IN_RING3
VMMR3DECL(int) VMMR3EmtRendezvous(PVM pVM, uint32_t fFlags, PFNVMMEMTRENDEZVOUS pfnRendezvous, void *pvUser);
VMMR3_INT_DECL(int) VMMR3ReadR0Stack(PVM pVM, VMCPUID idCpu, RTHCUINTPTR R0Addr, void *pvBuf, size_t cbRead);
typedef enum VMMR0OPERATION
* @todo Move got GCFGM.h when it's implemented.
typedef struct GCFGMVALUEREQ
* @todo Move got GCFGM.h when it's implemented.
VMMR0DECL(int) VMMR0EntryEx(PVM pVM, VMCPUID idCpu, VMMR0OPERATION enmOperation, PSUPVMMR0REQHDR pReq, uint64_t u64Arg, PSUPDRVSESSION);
#ifdef LOG_ENABLED
#ifdef IN_RC