err.h revision 691223ac7c661b87e2849fabdca611d3ba60735c
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * VirtualBox Status Codes.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * Copyright (C) 2006 InnoTek Systemberatung GmbH
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * available from http://www.virtualbox.org. This file is free software;
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * you can redistribute it and/or modify it under the terms of the GNU
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * General Public License as published by the Free Software Foundation,
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * distribution. VirtualBox OSE is distributed in the hope that it will
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * be useful, but WITHOUT ANY WARRANTY of any kind.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * If you received this file as part of a commercial VirtualBox
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * distribution, then only the terms of your commercial VirtualBox
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * license agreement apply instead of the previous paragraph.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** @defgroup grp_err Error Codes
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/* SED-START */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** @name Misc. Status Codes
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Failed to allocate VM memory. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** GC is toased the VMM should be terminated at once, but no need to panic about it :-) */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Unsupported CPU. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Unsupported CPU mode. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Page not present. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Invalid/Corrupted configuration file. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** No configuration value exists. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Not selector not present. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Not code selector. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Not data selector. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Out of selector bounds. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Invalid selector. Usually beyond table limits. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Invalid requested privilegde level. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** @name Execution Monitor/Manager (EM) Status Codes
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * The order of the status codes between VINF_EM_FIRST and VINF_EM_LAST
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * are of vital importance. The lower the number the higher importance
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * as a scheduling instruction.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** First scheduling related status code. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Indicating that the VM is being terminated and that the the execution
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * shall stop. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Hypervisor code was stepped.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * EM will first send this to the debugger, and if the issue isn't
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * resolved there it will enter guru meditation. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Hit a breakpoint in the hypervisor code,
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * EM will first send this to the debugger, and if the issue isn't
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * resolved there it will enter guru meditation. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Hit a possible assertion in the hypervisor code,
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * EM will first send this to the debugger, and if the issue isn't
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * resolved there it will enter guru meditation. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Indicating that the VM should be suspended for debugging because
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * the developer wants to inspect the VM state. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Indicating success single stepping and that EM should report that
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * event to the debugger. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Indicating that a breakpoint was hit and that EM should notify the debugger
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * and in the event there is no debugger fail fatally. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Indicating that EM should single step an instruction.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * The instruction is stepped in the current execution mode (RAW/REM). */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Indicating that the VM is being turned off and that the EM should
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * exit to the VM awaiting the destruction request. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Indicating that the VM has been reset and that scheduling goes
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * back to startup defaults. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Indicating that the VM has been suspended and that the the thread
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * should wait for request telling it what to do next. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Indicating that the VM has executed a halt instruction and that
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * the emulation thread should wait for an interrupt before resuming
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * execution. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Indicating that the VM has been resumed and that the thread should
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * start executing. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Indicating that a rescheduling to recompiled execution.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * Typically caused by raw-mode executing code which is difficult/slow
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * to virtualize rawly.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * @note important to have a higher priority (lower number) than VINF_EM_RESCHEDULE
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * and VINF_EM_RESCHEDULE_RAW
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Indicating that a rescheduling to vmx-mode execution.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * Typically caused by REM detecting that hardware-accelerated raw-mode execution is possible.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Indicating that a rescheduling to raw-mode execution.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * Typically caused by REM detecting that raw-mode execution is possible.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * @note important to have a higher priority (lower number) than VINF_EM_RESCHEDULE
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * and VINF_EM_RESCHEDULE_RAW
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Indicating that a rescheduling now is required. Typically caused by
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * interrupts having changed the EIP. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Last scheduling related status code. (exclusive) */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: Guest trap which couldn't be handled in GC.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * The trap is generally forwared to the REM and executed there. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: Interrupted by external interrupt.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * The interrupt needed to be handled by the host OS. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: Interrupted by external interrupt while in hypervisor code.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * The interrupt needed to be handled by the host OS and hypervisor execution must be
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * resumed. VM state is not complete at this point. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: A Ring switch was attempted.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * Normal cause of action is to execute this in REM. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: A Ring switch was attempted using software interrupt.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * Normal cause of action is to execute this in REM. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: A privileged instruction was attempted executed.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * Normal cause of action is to execute this in REM. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: Emulate instruction. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: Unhandled TSS write.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * Recompiler gets control. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: Unhandled LDT write.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * Recompiler gets control. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: Unhandled IDT write.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * Recompiler gets control. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: Unhandled GDT write.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * Recompiler gets control. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: Unhandled Page Directory write.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * Recompiler gets control. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: jump inside generated patch jump.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * Fatal error. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: Hlt instruction.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * Recompiler gets control. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: Ring-3 operation pending. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: Timer pending. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: Interrupt pending (guest). */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: Encountered a stale selector. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: The IRET resuming guest code trapped. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The interpreter was unable to deal with the instruction at hand. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Internal EM error caused by an unknown warning or informational status code. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Pending VM request packet. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** @name Debugging Facility (DBGF) DBGF Status Codes
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The function called requires the caller to be attached as a
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * debugger to the VM. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Someone (including the caller) was already attached as
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * debugger to the VM. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Tried to hald a debugger which was already halted.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * (This is a warning and not an error.) */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The DBGF has no more free breakpoint slots. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The DBGF couldn't find the specified breakpoint. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Attempted to enabled a breakpoint which was already enabled. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Attempted to disabled a breakpoint which was already disabled. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The breakpoint already exists. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** @name Patch Manager (PATM) Status Codes
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Non fatal Patch Manager analysis phase warning */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Non fatal Patch Manager recompile phase warning (mapped to VWRN_CONTINUE_ANALYSIS). */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync#define VWRN_CONTINUE_RECOMPILE VWRN_CONTINUE_ANALYSIS
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Continue search (mapped to VWRN_CONTINUE_ANALYSIS). */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync#define VWRN_PATM_CONTINUE_SEARCH VWRN_CONTINUE_ANALYSIS
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Patch installation refused (patch too complex or unsupported instructions ) */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Unable to find patch */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Patch disabled */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Patch enabled */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Patch was already disabled */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Patch was already enabled */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Patch was removed. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: \#GP with EIP pointing to patch code. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** First leave GC code. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync#define VINF_PATM_LEAVEGC_FIRST VINF_PATM_PATCH_TRAP_GP
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: \#PF with EIP pointing to patch code. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: int3 with EIP pointing to patch code. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: \#PF for monitored patch page. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: duplicate instruction called at current eip. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Execute one instruction with the recompiler */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: attempt to patch MMIO write. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: attempt to patch MMIO read. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: pending irq after iret that sets IF. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Last leave GC code. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync#define VINF_PATM_LEAVEGC_LAST VINF_PATM_PENDING_IRQ_AFTER_IRET
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** No conflicts to resolve */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Detected unsafe code for patching */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Terminate search branch */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Already patched */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Spinlock detection failed. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Continue execution after patch trap. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** @name Code Scanning and Analysis Manager (CSAM) Status Codes
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Trap not handled */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Patch installed */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Page record not found */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: CSAM wants perform a task in ring-3. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** @name Page Monitor/Manager (PGM) Status Codes
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Attempt to create a GC mapping which conflicts with an existing mapping. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The physical handler range has no corresponding RAM range.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * If this is MMIO, see todo above the return. If not MMIO, then it's
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * someone else's fault... */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync#define VERR_PGM_HANDLER_PHYSICAL_NO_RAM_RANGE (-1601)
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Attempt to register an access handler for a virtual range of which a part
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * was already handled. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Attempt to register an access handler for a physical range of which a part
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * was already handled. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Invalid page directory specified to PGM. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Invalid GC physical address. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync#define VERR_PGM_INVALID_GC_PHYSICAL_ADDRESS (-1605)
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Invalid GC physical range. Usually used when a specified range crosses
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * a RAM region boundrary. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Specified access handler was not found. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Attempt to register a RAM range of which parts are already
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * covered by existing RAM ranges. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Failed to add new mappings because the current mappings are fixed
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * in guest os memory. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Failed to fix mappings because of a conflict with the intermediate code. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Failed to fix mappings because a mapping rejected the address. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Failed to fix mappings because the proposed memory area was to small. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: The urge to syncing CR3. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Page not marked for dirty bit tracking */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Page fault caused by dirty bit tracking; corrected */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Go ahead with the default Read/Write operation.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * This is returned by a HC physical or virtual handler when it wants the PGMPhys[Read|Write]
adbb0da2a65fc315cb37869fd2c6c80c7d8d5b8bvboxsync * routine do the reading/writing. */
adbb0da2a65fc315cb37869fd2c6c80c7d8d5b8bvboxsync/** The paging mode of the host is not supported yet. */
adbb0da2a65fc315cb37869fd2c6c80c7d8d5b8bvboxsync#define VERR_PGM_UNSUPPORTED_HOST_PAGING_MODE (-1617)
adbb0da2a65fc315cb37869fd2c6c80c7d8d5b8bvboxsync/** The physical guest page is a reserved/mmio page and does not have any HC address. */
adbb0da2a65fc315cb37869fd2c6c80c7d8d5b8bvboxsync/** No page directory available for the hypervisor. */
adbb0da2a65fc315cb37869fd2c6c80c7d8d5b8bvboxsync/** The shadow page pool was flushed.
adbb0da2a65fc315cb37869fd2c6c80c7d8d5b8bvboxsync * This means that a global CR3 sync was flagged. Anyone receiving this kind of status
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * will have to get down to a SyncCR3 ASAP. See also VINF_PGM_SYNC_CR3. */
adbb0da2a65fc315cb37869fd2c6c80c7d8d5b8bvboxsync/** The shadow page pool was cleared.
adbb0da2a65fc315cb37869fd2c6c80c7d8d5b8bvboxsync * This is a error code internal to the shadow page pool, it will be
adbb0da2a65fc315cb37869fd2c6c80c7d8d5b8bvboxsync * converted to a VERR_PGM_POOL_FLUSHED before leaving the pool code. */
adbb0da2a65fc315cb37869fd2c6c80c7d8d5b8bvboxsync/** The returned shadow page is cached. */
58015215080abff9c3a752cb331b6efe29fe8933vboxsync/** Returned by handler registration, modification and deregistration
adbb0da2a65fc315cb37869fd2c6c80c7d8d5b8bvboxsync * when the shadow PTs could be updated because the guest page
58015215080abff9c3a752cb331b6efe29fe8933vboxsync * aliased or/and mapped by multiple PTs. */
58015215080abff9c3a752cb331b6efe29fe8933vboxsync/** Reason for leaving GC: Paging mode changed.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * PGMChangeMode() uses this to force a switch to HC so it can safely
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * deal with a mode switch.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** SyncPage modified the PDE.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * This is an internal status code used to communicate back to the \#PF handler
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * that the PDE was (probably) marked not-present and it should restart the instruction. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** @name Memory Monitor (MM) Status Codes
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Attempt to register a RAM range of which parts are already
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * covered by existing RAM ranges. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Hypervisor memory allocation failed. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** @name Save State Manager (SSM) Status Codes
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The specified data unit already exist. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The specified data unit wasn't found. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The specified data unit wasn't owned by caller. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** General saved state file integrity error. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The saved state file magic was not recognized. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The saved state file magic was not recognized. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The saved state file magic was not recognized. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The CRC of the saved state file did match. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The current virtual machine id didn't match the virtual machine id. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Invalid unit magic (internal data tag). */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The file contained a data unit which no-one wants. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** A data unit in the saved state file was defined but didn't any
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * routine for processing it. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** A restore routine attempted to load more data then the unit contained. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Not in the correct state for the attempted operation. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Unsupported data unit version.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * A SSM user returns this if it doesn't know the u32Version. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync#define VERR_SSM_UNSUPPORTED_DATA_UNIT_VERSION (-1821)
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The format of a data unit has changed.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * A SSM user returns this if it's not able to read the format for
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * other reasons than u32Version. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The CPUID instruction returns different information when loading than when saved.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * Normally caused by hardware changes on the host, but could also be caused by
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * changes in the BIOS setup. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The RAM size differes between the saved state and the VM config. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The state doesn't match the VM configuration in one or another way.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * (There are certain PCI reconfiguration which the OS could potentially
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * do which can cause this problem. Check this out when it happens.) */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The virtual clock freqency differs too much.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * The clock source for the virtual time isn't reliable or the code have changed. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** A timeout occured while waiting for async IDE operations to finish. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** One of the structure magics was wrong. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** @name Virtual Machine (VM) Status Codes
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The specified at reset handler wasn't found. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Invalid VM request type.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * For the VMR3ReqAlloc() case, the caller just specified an illegal enmType. For
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * all the other occurences it means indicates corruption, broken logic, or stupid
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * interface user. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Invalid VM request state.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * The state of the request packet was not the expected and accepted one(s). Either
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * the interface user screwed up, or we've got corruption/broken logic. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Invalid VM request packet.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * One or more of the the VM controlled packet members didn't contain the correct
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * values. Some thing's broken. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The status field has not been updated yet as the request is still
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * pending completion. Someone queried the iStatus field before the request
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * has been fully processed. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync#define VERR_VM_REQUEST_STATUS_STILL_PENDING (-1904)
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The request has been freed, don't read the status now.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * Someone is reading the iStatus field of a freed request packet. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** A VM api requiring EMT was called from another thread.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * Use the VMR3ReqCall() apis to call it! */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The VM state was invalid for the requested operation.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * Go check the 'VM Statechart Diagram.gif'. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The support driver is not installed.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * On linux, open returned ENOENT. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The support driver is not accessible.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * On linux, open returned EPERM. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Was not able to load the support driver.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * On linux, open returned ENODEV. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Was not able to open the support driver.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * Generic open error used when none of the other ones fit. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The installed support driver doesn't match the version of the user. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** @name VBox Remote Desktop Protocol (VRDP) Status Codes
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Successful completion of operation (mapped to generic iprt status code). */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** VRDP transport operation timed out (mapped to generic iprt status code). */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Unsupported ISO protocol feature */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Security (en/decryption) engine error */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** VRDP protocol violation */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Unsupported VRDP protocol feature */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** VRDP protocol violation, client sends less data than expected */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Internal error, VRDP packet is in wrong operation mode */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Memory allocation failed */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Client has been rejected */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** VRPD receives a packet that is not supported */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** VRDP script allowed the packet to be processed further */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** VRDP script has completed its task */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** VRDP thread has started OK and will run */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Framebuffer is resized, terminate send bitmap procedure */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Output can be enabled for the client. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** @name Configuration Manager (CFGM) Status Codes
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The integer value was too big for the requested representation. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Child node was not found. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Path to child node was invalid (i.e. empty). */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Value not found. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** No parent node specified. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** No node was specified. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The value is not an integer. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The value is not a zero terminated character string. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The value is not a byte string. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The specified string / bytes buffer was to small. Specify a larger one and retry. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The path of a new node contained slashs or was empty. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** A new node couldn't be inserted because one with the same name exists. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** A new leaf couldn't be inserted because one with the same name exists. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** @name Time Manager (TM) Status Codes
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The loaded timer state was incorrect. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The timer was not in the correct state for the request operation. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The timer was in a unknown state. Corruption or stupid coding error. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The timer was stuck in an unstable state until we grew impatient and returned. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** @name Recompiled Execution Manager (REM) Status Codes
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Fatal error in virtual hardware. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Fatal error in the recompiler cpu. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Recompiler execution was interrupted by forced action. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: Must flush pending invlpg operations to REM.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * Tell REM to flush page invalidations. Will temporary go to REM context
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * from REM and perform the flushes. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Too many similar traps. This is a very useful debug only
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * check (we don't do double/tripple faults in REM). */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The REM is out of breakpoint slots. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The REM could not find any breakpoint on the specified address. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** @name Trap Manager / Monitor (TRPM) Status Codes
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** No active trap. Cannot query or reset a non-existing trap. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Active trap. Cannot assert a new trap when when one is already active. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: Guest tried to write to our IDT - fatal.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * The VM will be terminated assuming the worst, i.e. that the
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * guest has read the idtr register. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: Fatal trap in hypervisor. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: Double Fault. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The exception was dispatched for raw-mode execution. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** @name Selector Manager / Monitor (SELM) Status Code
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: Guest tried to write to our GDT - fatal.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * The VM will be terminated assuming the worst, i.e. that the
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * guest has read the gdtr register. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: Guest tried to write to our LDT - fatal.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * The VM will be terminated assuming the worst, i.e. that the
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * guest has read the ldtr register. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: Guest tried to write to our TSS - fatal.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * The VM will be terminated assuming the worst, i.e. that the
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * guest has read the ltr register. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: Sync the GDT table to solve a conflict. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** No valid TSS present. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** @name I/O Manager / Monitor (IOM) Status Code
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The specified I/O port range was invalid.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * It was either empty or it was out of bounds. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The specified GC I/O port range didn't have a corresponding HC range.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * IOMIOPortRegisterHC() must be called before IOMIOPortRegisterGC(). */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The specified I/O port range intruded on an existing range. There is
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * a I/O port conflict between two device, or a device tried to register
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * the same range twice. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The I/O port range specified for removal wasn't found or it wasn't contiguous. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The specified I/O port range was owned by some other device(s). Both registration
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * and deregistration, but in the first case only GC ranges. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The specified MMIO range was invalid.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * It was either empty or it was out of bounds. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The specified GC MMIO range didn't have a corresponding HC range.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * IOMMMIORegisterHC() must be called before IOMMMIORegisterGC(). */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The specified MMIO range was owned by some other device(s). Both registration
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * and deregistration, but in the first case only GC ranges. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The specified MMIO range intruded on an existing range. There is
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * a MMIO conflict between two device, or a device tried to register
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * the same range twice. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The MMIO range specified for removal was not found. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The MMIO range specified for removal was invalid. The range didn't match
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * quite match a set of existing ranges. It's not possible to remove parts of
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * a MMIO range, only one or more full ranges. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** An invalid I/O port size was specified for a read or write operation. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The MMIO handler was called for a bogus address! Internal error! */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The MMIO handler experienced a problem with the disassembler. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The port being read was not present(/unused) and IOM shall return ~0 according to size. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Unused MMIO register read, fill with 00. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Unused MMIO register read, fill with FF. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: I/O port read. */
383d5bd7b4b12176fbba2defc6c162e5b84e8ac0vboxsync/** Reason for leaving GC: I/O port write. */
383d5bd7b4b12176fbba2defc6c162e5b84e8ac0vboxsync/** Reason for leaving GC: I/O read/write. */
383d5bd7b4b12176fbba2defc6c162e5b84e8ac0vboxsync/** Reason for leaving GC: MMIO write. */
383d5bd7b4b12176fbba2defc6c162e5b84e8ac0vboxsync/** Reason for leaving GC: MMIO read. */
383d5bd7b4b12176fbba2defc6c162e5b84e8ac0vboxsync/** Reason for leaving GC: MMIO read/write. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** @name Virtual Machine Monitor (VMM) Status Codes
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Reason for leaving GC: Calling host function. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** @name Pluggable Device and Driver Manager (PDM) Status Codes
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** An invalid LUN specification was given. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** A device encountered an unknown configuration value.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * This means that the device is potentially misconfigured and the device
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * construction or unit attachment failed because of this. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The above driver doesn't export a interface required by a driver being
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * attached to it. Typical misconfiguration problem. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The below driver doesn't export a interface required by the drive
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * having attached it. Typical misconfiguration problem. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** A device didn't find a required interface with an attached driver.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * Typical misconfiguration problem. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** A driver encountered an unknown configuration value.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * This means that the driver is potentially misconfigured and the driver
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * construction. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The PCI bus assigned to a device didn't have room for it.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * Either too many devices are configured on the same PCI bus, or there are
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * some internal problem where PDM/PCI doesn't free up slots when unplugging devices. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** A queue is out of free items, the queueing operation failed. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Not possible to attach further drivers to the driver.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * A driver which doesn't support attachments (below of course) will
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * return this status code if it found that further drivers were configured
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * to be attached to it. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Not possible to attach drivers to the device.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * A device which doesn't support attachments (below of course) will
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * return this status code if it found that drivers were configured
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * to be attached to it. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** No attached driver.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * The PDMDRVHLP::pfnAttach and PDMDEVHLP::pfnDriverAttach will return
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * this error when no driver was configured to be attached. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The media geometry hasn't been set yet, so it cannot be obtained.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * The caller should then calculate the geometry from the media size. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The media translation hasn't been set yet, so it cannot be obtained.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * The caller should then guess the translation. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The media is not mounted, operation requires a mounted media. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Mount failed because a media was already mounted. Unmount the media
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * and retry the mount. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The media is locked and cannot be unmounted. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** No 'Type' attribute in the DrvBlock configuration.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * Misconfiguration. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The 'Type' attribute in the DrvBlock configuration had an unknown value.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * Misconfiguration. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The 'Translation' attribute in the DrvBlock configuration had an unknown value.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * Misconfiguration. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The block driver type wasn't supported.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * Misconfiguration of the kind you get when attaching a floppy to an IDE controller. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** A attach or prepare mount call failed because the driver already
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * had a driver attached. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** An attempt on deattaching a driver without anyone actually being attached, or
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * performing any other operation on an attached driver. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The attached driver configuration is missing the 'Driver' attribute. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The configured driver wasn't found.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * Either the necessary driver modules wasn't loaded, the name was
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * misspelled, or it was a misconfiguration. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The Ring-3 module was already loaded. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The name of the module clashed with an existing module. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Couldn't find any export for registration of drivers/devices. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** A module name is too long. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Driver name clash. Another driver with the same name as the
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * one begin registred exists. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The version of the driver registration structure is unknown
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * to this VBox version. Either mixing incompatible versions or
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * the structure isn't correctly initialized. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Invalid entry in the driver registration structure. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync#define VERR_PDM_INVALID_DRIVER_REGISTRATION (-2830)
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Invalid host bit mask. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Not possible to detach a driver because the above driver/device
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * doesn't support it. The above entity doesn't implement the pfnDetach call. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** No PCI Bus is available to register the device with. This is usually a
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * misconfiguration or in rare cases a buggy pci device. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The device is not a registered PCI device and thus cannot
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * perform any PCI operations. The device forgot to register it self. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The version of the device registration structure is unknown
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * to this VBox version. Either mixing incompatible versions or
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * the structure isn't correctly initialized. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Invalid entry in the device registration structure. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync#define VERR_PDM_INVALID_DEVICE_REGISTRATION (-2836)
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Invalid host bit mask. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The guest bit mask didn't match the guest being loaded. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Device name clash. Another device with the same name as the
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * one begin registred exists. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The device wasn't found. There was no registered device
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * by that name. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The device instance was not found. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The device instance have no base interface. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The device instance have no such logical unit. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync#define VERR_PDM_DEVICE_INSTANCE_LUN_NOT_FOUND (-2843)
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The driver instance could not be found. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Logical Unit was not found. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The Logical Unit was found, but it had no driver attached to it. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The Logical Unit was found, but it had no driver attached to it. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** No PIC device instance is registered with the current VM and thus
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * the PIC operation cannot be performed. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** No APIC device instance is registered with the current VM and thus
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * the APIC operation cannot be performed. */
6c6531128b39093daeac902a8705c0bdf15b31ccvboxsync/** No DMAC device instance is registered with the current VM and thus
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * the DMA operation cannot be performed. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** No RTC device instance is registered with the current VM and thus
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * the RTC or CMOS operation cannot be performed. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Unable to open the host interface due to a sharing violation . */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Unable to open the host interface. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The device doesn't support runtime driver attaching.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * The PDMDEVREG::pfnAttach callback function is NULL. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The device doesn't support runtime driver detaching.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * The PDMDEVREG::pfnDetach callback function is NULL. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** @name Host-Guest Communication Manager (HGCM) Status Codes
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Requested service does not exist. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Service rejected client connection */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Command address is invalid. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Service will execute the command in background. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** HGCM could not perform requested operation because of an internal error. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** @name Network Address Translation Driver (DrvNAT) Status Codes
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Failed to find the DNS configured for this machine. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Failed to convert the specified Guest IP to a binary IP address.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * Malformed input. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Failed while setting up a redirector rule.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * There probably is a conflict between the rule and some existing
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * service on the computer. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** @name HostIF Driver (DrvTUN) Status Codes
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The Host Interface Networking init program failed. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The Host Interface Networking device name is too long. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The Host Interface Networking name config IOCTL call failed. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Failed to make the Host Interface Networking handle non-blocking. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** If a Host Interface Networking filehandle was specified it's not allowed to
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * have any init or term programs. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** @name VBox HDD Container (VDI) Status Codes
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Invalid image file header. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Invalid image file header: invalid signature. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Invalid image file header: invalid version. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Invalid image type. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Invalid image flags. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Operation can't be done in current HDD container state. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Differencing image can't be used with current base image. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Two or more images of one HDD has different versions. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Differencing and parent images can't be used together due to UUID. */
6c6531128b39093daeac902a8705c0bdf15b31ccvboxsync/** No differencing images to commit. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Virtual HDD is not opened. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Requested image is not opened. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Image is read-only. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Comment string is too long. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Geometry hasn't been set. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** @name VBox Guest Library (VBGL) Status Codes
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Library was not initialized. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Virtual address was not allocated by the library. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** IOCtl to VBoxGuest driver failed. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** @name VBox USB (VUSB) Status Codes
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** No available ports on the hub.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * This error is returned when a device is attempted created and/or attached
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * to a hub which is out of ports. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The requested operation cannot be performed on a detached USB device. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Failed to allocate memory for a URB. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** General failure during URB queuing.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * This will go away when the queueing gets proper status code handling. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Device creation failed because the USB device name was not found. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Not permitted to open the USB device.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * The user doesn't have access to the device in the usbfs, check the mount options. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** The requested operation cannot be performed because the device
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * is currently being reset. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** @name VBox VGA Status Codes
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** One of the custom modes was incorrect.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * The format or bit count of the custom mode value is invalid. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** @name VBox VMX Status Codes
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Invalid VMCS index or write to read-only element. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Invalid VMCS pointer. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Invalid VMXON pointer. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Generic VMX failure. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Invalid CPU mode for VMX execution. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Unable to start VM execution. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Unable to resume VM execution. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Unable to switch due to invalid host state. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** @name VBox SVM Status Codes
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** Unable to start VM execution. */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/* SED-END */
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** @def VBOX_SUCCESS
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * Check for success.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * @returns true if rc indicates success.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * @returns false if rc indicates failure.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * @param rc The iprt status code to test.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync/** @def VBOX_FAILURE
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * Check for failure.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * @returns true if rc indicates failure.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * @returns false if rc indicates success.
6ef855ecf2121f708685307839f1262e0db1a024vboxsync * @param rc The iprt status code to test.