err.h revision 2484239da3af34d92452fa732661dfe0d0320b4c
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * VirtualBox Status Codes.
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * Copyright (C) 2006-2007 innotek GmbH
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * available from http://www.virtualbox.org. This file is free software;
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * you can redistribute it and/or modify it under the terms of the GNU
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * General Public License (GPL) as published by the Free Software
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * The contents of this file may alternatively be used under the terms
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * of the Common Development and Distribution License Version 1.0
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * VirtualBox OSE distribution, in which case the provisions of the
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * CDDL are applicable instead of those of the GPL.
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync * You may elect to license modified versions of this file under the
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * terms and conditions of either the GPL or the CDDL or both.
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** @defgroup grp_err Error Codes
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/* SED-START */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** @name Misc. Status Codes
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Failed to allocate VM memory. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** GC is toasted and the VMM should be terminated at once, but no need to panic about it :-) */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Unsupported CPU. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Unsupported CPU mode. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Page not present. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Invalid/Corrupted configuration file. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** No configuration value exists. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Not selector not present. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Not code selector. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Not data selector. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Out of selector bounds. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Invalid selector. Usually beyond table limits. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Invalid requested privilegde level. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** @name Execution Monitor/Manager (EM) Status Codes
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * The order of the status codes between VINF_EM_FIRST and VINF_EM_LAST
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * are of vital importance. The lower the number the higher importance
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * as a scheduling instruction.
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** First scheduling related status code. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Indicating that the VM is being terminated and that the the execution
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * shall stop. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Hypervisor code was stepped.
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * EM will first send this to the debugger, and if the issue isn't
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * resolved there it will enter guru meditation. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Hit a breakpoint in the hypervisor code,
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * EM will first send this to the debugger, and if the issue isn't
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * resolved there it will enter guru meditation. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Hit a possible assertion in the hypervisor code,
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * EM will first send this to the debugger, and if the issue isn't
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * resolved there it will enter guru meditation. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Indicating that the VM should be suspended for debugging because
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * the developer wants to inspect the VM state. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Indicating success single stepping and that EM should report that
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * event to the debugger. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Indicating that a breakpoint was hit and that EM should notify the debugger
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * and in the event there is no debugger fail fatally. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Indicating that EM should single step an instruction.
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * The instruction is stepped in the current execution mode (RAW/REM). */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Indicating that the VM is being turned off and that the EM should
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * exit to the VM awaiting the destruction request. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Indicating that the VM has been reset and that scheduling goes
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * back to startup defaults. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Indicating that the VM has been suspended and that the the thread
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * should wait for request telling it what to do next. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Indicating that the VM has executed a halt instruction and that
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * the emulation thread should wait for an interrupt before resuming
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * execution. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Indicating that the VM has been resumed and that the thread should
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * start executing. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Indicating that we've got an out-of-memory condition and that we need
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * to take the appropriate actions to deal with this.
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * @remarks It might seem odd at first that this has lower priority than VINF_EM_HALT,
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * VINF_EM_SUSPEND, and VINF_EM_RESUME. The reason is that these events are
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * vital to correctly operating the VM. Also, they can't normally occur together
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * with an out-of-memory condition, and even if that should happen the condition
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * will be rediscovered before executing any more code. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** The fatal variant of VINF_EM_NO_MEMORY. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Indicating that a rescheduling to recompiled execution.
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync * Typically caused by raw-mode executing code which is difficult/slow
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync * to virtualize rawly.
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync * @remarks Important to have a higher priority (lower number) than the other rescheduling status codes. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Indicating that a rescheduling to vmx-mode execution.
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync * Typically caused by REM detecting that hardware-accelerated raw-mode execution is possible. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Indicating that a rescheduling to raw-mode execution.
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync * Typically caused by REM detecting that raw-mode execution is possible.
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync * @remarks Important to have a higher priority (lower number) than VINF_EM_RESCHEDULE. */
b35358a47f67398b71a08eb89e6617493a847f7dvboxsync/** Indicating that a rescheduling now is required. Typically caused by
b35358a47f67398b71a08eb89e6617493a847f7dvboxsync * interrupts having changed the EIP. */
b35358a47f67398b71a08eb89e6617493a847f7dvboxsync/** Last scheduling related status code. (inclusive) */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Reason for leaving GC: Guest trap which couldn't be handled in GC.
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync * The trap is generally forwared to the REM and executed there. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Reason for leaving GC: Interrupted by external interrupt.
440c59bb6f5f678ce4e2569847262f6350c80fabvboxsync * The interrupt needed to be handled by the host OS. */
a3011b448b38c39a7222f2f1eb40c8349023f650vboxsync/** Reason for leaving GC: Interrupted by external interrupt while in hypervisor code.
a3011b448b38c39a7222f2f1eb40c8349023f650vboxsync * The interrupt needed to be handled by the host OS and hypervisor execution must be
00331fbaff118e6a5077fe96327aca51a70459dbvboxsync * resumed. VM state is not complete at this point. */
440c59bb6f5f678ce4e2569847262f6350c80fabvboxsync/** Reason for leaving GC: A Ring switch was attempted.
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync * Normal cause of action is to execute this in REM. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Reason for leaving GC: A Ring switch was attempted using software interrupt.
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync * Normal cause of action is to execute this in REM. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Reason for leaving GC: A privileged instruction was attempted executed.
a3011b448b38c39a7222f2f1eb40c8349023f650vboxsync * Normal cause of action is to execute this in REM. */
a3011b448b38c39a7222f2f1eb40c8349023f650vboxsync/** Reason for leaving GC: Emulate instruction. */
a3011b448b38c39a7222f2f1eb40c8349023f650vboxsync/** Reason for leaving GC: Unhandled TSS write.
a3011b448b38c39a7222f2f1eb40c8349023f650vboxsync * Recompiler gets control. */
e6d5e53bf42a48e3363ce7075cac0cdf83f956b5vboxsync/** Reason for leaving GC: Unhandled LDT write.
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync * Recompiler gets control. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Reason for leaving GC: Unhandled IDT write.
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * Recompiler gets control. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Reason for leaving GC: Unhandled GDT write.
b35358a47f67398b71a08eb89e6617493a847f7dvboxsync * Recompiler gets control. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Reason for leaving GC: Unhandled Page Directory write.
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync * Recompiler gets control. */
b35358a47f67398b71a08eb89e6617493a847f7dvboxsync/** Reason for leaving GC: jump inside generated patch jump.
b35358a47f67398b71a08eb89e6617493a847f7dvboxsync * Fatal error. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Reason for leaving GC: Hlt instruction.
b35358a47f67398b71a08eb89e6617493a847f7dvboxsync * Recompiler gets control. */
b35358a47f67398b71a08eb89e6617493a847f7dvboxsync/** Reason for leaving GC: Ring-3 operation pending. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Reason for leaving GC: Timer pending. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Reason for leaving GC: Interrupt pending (guest). */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Reason for leaving GC: Encountered a stale selector. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Reason for leaving GC: The IRET resuming guest code trapped. */
b35358a47f67398b71a08eb89e6617493a847f7dvboxsync/** The interpreter was unable to deal with the instruction at hand. */
b35358a47f67398b71a08eb89e6617493a847f7dvboxsync/** Internal EM error caused by an unknown warning or informational status code. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Pending VM request packet. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** @name Debugging Facility (DBGF) DBGF Status Codes
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** The function called requires the caller to be attached as a
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync * debugger to the VM. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Someone (including the caller) was already attached as
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync * debugger to the VM. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Tried to hald a debugger which was already halted.
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync * (This is a warning and not an error.) */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** The DBGF has no more free breakpoint slots. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** The DBGF couldn't find the specified breakpoint. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Attempted to enabled a breakpoint which was already enabled. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Attempted to disabled a breakpoint which was already disabled. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** The breakpoint already exists. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** The byte string was not found. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** @name Patch Manager (PATM) Status Codes
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Non fatal Patch Manager analysis phase warning */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Non fatal Patch Manager recompile phase warning (mapped to VWRN_CONTINUE_ANALYSIS). */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync#define VWRN_CONTINUE_RECOMPILE VWRN_CONTINUE_ANALYSIS
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Continue search (mapped to VWRN_CONTINUE_ANALYSIS). */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync#define VWRN_PATM_CONTINUE_SEARCH VWRN_CONTINUE_ANALYSIS
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Patch installation refused (patch too complex or unsupported instructions ) */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Unable to find patch */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Patch disabled */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Patch enabled */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Patch was already disabled */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Patch was already enabled */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Patch was removed. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Reason for leaving GC: \#GP with EIP pointing to patch code. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** First leave GC code. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync#define VINF_PATM_LEAVEGC_FIRST VINF_PATM_PATCH_TRAP_GP
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Reason for leaving GC: \#PF with EIP pointing to patch code. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Reason for leaving GC: int3 with EIP pointing to patch code. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Reason for leaving GC: \#PF for monitored patch page. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Reason for leaving GC: duplicate instruction called at current eip. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Execute one instruction with the recompiler */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Reason for leaving GC: attempt to patch MMIO write. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Reason for leaving GC: attempt to patch MMIO read. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Reason for leaving GC: pending irq after iret that sets IF. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Last leave GC code. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync#define VINF_PATM_LEAVEGC_LAST VINF_PATM_PENDING_IRQ_AFTER_IRET
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** No conflicts to resolve */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Detected unsafe code for patching */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Terminate search branch */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Already patched */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Spinlock detection failed. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Continue execution after patch trap. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** @name Code Scanning and Analysis Manager (CSAM) Status Codes
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Trap not handled */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Patch installed */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Page record not found */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Reason for leaving GC: CSAM wants perform a task in ring-3. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** @name Page Monitor/Manager (PGM) Status Codes
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Attempt to create a GC mapping which conflicts with an existing mapping. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** The physical handler range has no corresponding RAM range.
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync * If this is MMIO, see todo above the return. If not MMIO, then it's
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync * someone else's fault... */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync#define VERR_PGM_HANDLER_PHYSICAL_NO_RAM_RANGE (-1601)
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Attempt to register an access handler for a virtual range of which a part
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync * was already handled. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Attempt to register an access handler for a physical range of which a part
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync * was already handled. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Invalid page directory specified to PGM. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Invalid GC physical address. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync#define VERR_PGM_INVALID_GC_PHYSICAL_ADDRESS (-1605)
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Invalid GC physical range. Usually used when a specified range crosses
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync * a RAM region boundrary. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Specified access handler was not found. */
e6d5e53bf42a48e3363ce7075cac0cdf83f956b5vboxsync/** Attempt to register a RAM range of which parts are already
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync * covered by existing RAM ranges. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Failed to add new mappings because the current mappings are fixed
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync * in guest os memory. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Failed to fix mappings because of a conflict with the intermediate code. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Failed to fix mappings because a mapping rejected the address. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Failed to fix mappings because the proposed memory area was to small. */
e6d5e53bf42a48e3363ce7075cac0cdf83f956b5vboxsync/** Reason for leaving GC: The urge to syncing CR3. */
2ad9f8a731c73f6ac74044d42d47bbaf6f44a566vboxsync/** Page not marked for dirty bit tracking */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Page fault caused by dirty bit tracking; corrected */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Go ahead with the default Read/Write operation.
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync * This is returned by a HC physical or virtual handler when it wants the PGMPhys[Read|Write]
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync * routine do the reading/writing. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** The paging mode of the host is not supported yet. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync#define VERR_PGM_UNSUPPORTED_HOST_PAGING_MODE (-1617)
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** The physical guest page is a reserved/mmio page and does not have any HC address. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** No page directory available for the hypervisor. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** The shadow page pool was flushed.
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync * This means that a global CR3 sync was flagged. Anyone receiving this kind of status
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync * will have to get down to a SyncCR3 ASAP. See also VINF_PGM_SYNC_CR3. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** The shadow page pool was cleared.
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync * This is a error code internal to the shadow page pool, it will be
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync * converted to a VERR_PGM_POOL_FLUSHED before leaving the pool code. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** The returned shadow page is cached. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Returned by handler registration, modification and deregistration
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync * when the shadow PTs could be updated because the guest page
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync * aliased or/and mapped by multiple PTs. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Reason for leaving GC: Paging mode changed.
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync * PGMChangeMode() uses this to force a switch to HC so it can safely
440c59bb6f5f678ce4e2569847262f6350c80fabvboxsync * deal with a mode switch.
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** SyncPage modified the PDE.
e6d5e53bf42a48e3363ce7075cac0cdf83f956b5vboxsync * This is an internal status code used to communicate back to the \#PF handler
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync * that the PDE was (probably) marked not-present and it should restart the instruction. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Physical range crosses dynamic ram chunk boundary; translation to HC ptr not safe. */
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync#define VERR_PGM_GCPHYS_RANGE_CROSSES_BOUNDARY (-1626)
2ad9f8a731c73f6ac74044d42d47bbaf6f44a566vboxsync/** @name Memory Monitor (MM) Status Codes
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync/** Attempt to register a RAM range of which parts are already
b8e7a8042499abf6f2551c545f6141b36868ab4dvboxsync * covered by existing RAM ranges. */
81f46059436c6145937a4cc2c7424023a289fcd8vboxsync/** Hypervisor memory allocation failed. */
* the interface user screwed up, or we've got corruption/broken logic. */
/** Security (en/decryption) engine error */