/** @file
* VirtualBox Status Codes.
*/
/*
* Copyright (C) 2006-2015 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
* General Public License (GPL) as published by the Free Software
* Foundation, in version 2 as it comes in the "COPYING" file of the
* VirtualBox OSE distribution. VirtualBox OSE is distributed in the
* hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
*
* The contents of this file may alternatively be used under the terms
* of the Common Development and Distribution License Version 1.0
* (CDDL) only, as it comes in the "COPYING.CDDL" file of the
* VirtualBox OSE distribution, in which case the provisions of the
* CDDL are applicable instead of those of the GPL.
*
* You may elect to license modified versions of this file under the
* terms and conditions of either the GPL or the CDDL or both.
*/
#ifndef ___VBox_err_h
#define ___VBox_err_h
/** @defgroup grp_err Error Codes
* @{
*/
/* SED-START */
/** @name Misc. Status Codes
* @{
*/
/** Failed to allocate VM memory. */
/** RC is toasted and the VMM should be terminated at once, but no need to
* panic about it :-) */
/** Unsupported CPU. */
/** Unsupported CPU mode. */
/** Page not present. */
/** No configuration value exists. */
/** Selector not present. */
/** Not code selector. */
/** Not data selector. */
/** Out of selector bounds. */
/** Invalid selector. Usually beyond table limits. */
/** Invalid requested privilegde level. */
/** PML4 entry not present. */
/** Page directory pointer not present. */
/** Raw mode doesn't support SMP. */
/** Invalid VM handle. */
/** Invalid VM handle. */
/** Invalid Virtual CPU ID. */
/** Too many VCPUs. */
/** The service was disabled on the host.
* Returned by pfnInit in VBoxService to indicated a non-fatal error that
* should results in the particular service being disabled. */
/** The requested feature is not supported in raw-mode. */
/** Invalid CPU index. */
/** @} */
*
* The order of the status codes between VINF_EM_FIRST and VINF_EM_LAST
* are of vital importance. The lower the number the higher importance
* as a scheduling instruction.
* @{
*/
/** First scheduling related status code. */
/** Indicating that the VM is being terminated and that the the execution
* shall stop. */
/** Hypervisor code was stepped.
* EM will first send this to the debugger, and if the issue isn't
* resolved there it will enter guru meditation. */
/** Hit a breakpoint in the hypervisor code,
* EM will first send this to the debugger, and if the issue isn't
* resolved there it will enter guru meditation. */
/** Hit a possible assertion in the hypervisor code,
* EM will first send this to the debugger, and if the issue isn't
* resolved there it will enter guru meditation. */
/** Indicating that the VM should be suspended for debugging because
* the developer wants to inspect the VM state. */
/** Indicating success single stepping and that EM should report that
* event to the debugger. */
/** Indicating that a breakpoint was hit and that EM should notify the debugger
* and in the event there is no debugger fail fatally. */
/** Indicating that EM should single step an instruction.
/** Indicating that the VM is being turned off and that the EM should
* exit to the VM awaiting the destruction request. */
/** Indicating that the VM has been suspended and that the the thread
* should wait for request telling it what to do next. */
/** Indicating that the VM has been reset and that scheduling goes
* back to startup defaults. */
/** Indicating that the VM has executed a halt instruction and that
* the emulation thread should wait for an interrupt before resuming
* execution. */
/** Indicating that the VM has been resumed and that the thread should
* start executing. */
/** Indicating that we've got an out-of-memory condition and that we need
* to take the appropriate actions to deal with this.
* @remarks It might seem odd at first that this has lower priority than VINF_EM_HALT,
* VINF_EM_SUSPEND, and VINF_EM_RESUME. The reason is that these events are
* vital to correctly operating the VM. Also, they can't normally occur together
* with an out-of-memory condition, and even if that should happen the condition
* will be rediscovered before executing any more code. */
/** The fatal variant of VINF_EM_NO_MEMORY. */
/** Indicating that a rescheduling to recompiled execution.
* to virtualize rawly.
* @remarks Important to have a higher priority (lower number) than the other rescheduling status codes. */
/** Indicating that a rescheduling to vmx-mode execution.
* Typically caused by REM detecting that hardware-accelerated raw-mode execution is possible. */
/** Indicating that a rescheduling to raw-mode execution.
* Typically caused by REM detecting that raw-mode execution is possible.
* @remarks Important to have a higher priority (lower number) than VINF_EM_RESCHEDULE. */
/** Indicating that a rescheduling now is required. Typically caused by
* interrupts having changed the EIP. */
/** PARAV call */
/** Go back into wait for SIPI mode */
/** Last scheduling related status code. (inclusive) */
/** Reason for leaving RC: Guest trap which couldn't be handled in RC.
* The trap is generally forwarded to the REM and executed there. */
/** Reason for leaving RC: Interrupted by external interrupt.
* The interrupt needed to be handled by the host OS. */
/** Reason for leaving RC: Interrupted by external interrupt while in hypervisor
* code. The interrupt needed to be handled by the host OS and hypervisor
* execution must be resumed. VM state is not complete at this point. */
/** Reason for leaving RC: A Ring switch was attempted.
* Normal cause of action is to execute this in REM. */
/** Reason for leaving RC: A Ring switch was attempted using software interrupt.
* Normal cause of action is to execute this in REM. */
/** Reason for leaving RC: A privileged instruction was attempted executed.
* Normal cause of action is to execute this in REM. */
/** Reason for leaving RZ: Emulate instruction. */
/** Reason for leaving RC: Unhandled TSS write.
* Recompiler gets control. */
/** Reason for leaving RC: Unhandled LDT write.
* Recompiler gets control. */
/** Reason for leaving RC: Unhandled IDT write.
* Recompiler gets control. */
/** Reason for leaving RC: Unhandled GDT write.
* Recompiler gets control. */
/** Reason for leaving RC: Unhandled Page Directory write.
* Recompiler gets control. */
/** Reason for leaving RC: jump inside generated patch jump.
* Fatal error. */
/** Reason for leaving RC: Hlt instruction.
* Recompiler gets control. */
/** Reason for leaving RZ: Ring-3 operation pending. */
/** Reason for leaving RZ: Timer pending. */
/** Reason for leaving RC: Interrupt pending (guest). */
/** Reason for leaving RC: Encountered a stale selector. */
/** Reason for leaving RC: The IRET resuming guest code trapped. */
/** Reason for leaving RC: Emulate (MM)IO intensive code in the recompiler. */
/** The interpreter was unable to deal with the instruction at hand. */
/** Internal EM error caused by an unknown warning or informational status code. */
/** Pending VM request packet. */
/** Start instruction stepping (debug only). */
/** Patch TPR access instruction. */
/** Unexpected guest mapping conflict detected. */
/** Reason for leaving RC: A triple-fault condition. Currently, causes
* a guru meditation. */
/** The specified execution engine cannot execute guest code in the current
* state. */
/** Reason for leaving RC: Inject a TRPM event. */
/** @} */
/** @name Debugging Facility (DBGF) DBGF Status Codes
* @{
*/
/** The function called requires the caller to be attached as a
* debugger to the VM. */
/** Someone (including the caller) was already attached as
* debugger to the VM. */
/** Tried to hald a debugger which was already halted.
* (This is a warning and not an error.) */
/** The DBGF has no more free breakpoint slots. */
/** The DBGF couldn't find the specified breakpoint. */
/** Attempted to enabled a breakpoint which was already enabled. */
/** Attempted to disabled a breakpoint which was already disabled. */
/** The breakpoint already exists. */
/** The byte string was not found. */
/** The OS was not detected. */
/** The OS was not detected. */
/** The specified register was not found. */
/** The value was truncated to fit.
* For queries this means that the register is wider than the queried value.
* For setters this means that the value is wider than the register. */
/** The value was zero extended to fit.
* For queries this means that the register is narrower than the queried value.
* For setters this means that the value is narrower than the register. */
/** The requested type conversion was not supported. */
/** The register is read-only and cannot be modified. */
/** Internal processing error \#1 in the DBGF register code. */
/** Internal processing error \#2 in the DBGF register code. */
/** Unhandled \#DB in hypervisor code. */
/** Internal processing error \#1 in the DBGF stack code. */
/** Internal processing error \#2 in the DBGF stack code. */
/** No trace buffer available, please change the VM config. */
/** @} */
/** @name Patch Manager (PATM) Status Codes
* @{
*/
/** Non fatal Patch Manager analysis phase warning */
/** Non fatal Patch Manager recompile phase warning (mapped to VWRN_CONTINUE_ANALYSIS). */
/** Continue search (mapped to VWRN_CONTINUE_ANALYSIS). */
/** Patch installation refused (patch too complex or unsupported instructions ) */
/** Unable to find patch */
/** Patch disabled */
/** Patch enabled */
/** Patch was already disabled */
/** Patch was already enabled */
/** Patch was removed. */
/** Reason for leaving RC: \#GP with EIP pointing to patch code. */
/** First leave RC code. */
/** Reason for leaving RC: \#PF with EIP pointing to patch code. */
/** Reason for leaving RC: int3 with EIP pointing to patch code. */
/** Reason for leaving RC: \#PF for monitored patch page. */
/** Reason for leaving RC: duplicate instruction called at current eip. */
/** Execute one instruction with the recompiler */
/** Reason for leaving RC: attempt to patch MMIO write. */
/** Reason for leaving RC: attempt to patch MMIO read. */
/** Reason for leaving RC: pending irq after iret that sets IF. */
/** Last leave RC code. */
/** No conflicts to resolve */
/** Detected unsafe code for patching */
/** Terminate search branch */
/** Already patched */
/** Spinlock detection failed. */
/** Continue execution after patch trap. */
/** Unexpected trap in patch code. */
/** @} */
/** @name Code Scanning and Analysis Manager (CSAM) Status Codes
* @{
*/
/** Trap not handled */
/** Patch installed */
/** Page record not found */
/** Reason for leaving RC: CSAM wants perform a task in ring-3. */
/** @} */
* @{
*/
/** Attempt to create a GC mapping which conflicts with an existing mapping. */
/** The physical handler range has no corresponding RAM range.
* If this is MMIO, see todo above the return. If not MMIO, then it's
* someone else's fault... */
/** Attempt to register an access handler for a virtual range of which a part
* was already handled. */
/** Attempt to register an access handler for a physical range of which a part
* was already handled. */
/** Invalid page directory specified to PGM. */
/** Invalid GC physical address. */
/** Invalid GC physical range. Usually used when a specified range crosses
* a RAM region boundary. */
/** Specified access handler was not found. */
/** Attempt to register a RAM range of which parts are already
* covered by existing RAM ranges. */
/** Failed to add new mappings because the current mappings are fixed
* in guest os memory. */
/** Failed to fix mappings because of a conflict with the intermediate code. */
/** Failed to fix mappings because a mapping rejected the address. */
/** Failed to fix mappings because the proposed memory area was to small. */
/** Reason for leaving RZ: The urge to syncing CR3. */
/** Page not marked for dirty bit tracking */
/** Page fault caused by dirty bit tracking; corrected */
* This is returned by a R3 physical or virtual handler when it wants the
/** The paging mode of the host is not supported yet. */
* address. */
/** No page directory available for the hypervisor. */
/** The shadow page pool was flushed.
* This means that a global CR3 sync was flagged. Anyone receiving this kind of status
* will have to get down to a SyncCR3 ASAP. See also VINF_PGM_SYNC_CR3. */
/** The shadow page pool was cleared.
* This is a error code internal to the shadow page pool, it will be
* converted to a VERR_PGM_POOL_FLUSHED before leaving the pool code. */
/** The returned shadow page is cached. */
/** Returned by handler registration, modification and deregistration
* when the shadow PTs could be updated because the guest page
/** Reason for leaving RC: Paging mode changed.
* PGMChangeMode() uses this to force a switch to R3 so it can safely deal with
* a mode switch. */
/** SyncPage modified the PDE.
* This is an internal status code used to communicate back to the \#PF handler
* that the PDE was (probably) marked not-present and it should restart the instruction. */
/** Physical range crosses dynamic ram chunk boundary; translation to HC ptr not safe. */
/** Conflict between the core memory and the intermediate paging context, try again.
* There are some very special conditions applying to the intermediate paging context
* (used during the world switches), and some times we continuously run into these
* when asking the host kernel for memory during VM init. Let us know if you run into
* this and we'll adjust the code so it tries harder to avoid it.
*/
/** The shadow paging mode is not supported yet. */
/** The dynamic mapping cache for physical memory failed. */
/** The auto usage cache for the dynamic mapping set is full. */
/** The initialization of the dynamic mapping cache failed. */
/** The expanding of the dynamic mapping cache failed. */
/** The page is unassigned (akin to VERR_PGM_INVALID_GC_PHYSICAL_ADDRESS). */
/** Catch any access and route it thru PGM. */
/** Catch write access and route it thru PGM. */
/** Catch write access and route it thru PGM. */
/** No CR3 root shadow page table.. */
/** Trying to free a page with an invalid Page ID. */
/** PGMPhysWrite/Read hit a handler in Ring-0 or raw-mode context. */
/** Trying to free a page that isn't RAM. */
/** Not ROM page. */
/** Not MMIO page. */
/** Not MMIO2 page. */
/** Already aliased to a different page. */
/** Already aliased to the same page. */
/** PGM pool flush pending - return to ring 3. */
/** Unable to use the range for a large page. */
/** Don't mess around with ballooned pages. */
/** pgmPhysPageMapCommon encountered PGMPAGETYPE_MMIO2_ALIAS_MMIO. */
/** Guest mappings are disabled. */
/** No guest mappings when SMP is enabled. */
/** Invalid saved page state. */
/** Encountered an unexpected page type in the saved state. */
/** Encountered an unexpected page state in the saved state. */
/** Couldn't find MMIO2 range from saved state. */
/** Couldn't find MMIO2 page from saved state. */
/** Couldn't find ROM range from saved state. */
/** Couldn't find ROM page from saved state. */
/** ROM page mismatch between saved state and the VM. */
/** Unknown saved state record. */
/** Internal processing error in the PGM handy page allocator. */
/** Failed to map the guest PML4. */
/** Failed to obtain a pool page. */
/** A PGM function was called in a mode where it isn't supposed to be used. */
/** The CR3 address specified memory we don't know about. */
/** One or the PDPEs specified memory we don't know about. */
/** Internal processing error in the PGM physical handler code. */
/** Internal processing error \#1 in the PGM physial page mapping code. */
/** Internal processing error \#2 in the PGM physial page mapping code. */
/** Internal processing error \#3 in the PGM physial page mapping code. */
/** Internal processing error \#4 in the PGM physial page mapping code. */
/** Too many loops looking for a page to reuse. */
/** Internal procesing error related to guest mappings. */
/** An attempt was made to grow an already maxed out page pool. */
/** Internal processing error in the page pool code. */
/** The write monitor is already engaged. */
/** Failed to get a guest page which is expected to be present. */
/** We were given a NULL pPage parameter. */
/** PCI passthru is not supported by this build. */
/** Too many MMIO2 ranges. */
/** Internal processing error in the PGM physial page mapping code dealing
* with MMIO2 pages. */
/** @} */
/** @name Memory Monitor (MM) Status Codes
* @{
*/
/** Attempt to register a RAM range of which parts are already
* covered by existing RAM ranges. */
/** Hypervisor memory allocation failed. */
/** A bad trap type ended up in mmGCRamTrap0eHandler. */
/** @} */
/** @name CPU Monitor (CPUM) Status Codes
* @{
*/
/** The caller shall raise an \#GP(0) exception. */
/** Incompatible CPUM configuration. */
/** CPUMR3DisasmInstrCPU unexpectedly failed to determin the hidden
* parts of the CS register. */
/** Couldn't find the end of CPUID sub-leaves. */
/** CPUM internal processing error \#1. */
/** CPUM internal processing error \#2. */
/** The specified CPU cannot be found in the CPU database. */
/** Invalid CPUMCPU offset in MSR range. */
/** Return to ring-3 to read the MSR there. */
/** Return to ring-3 to write the MSR there. */
/** Too may CPUID leaves. */
/** Invalid config value. */
/** @} */
/** @name Save State Manager (SSM) Status Codes
* @{
*/
/** The specified data unit already exist. */
/** The specified data unit wasn't found. */
/** The specified data unit wasn't owned by caller. */
/** General saved state file integrity error. */
/** The saved state file magic was not recognized. */
/** The saved state file version is not supported. */
/** The saved state file size didn't match the one in the header. */
/** The CRC of the saved state file did not match. */
/** The machine uuid field wasn't null. */
/** Saved state header integrity error. */
/** Unit header integrity error. */
/** Invalid unit magic (internal data tag). */
/** The file contained a data unit which no-one wants. */
/** Incorrect version numbers in the header. */
/** Footer integrity error. */
/** Record header integrity error. */
/** Termination record integrity error. */
/** Termination record CRC mismatch. */
/** Decompression interity error. */
/** Saved state directory iintegrity error. */
/** The saved state directory magic is wrong. */
/** A data unit in the saved state file was defined but didn't any
* routine for processing it. */
/** A restore routine attempted to load more data then the unit contained. */
/** Not in the correct state for the attempted operation. */
/** Not in the correct state for the attempted operation. */
/** Unsupported data unit version.
* A SSM user returns this if it doesn't know the u32Version. */
/** The format of a data unit has changed.
* A SSM user returns this if it's not able to read the format for
* other reasons than u32Version. */
/** The CPUID instruction returns different information when loading than when saved.
* Normally caused by hardware changes on the host, but could also be caused by
* changes in the BIOS setup. */
/** The RAM size differes between the saved state and the VM config. */
/** The state doesn't match the VM configuration in one or another way.
* (There are certain PCI reconfiguration which the OS could potentially
* do which can cause this problem. Check this out when it happens.) */
/** The virtual clock frequency differs too much.
* The clock source for the virtual time isn't reliable or the code have changed. */
/** A timeout occurred while waiting for async IDE operations to finish. */
/** One of the structure magics was wrong. */
/** The data in the saved state doesn't conform to expectations. */
/** Trying to read a 64-bit guest physical address into a 32-bit variable. */
/** Trying to read a 64-bit guest virtual address into a 32-bit variable. */
/** Vote for another pass. */
/** Vote for done tell SSM not to call again until the final pass. */
/** Vote for giving up. */
/** Don't call again until the final pass. */
/** Giving up a live snapshot/teleportation attempt because of too many
* passes. */
/** Giving up a live snapshot/teleportation attempt because the state grew to
* big. */
/** Giving up a live snapshot attempt because we're low on disk space. */
/** The operation was cancelled. */
/** Nothing that can be cancelled. */
/** The operation has already been cancelled. */
/** The machine was powered off while saving. */
/** The live snapshot/teleportation operation was aborted because of a guru
* meditation. */
/** The live snapshot/teleportation operation was aborted because of a fatal
* runtime error. */
/** The VM was suspended before or while saving, don't resume execution. */
/** Complex SSM field fed to SSMR3PutStruct or SSMR3GetStruct. Use the
* extended API. */
/** Invalid size of a SSM field with the specified transformation. */
/** The specified field is outside the structure. */
/** The field does not follow immediately the previous one. */
/** The field contains an invalid callback or transformation index. */
/** The field contains an invalid padding size. */
/** The field contains a value that is out of range. */
/** Generic stream error. */
/** SSM did a callback for a pass we didn't expect. */
/** Someone is trying to skip backwards in the stream... */
/** Someone is trying to write a memory block which is too big to encode. */
/** Encountered an bad (/unknown) record type. */
/** Internal processing error \#1 in SSM code. */
/** Internal processing error \#2 in SSM code. */
/** Internal processing error \#3 in SSM code. */
/** A field contained an transformation that should only be used when loading
* old states. */
/** @} */
/** @name Virtual Machine (VM) Status Codes
* @{
*/
/** The specified at reset handler wasn't found. */
/** Invalid VM request type.
* For the VMR3ReqAlloc() case, the caller just specified an illegal enmType. For
* all the other occurrences it means indicates corruption, broken logic, or stupid
* interface user. */
/** Invalid VM request state.
* The state of the request packet was not the expected and accepted one(s). Either
* the interface user screwed up, or we've got corruption/broken logic. */
/** Invalid VM request packet.
* One or more of the the VM controlled packet members didn't contain the correct
* values. Some thing's broken. */
/** The status field has not been updated yet as the request is still
* pending completion. Someone queried the iStatus field before the request
* has been fully processed. */
/** The request has been freed, don't read the status now.
* Someone is reading the iStatus field of a freed request packet. */
/** A VM api requiring EMT was called from another thread.
* Use the VMR3ReqCall() apis to call it! */
/** The VM state was invalid for the requested operation.
* Go check the 'VM Statechart Diagram.gif'. */
/** The support driver is not installed.
* On linux, open returned ENOENT. */
/** The support driver is not accessible.
* On linux, open returned EPERM. */
/** Was not able to load the support driver.
* On linux, open returned ENODEV. */
/** Was not able to open the support driver.
* Generic open error used when none of the other ones fit. */
/** The installed support driver doesn't match the version of the user. */
/** Saving the VM state is temporarily not allowed. Try again later. */
/** An EMT called an API which cannot be called on such a thread. */
/** Encountered an unexpected VM state. */
/** Unexpected unstable VM state. */
/** Too many arguments passed to a VM request / request corruption. */
/** Fatal EMT wait error. */
/** The VM request was killed at VM termination. */
/** @} */
/** @name VBox Remote Desktop Protocol (VRDP) Status Codes
* @{
*/
/** Successful completion of operation (mapped to generic iprt status code). */
/** VRDP transport operation timed out (mapped to generic iprt status code). */
/** Unsupported ISO protocol feature */
/** Security (en/decryption) engine error */
/** VRDP protocol violation */
/** Unsupported VRDP protocol feature */
/** VRDP protocol violation, client sends less data than expected */
/** Internal error, VRDP packet is in wrong operation mode */
/** Memory allocation failed */
/** Client has been rejected */
/** VRPD receives a packet that is not supported */
/** VRDP script allowed the packet to be processed further */
/** VRDP script has completed its task */
/** VRDP thread has started OK and will run */
/** Framebuffer is resized, terminate send bitmap procedure */
/** Output can be enabled for the client. */
/** @} */
/** @name Configuration Manager (CFGM) Status Codes
* @{
*/
/** The integer value was too big for the requested representation. */
/** Child node was not found. */
/** Path to child node was invalid (i.e. empty). */
/** Value not found. */
/** No parent node specified. */
/** No node was specified. */
/** The value is not an integer. */
/** The value is not a zero terminated character string. */
/** The value is not a byte string. */
/** The specified string / bytes buffer was to small. Specify a larger one and retry. */
/** The path of a new node contained slashs or was empty. */
/** A new node couldn't be inserted because one with the same name exists. */
/** A new leaf couldn't be inserted because one with the same name exists. */
/** An unknown config value was encountered. */
/** An unknown config node (key) was encountered. */
/** Internal processing error \#1 in CFGM. */
/** @} */
/** @name Time Manager (TM) Status Codes
* @{
*/
/** The loaded timer state was incorrect. */
/** The timer was not in the correct state for the request operation. */
/** The timer was in a unknown state. Corruption or stupid coding error. */
/** The timer was stuck in an unstable state until we grew impatient and returned. */
/** TM requires GIP. */
/** TM does not support the GIP version. */
/** The GIP update interval is too large. */
/** The timer has a bad clock enum value, probably corruption. */
/** The timer failed to reach a stable state. */
/** Attempt to resume a running TSC. */
/** Attempt to pause a paused TSC. */
/** Invalid value for cVirtualTicking. */
/** @} */
/** @name Recompiled Execution Manager (REM) Status Codes
* @{
*/
/** Fatal error in virtual hardware. */
/** Fatal error in the recompiler cpu. */
/** Recompiler execution was interrupted by forced action. */
/** Too many similar traps. This is a very useful debug only
/** The REM is out of breakpoint slots. */
/** The REM could not find any breakpoint on the specified address. */
/** @} */
/** @name Trap Manager / Monitor (TRPM) Status Codes
* @{
*/
/** No active trap. Cannot query or reset a non-existing trap. */
/** Active trap. Cannot assert a new trap when when one is already active. */
/** Reason for leaving RC: Guest tried to write to our IDT - fatal.
* The VM will be terminated assuming the worst, i.e. that the
* guest has read the idtr register. */
/** Reason for leaving RC: Fatal trap in hypervisor. */
/** Reason for leaving RC: Double Fault. */
/** The exception was dispatched for raw-mode execution. */
/** Bad TRPM_TRAP_IN_OP. */
/** Internal processing error \#1 in TRPM. */
/** Internal processing error \#2 in TRPM. */
/** Internal processing error \#3 in TRPM. */
/** @} */
/** @name Selector Manager / Monitor (SELM) Status Code
* @{
*/
/** Reason for leaving RC: Guest tried to write to our GDT - fatal.
* The VM will be terminated assuming the worst, i.e. that the
* guest has read the gdtr register. */
/** Reason for leaving RC: Guest tried to write to our LDT - fatal.
* The VM will be terminated assuming the worst, i.e. that the
* guest has read the ldtr register. */
/** Reason for leaving RC: Guest tried to write to our TSS - fatal.
* The VM will be terminated assuming the worst, i.e. that the
* guest has read the ltr register. */
/** Reason for leaving RC: Sync the GDT table to solve a conflict. */
/** No valid TSS present. */
/** Invalid guest LDT selector. */
/** The guest LDT selector is out of bounds. */
/** Unknown error while reading the guest GDT during shadow table updating. */
/** The guest GDT so full that we cannot find free space for our own
* selectors. */
/** @} */
/** @name I/O Manager / Monitor (IOM) Status Code
* @{
*/
/** The specified I/O port range was invalid.
* It was either empty or it was out of bounds. */
/** The specified R0 or RC I/O port range didn't have a corresponding R3 range.
* IOMR3IOPortRegisterR3() must be called first. */
/** The specified I/O port range intruded on an existing range. There is
* a I/O port conflict between two device, or a device tried to register
* the same range twice. */
/** The I/O port range specified for removal wasn't found or it wasn't contiguous. */
/** The specified I/O port range was owned by some other device(s). Both registration
* and deregistration, but in the first case only RC and R0 ranges. */
/** The specified MMIO range was invalid.
* It was either empty or it was out of bounds. */
/** The specified R0 or RC MMIO range didn't have a corresponding R3 range.
* IOMR3MMIORegisterR3() must be called first. */
/** The specified MMIO range was owned by some other device(s). Both registration
* and deregistration, but in the first case only RC and R0 ranges. */
/** The specified MMIO range intruded on an existing range. There is
* a MMIO conflict between two device, or a device tried to register
* the same range twice. */
/** The MMIO range specified for removal was not found. */
/** The MMIO range specified for removal was invalid. The range didn't match
* quite match a set of existing ranges. It's not possible to remove parts of
* a MMIO range, only one or more full ranges. */
/** An invalid I/O port size was specified for a read or write operation. */
/** The MMIO handler was called for a bogus address! Internal error! */
/** The MMIO handler experienced a problem with the disassembler. */
/** The port being read was not present(/unused) and IOM shall return ~0 according to size. */
/** Unused MMIO register read, fill with 00. */
/** Unused MMIO register read, fill with FF. */
/** Reason for leaving RZ: I/O port read. */
/** Reason for leaving RZ: I/O port write. */
/** Reason for leaving RZ: MMIO read. */
/** Reason for leaving RZ: MMIO write. */
/** IOMGCIOPortHandler was given an unexpected opcode. */
/** Internal processing error \#1 in the I/O port code. */
/** Internal processing error \#2 in the I/O port code. */
/** Internal processing error \#3 in the I/O port code. */
/** Internal processing error \#1 in the MMIO code. */
/** Internal processing error \#2 in the MMIO code. */
/** Internal processing error \#3 in the MMIO code. */
/** @} */
/** @name Virtual Machine Monitor (VMM) Status Codes
* @{
*/
/** Reason for leaving RZ: Calling host function. */
/** Reason for leaving R0: Hit a ring-0 assertion on EMT. */
/** The hyper CR3 differs between PGM and CPUM. */
/** Reason for leaving RZ: Illegal call to ring-3. */
/** The VMMR0.r0 module version does not match VBoxVMM.dll/so/dylib.
* If you just upgraded VirtualBox, please terminate all VMs and make sure
* VBoxNetDHCP is not running. Then try again. If this error persists, try
* re-installing VirtualBox. */
/** The VMMRC.rc module version does not match VBoxVMM.dll/so/dylib.
* Re-install if you are a user. Developers should make sure the build is
* complete or try with a clean build. */
/** VMM set jump error. */
/** VMM set jump stack overflow error. */
/** VMM set jump resume error. */
/** VMM long jump error. */
/** Unknown ring-3 call attempted. */
/** The ring-3 call didn't set an RC. */
/** Reason for leaving RC: Caller the tracer in ring-0. */
/** Internal processing error \#1 in the switcher code. */
/** Reason for leaving RZ: Unknown call to ring-3. */
/** Attempted to use stub switcher. */
/** HM returned in the wrong state. */
/** @} */
/** @name Pluggable Device and Driver Manager (PDM) Status Codes
* @{
*/
/** An invalid LUN specification was given. */
/** A device encountered an unknown configuration value.
* This means that the device is potentially misconfigured and the device
* construction or unit attachment failed because of this. */
/** The above driver doesn't export a interface required by a driver being
* attached to it. Typical misconfiguration problem. */
/** The below driver doesn't export a interface required by the drive
* having attached it. Typical misconfiguration problem. */
/** A device didn't find a required interface with an attached driver.
* Typical misconfiguration problem. */
/** A driver encountered an unknown configuration value.
* This means that the driver is potentially misconfigured and the driver
* construction failed because of this. */
/** The PCI bus assigned to a device didn't have room for it.
* Either too many devices are configured on the same PCI bus, or there are
/** A queue is out of free items, the queueing operation failed. */
/** Not possible to attach further drivers to the driver.
* A driver which doesn't support attachments (below of course) will
* return this status code if it found that further drivers were configured
* to be attached to it. */
/** Not possible to attach drivers to the device.
* A device which doesn't support attachments (below of course) will
* return this status code if it found that drivers were configured
* to be attached to it. */
/** No attached driver.
* The PDMDRVHLP::pfnAttach and PDMDEVHLP::pfnDriverAttach will return
* this error when no driver was configured to be attached. */
/** The media geometry hasn't been set yet, so it cannot be obtained.
* The caller should then calculate the geometry from the media size. */
/** The media translation hasn't been set yet, so it cannot be obtained.
* The caller should then guess the translation. */
/** The media is not mounted, operation requires a mounted media. */
/** Mount failed because a media was already mounted. Unmount the media
* and retry the mount. */
/** The media is locked and cannot be unmounted. */
/** No 'Type' attribute in the DrvBlock configuration.
* Misconfiguration. */
/** The 'Type' attribute in the DrvBlock configuration had an unknown value.
* Misconfiguration. */
/** The 'Translation' attribute in the DrvBlock configuration had an unknown value.
* Misconfiguration. */
/** The block driver type wasn't supported.
* Misconfiguration of the kind you get when attaching a floppy to an IDE controller. */
/** A attach or prepare mount call failed because the driver already
* had a driver attached. */
/** An attempt on deattaching a driver without anyone actually being attached, or
* performing any other operation on an attached driver. */
/** The attached driver configuration is missing the 'Driver' attribute. */
/** The configured driver wasn't found.
* Either the necessary driver modules wasn't loaded, the name was
* misspelled, or it was a misconfiguration. */
/** The Ring-3 module was already loaded. */
/** The name of the module clashed with an existing module. */
/** A module name is too long. */
/** Driver name clash. Another driver with the same name as the
* one begin registred exists. */
/** The version of the driver registration structure is unknown
* to this VBox version. Either mixing incompatible versions or
* the structure isn't correctly initialized. */
/** Invalid entry in the driver registration structure. */
/** Invalid host bit mask. */
* doesn't support it. The above entity doesn't implement the pfnDetach call. */
/** No PCI Bus is available to register the device with. This is usually a
* misconfiguration or in rare cases a buggy pci device. */
/** The device is not a registered PCI device and thus cannot
* perform any PCI operations. The device forgot to register it self. */
/** The version of the device registration structure is unknown
* to this VBox version. Either mixing incompatible versions or
* the structure isn't correctly initialized. */
/** Invalid entry in the device registration structure. */
/** Invalid host bit mask. */
/** The guest bit mask didn't match the guest being loaded. */
/** Device name clash. Another device with the same name as the
* one begin registred exists. */
/** The device wasn't found. There was no registered device
* by that name. */
/** The device instance was not found. */
/** The device instance have no base interface. */
/** The device instance have no such logical unit. */
/** The driver instance could not be found. */
/** Logical Unit was not found. */
/** The Logical Unit was found, but it had no driver attached to it. */
/** The Logical Unit was found, but it had no driver attached to it. */
/** No PIC device instance is registered with the current VM and thus
* the PIC operation cannot be performed. */
/** No APIC device instance is registered with the current VM and thus
* the APIC operation cannot be performed. */
/** No DMAC device instance is registered with the current VM and thus
* the DMA operation cannot be performed. */
/** No RTC device instance is registered with the current VM and thus
* the RTC or CMOS operation cannot be performed. */
/** Unable to open the host interface due to a sharing violation . */
/** Unable to open the host interface. */
/** The device doesn't support runtime driver attaching.
* The PDMDEVREG::pfnAttach callback function is NULL. */
/** The driver doesn't support runtime driver attaching.
* The PDMDRVREG::pfnAttach callback function is NULL. */
/** Invalid host interface version. */
/** The version of the USB device registration structure is unknown
* to this VBox version. Either mixing incompatible versions or
* the structure isn't correctly initialized. */
/** Invalid entry in the device registration structure. */
/** Driver name clash. Another driver with the same name as the
* one begin registred exists. */
/** The USB hub is already registered. */
/** Couldn't find any USB hubs to attach the device to. */
/** Couldn't find any free USB ports to attach the device to. */
/** Couldn't find the USB Proxy device. Using OSE? */
/** The async completion template is still used. */
/** The async completion task is already suspended. */
/** The async completion task is not suspended. */
/** The driver properties were invalid, and as a consequence construction
* failed. Caused my unusable media or similar problems. */
/** Too many instances of a device. */
/** Too many instances of a driver. */
/** Too many instances of a usb device. */
/** The device instance structure version has changed.
*
* If you have upgraded VirtualBox recently, please make sure you have
* terminated all VMs and upgraded any extension packs. If this error
* persists, try re-installing VirtualBox. */
/** The device helper structure version has changed.
*
* If you have upgraded VirtualBox recently, please make sure you have
* terminated all VMs and upgraded any extension packs. If this error
* persists, try re-installing VirtualBox. */
/** The USB device instance structure version has changed.
*
* If you have upgraded VirtualBox recently, please make sure you have
* terminated all VMs and upgraded any extension packs. If this error
* persists, try re-installing VirtualBox. */
/** The USB device helper structure version has changed.
*
* If you have upgraded VirtualBox recently, please make sure you have
* terminated all VMs and upgraded any extension packs. If this error
* persists, try re-installing VirtualBox. */
/** The driver instance structure version has changed.
*
* If you have upgraded VirtualBox recently, please make sure you have
* terminated all VMs and upgraded any extension packs. If this error
* persists, try re-installing VirtualBox. */
/** The driver helper structure version has changed.
*
* If you have upgraded VirtualBox recently, please make sure you have
* terminated all VMs and upgraded any extension packs. If this error
* persists, try re-installing VirtualBox. */
/** Generic device structure version mismatch.
*
* If you have upgraded VirtualBox recently, please make sure you have
* terminated all VMs and upgraded any extension packs. If this error
* persists, try re-installing VirtualBox. */
/** Generic USB device structure version mismatch.
*
* If you have upgraded VirtualBox recently, please make sure you have
* terminated all VMs and upgraded any extension packs. If this error
* persists, try re-installing VirtualBox. */
/** Generic driver structure version mismatch.
*
* If you have upgraded VirtualBox recently, please make sure you have
* terminated all VMs and upgraded any extension packs. If this error
* persists, try re-installing VirtualBox. */
/** PDMVMMDevHeapR3ToGCPhys failure. */
/** A legacy device isn't implementing the HPET notification interface. */
/** Internal processing error in the critical section code. */
/** The critical section being deleted was not found. */
/** A PDMThread API was called by the wrong thread. */
/** Internal processing error \#1 in the PDM Thread code. */
/** Internal processing error \#2 in the PDM Thread code. */
/** Only one PCI function is supported per PDM device. */
/** Bad PCI configuration. */
/** Internal processing error # in the PDM device code. */
/** Misconfigured driver chain transformation. */
/** The driver is already removed, not more transformations possible (at
* present). */
/** The PCI device isn't configured as a busmaster, physical memory access
* rejected. */
/** @} */
/** @name Host-Guest Communication Manager (HGCM) Status Codes
* @{
*/
/** Requested service does not exist. */
/** Service rejected client connection */
/** Command address is invalid. */
/** Service will execute the command in background. */
/** HGCM could not perform requested operation because of an internal error. */
/** Invalid HGCM client id. */
/** The HGCM is saving state. */
/** Requested service already exists. */
/** @} */
/** @name Network Address Translation Driver (DrvNAT) Status Codes
* @{
*/
/** Failed to find the DNS configured for this machine. */
/** Failed to convert the specified Guest IP to a binary IP address.
* Malformed input. */
/** Failed while setting up a redirector rule.
* There probably is a conflict between the rule and some existing
* service on the computer. */
/** @} */
/** @name HostIF Driver (DrvTUN) Status Codes
* @{
*/
/** The Host Interface Networking init program failed. */
/** The Host Interface Networking device name is too long. */
/** The Host Interface Networking name config IOCTL call failed. */
/** Failed to make the Host Interface Networking handle non-blocking. */
/** If a Host Interface Networking filehandle was specified it's not allowed to
* have any init or term programs. */
/** The Host Interface Networking terminate program failed. */
/** @} */
/** @name VBox HDD Container (VD) Status Codes
* @{
*/
/** Invalid image type. */
/** Operation can't be done in current HDD container state. */
/** Configuration value not found. */
/** Virtual HDD is not opened. */
/** Requested image is not opened. */
/** Image is read-only. */
/** Geometry hasn't been set. */
/** No data for this block in image. */
/** Differencing and parent images can't be used together due to UUID. */
/** Asynchronous I/O request finished. */
/** Asynchronous I/O is not finished yet. */
/** The image is too small or too large for this format. */
/** Configuration value is unknown. This indicates misconfiguration. */
/** Interface is unknown. This indicates misconfiguration. */
/** The DEK for disk encryption is missing. */
/** The provided password to decrypt the DEK was incorrect. */
/** Generic: Invalid image file header. Use this for plugins. */
/** VDI: Invalid image file header. */
/** VDI: Invalid image file header: invalid signature. */
/** VDI: Invalid image file header: invalid version. */
/** Comment string is too long. */
/** VMDK: Invalid image file header. */
/** VMDK: Invalid image file header: invalid version. */
/** VMDK: Image property not found. */
/** VMDK: Operation can't be done in current image state. */
/** VMDK: Format is invalid/inconsistent. */
/** VMDK: Invalid write position. */
/** iSCSI: Invalid header, i.e. dummy for validity check. */
/** iSCSI: Operation can't be done in current image state. */
/** iSCSI: Invalid device type (not a disk). */
/** iSCSI: Initiator secret not decrypted */
/** VHD: Invalid image file header. */
/** Parallels HDD: Invalid image file header. */
/** DMG: Invalid image file header. */
/** Raw: Invalid image file header. */
/** Raw: Invalid image file type. */
/** The backend needs more metadata before it can continue. */
/** Halt the current I/O context until further notification from the backend. */
/** The disk has a cache attached already. */
/** There is no cache attached to the disk. */
/** The cache is not up to date with the image. */
/** The given range does not meet the required alignment. */
/** The discard operation is not supported for this image. */
/** The image is the correct format but is corrupted. */
/** Repairing the image is not supported. */
/** Repairing the image is not possible because the corruption is to severe. */
/** Reading from the image was not possible because the offset is out of the image range.
* This usually indicates that there is a minor corruption in the image meta data. */
/** Block read was marked as free in the image and returned as a zero block. */
/** Unable to parse the XML in DMG file. */
/** Unable to locate a usable DMG file within the XAR archive. */
/** @} */
/** @name VBox Guest Library (VBGL) Status Codes
* @{
*/
/** Library was not initialized. */
/** Virtual address was not allocated by the library. */
/** IOCtl to VBoxGuest driver failed. */
/** @} */
/** @name VBox USB (VUSB) Status Codes
* @{
*/
/** No available ports on the hub.
* to a hub which is out of ports. */
/** The requested operation cannot be performed on a detached USB device. */
/** Failed to allocate memory for a URB. */
/** General failure during URB queuing.
* This will go away when the queueing gets proper status code handling. */
/** Device creation failed because the USB device name was not found. */
/** Not permitted to open the USB device.
* The user doesn't have access to the device in the usbfs, check the mount options. */
/** The requested operation cannot be performed because the device
* is currently being reset. */
/** The requested operation cannot be performed because the device
* is currently suspended. */
/** Not permitted to open the USB device.
* The user doesn't have access to the device node, check group memberships. */
/** @} */
/** @name VBox VGA Status Codes
* @{
*/
/** One of the custom modes was incorrect.
* The format or bit count of the custom mode value is invalid. */
/** The display connector is resizing. */
/** @} */
/** @name Internal Networking Status Codes
* @{
*/
/** The networking interface to filter was not found. */
/** The networking interface to filter was busy (used by someone). */
/** Failed to create or connect to a networking interface filter. */
/** The network already exists with a different trunk configuration. */
/** The network already exists with a different security profile (restricted / public). */
/** Failed to create a virtual network interface instance. */
/** Failed to retrieve a virtual network interface link ID. */
/** Failed to initialize a virtual network interface instance. */
/** Failed to open a virtual network interface instance. */
/** Failed to retrieve underlying (lower mac) link. */
/** Failed to open underlying link instance. */
/** Failed to get underlying link ID. */
/** @} */
/** @name Support Driver Status Codes
* @{
*/
/** The component factory was not found. */
/** The component factories do not support the requested interface. */
/** The service module was not found. */
/** The host kernel is too old. */
/** Bad VTG magic value. */
/** Bad VTG bit count value. */
/** Bad VTG header - misc. */
/** Bad VTG header - offset. */
/** Bad VTG header - offset. */
/** Bad VTG header - to low value. */
/** Bad VTG header - to high value. */
/** Bad VTG header - size value is not a multiple of the structure size. */
/** Bad VTG string table offset. */
/** Bad VTG string. */
/** VTG string is too long. */
/** Bad VTG attribute value. */
/** Bad VTG provider descriptor. */
/** Bad VTG probe descriptor. */
/** Bad VTG argument list descriptor. */
/** Bad VTG probe enabled data. */
/** Bad VTG probe location record. */
/** The VTG object for the session or image has already been registered. */
/** A driver may only register one VTG object per session. */
/** A tracer has already been registered. */
/** The session has no tracer associated with it. */
/** The tracer has already been opened in this sesssion. */
/** The tracer has not been opened. */
/** There is no tracer present. */
/** The tracer is unloading. */
/** Another thread in the session is talking to the tracer. */
/** The tracer cannot open it self in the same session. */
/** Bad argument flags. */
/** The session has reached the max number of (user mode) providers. */
/** The tracepoint provider object is too large. */
/** The probe location array isn't adjacent to the probe enable array. */
/** The user mode tracepoint provider has too many probe locations and
* probes. */
/** The user mode tracepoint provider string table is too large. */
/** The user mode tracepoint provider string table offset is bad. */
/** The VM process was denied access to vboxdrv because someone have managed to
* open the process or its main thread with too broad access rights. */
/** Error opening the ApiPort LPC object. */
/** Error enumerating all processes in the session. */
/** The CSRSS instance associated with the client process could not be
* located. */
/** Type error opening the ApiPort LPC object. */
/** Failed to measure the TSC delta between two CPUs. */
/** Failed to calculate the TSC frequency. */
/** Failed to get the delta-adjusted TSC value. */
/** Failed to measure the TSC delta between two CPUs, continue without any
* TSC-delta. */
/** A TSC-delta measurement request is currently being serviced. */
/** @} */
/** @name Support Library Status Codes
* @{
*/
/** The specified path was not absolute (hardening). */
/** The specified path was not clean (hardening). */
/** The specified path is too long (hardening). */
/** The specified path is too short (hardening). */
/** The specified path has too many components (hardening). */
/** The specified path is a root path (hardening). */
/** Failed to enumerate directory (hardening). */
/** Failed to fstat a native handle (hardening). */
/** Found an illegal symbolic link (hardening). */
/** Found something which isn't a file nor a directory (hardening). */
/** The specified path is a directory and not a file (hardening). */
/** The specified path is a file and not a directory (hardening). */
/** The path is not the same object as the native handle (hardening). */
/** The owner is not root (hardening). */
/** The group is a non-system group and it has write access (hardening). */
/** The file or directory is world writable (hardening). */
/** The argv[0] of an internal application does not match the executable image
* path (hardening). */
/** The internal application does not reside in the correct place (hardening). */
/** Unable to establish trusted of VM process (0). */
/** Unable to establish trusted of VM process (1). */
/** Unable to establish trusted of VM process (2). */
/** Unable to establish trusted of VM process (3). */
/** Unable to establish trusted of VM process (4). */
/** Unable to establish trusted of VM process (5). */
/** @} */
/** @name VBox GMM Status Codes
* @{
*/
/** The GMM is out of pages and needs to be give another chunk of user memory that
* it can lock down and borrow pages from. */
/** Unable to allocate more pages from the host system. */
/** Hit the global allocation limit.
* If you know there is still sufficient memory available, try raising the limit. */
/** Hit the a VM account limit. */
/** Attempt to free more memory than what was previously allocated. */
/** Attempted to report too many pages as deflated. */
/** The page to be freed or updated was not found. */
/** The specified shared page was not actually private. */
/** The specified shared page was not actually shared. */
/** The page to be freed was already freed. */
/** The page to be updated or freed was noted owned by the caller. */
/** The specified chunk was not found. */
/** The chunk has already been mapped into the process. */
/** The chunk to be unmapped isn't actually mapped into the process. */
/** The chunk has been mapped too many times already (impossible). */
/** The reservation or reservation update was declined - too many VMs, too
/** A GMM sanity check failed. */
/** Inserting a new chunk failed. */
/** Failed to obtain the GMM instance. */
/** Bad mutex semaphore flags. */
/** Internal processing error in the page allocator. */
/** Invalid page count given to GMMR3FreePagesPerform. */
/** The shared module name is too long. */
/** The shared module version string is too long. */
/** The shared module has too many regions. */
/** The guest has reported too many modules. */
/** The guest has reported too many modules. */
/** The shared module is already registered. */
/** The shared module clashed address wise with a previously registered
* module. */
/** The shared module was not found. */
/** The size of the shared module was out of range. */
/** The size of the one or more regions in the shared module was out of
* range. */
/** @} */
/** @name VBox GVM Status Codes
* @{
*/
/** The GVM is out of VM handle space. */
/** The EMT was not blocked at the time of the call. */
/** The EMT was not busy running guest code at the time of the call. */
/** RTThreadYield was called during a GVMMR0SchedPoll call. */
/** @} */
/** @name VBox VMX Status Codes
* @{
*/
/** VMXON failed; possibly because it was already run before. */
/** Invalid VMCS pointer.
* (Can be OR'ed with VERR_VMX_INVALID_VMCS_FIELD.) */
/** Invalid VMCS index or write to read-only element. */
/** Reserved for future status code that we wish to OR with
* VERR_VMX_INVALID_VMCS_PTR and VERR_VMX_INVALID_VMCS_FIELD. */
/** Invalid VMXON pointer. */
/** Unable to start VM execution. */
/** Unable to switch due to invalid host state. */
/** IA32_FEATURE_CONTROL MSR not setup correcty (turn on VMX in the host system BIOS) */
/** Invalid CPU mode for VMX execution. */
/** VMX CPU extension not available */
/** CPU was incorrectly left in VMX root mode; incompatible with VirtualBox */
/** Somebody cleared X86_CR4_VMXE in the CR4 register. */
/** Failed to enable and lock VT-x features. */
/** Unable to switch due to invalid guest state. */
/** Unexpected VM exit. */
/** Unexpected VM exception. */
/** Unexpected interruption exit type. */
/** CPU is not in VMX root mode; unexpected when leaving VMX root mode. */
/** Undefined VM exit code. */
/** VMPTRLD failed; possibly because of invalid VMCS launch-state. */
/** Internal VMX processing error no 1. */
/** Internal VMX processing error no 2. */
/** Internal VMX processing error no 3. */
/** Internal VMX processing error no 4. */
/** Internal VMX processing error no 5. */
/** VT-x features for all modes (SMX and non-SMX) disabled by the BIOS. */
/** VT-x features disabled by the BIOS. */
/** VM-Entry Controls internal cache invalid. */
/** VM-Exit Controls internal cache invalid. */
/** VM-Execution Pin-based Controls internal cache invalid. */
/** VM-Execution Primary Processor-based Controls internal cache
* invalid. */
/** VM-Execution Secondary Processor-based Controls internal
* cache invalid. */
/** @} */
/** @name VBox SVM Status Codes
* @{
*/
/** Unable to start VM execution. */
/** AMD-V bit not set in K6_EFER MSR */
/** AMD-V CPU extension not available. */
/** AMD-V CPU extension disabled (by BIOS). */
/** AMD-V CPU extension in-use. */
/** Invalid pVMCB. */
/** Unexpected SVM exit. */
/** Unexpected SVM exception exit. */
/** Unexpected SVM patch type. */
/** Unable to start VM execution due to an invalid guest state. */
/** Unknown or unrecognized SVM exit. */
/** @} */
/** @name VBox HM Status Codes
* @{
*/
/** Unable to start VM execution. */
/** No CPUID support. */
/** Host is about to go into suspend mode. */
/** Conflicting CFGM values. */
/** Internal processing error in the HM init code. */
/** No 32-bit to 64-bit switcher in place. */
/** HMR0Leave was called on the wrong CPU. */
/** Internal processing error \#1 in the HM code. */
/** Internal processing error \#2 in the HM code. */
/** Wrong 32/64-bit switcher. */
/** Unknown I/O instruction. */
/** Unsupported CPU feature combination. */
/** Internal processing error \#3 in the HM code. */
/** Internal processing error \#4 in the HM code. */
/** Internal processing error \#5 in the HM code. */
/** Invalid HM64ON32OP value. */
/** Resume guest execution after injecting a double-fault. */
/** @} */
/** @name VBox Disassembler Status Codes
* @{
*/
/** Invalid opcode byte(s) */
/** Generic failure during disassembly. */
/** No read callback. */
/** Invalid parameter index. */
/** The instruction is too long. */
/** @} */
/** @name VBox Webservice Status Codes
* @{
*/
/** Authentication failed (ISessionManager::logon()) */
/** Invalid format of managed object reference */
/** Invalid session ID in managed object reference */
/** Invalid object ID in managed object reference */
/** Unsupported interface for managed object reference */
/** @} */
/** @name VBox PARAV Status Codes
* @{
*/
/** Switch back to host */
/** @} */
/** @name VBox Video HW Acceleration command status
* @{
*/
/** command processing is pending, a completion handler will be called */
/** @} */
/** @name VBox COM error codes
*
* @remarks Global::vboxStatusCodeToCOM and Global::vboxStatusCodeFromCOM uses
* these for conversion that is lossless with respect to important COM
* status codes. These methods should be moved to the glue library.
* @{ */
/** Unexpected turn of events. */
/** The base of the VirtualBox COM status codes (the lower value)
* corresponding 1:1 to VBOX_E_XXX. This is the lowest value. */
/** Object corresponding to the supplied arguments does not exist. */
/** Current virtual machine state prevents the operation. */
/** Virtual machine error occurred attempting the operation. */
/** File not accessible or erroneous file contents. */
/** IPRT error. */
/** Pluggable Device Manager error. */
/** Current object state prohibits operation. */
/** Host operating system related error. */
/** Requested operation is not supported. */
/** Invalid XML found. */
/** Current session state prohibits operation. */
/** Object being in use prohibits operation. */
/** Returned by callback methods which does not need to be called
* again because the client does not actually make use of them. */
/** @} */
/** @name VBox VMMDev Status codes
* @{
*/
/** CPU hotplug events from VMMDev are not monitored by the guest. */
/** @} */
/** @name VBox async I/O manager Status Codes
* @{
*/
/** Async I/O task is pending, a completion handler will be called. */
/** @} */
/** @name VBox Virtual SCSI Status Codes
* @{
*/
/** LUN type is not supported. */
/** The specified LUN is invalid. */
/** The LUN is not attached to the device. */
/** The LUN is still busy. */
/** @} */
/** @name VBox FAM Status Codes
* @{
*/
/** FAM failed to open a connection. */
/** FAM failed to add a file to the list to be monitored. */
/** FAM failed to add a directory to the list to be monitored. */
/** The connection to the FAM daemon was lost. */
/** @} */
/** @name PCI Passtrhough Status Codes
* @{
*/
/** RamPreAlloc not set.
* RAM pre-allocation is currently a requirement for PCI passthrough. */
/** Nested paging not active.
* PCI passthrough currently works only if nested paging is active. */
/** @} */
/** @name GVMM Status Codes
* @{
*/
/** Internal error obtaining the GVMM instance. */
/** GVMM ran into some broken IPRT code. */
/** Internal processing error \#1 in the GVMM code. */
/** Internal processing error \#2 in the GVMM code. */
/** @} */
/** @name IEM Status Codes
* @{ */
/** The instruction is not yet implemented by IEM. */
/** Invalid operand size passed to an IEM function. */
/** Invalid address mode passed to an IEM function. */
/** Invalid effective segment register number passed to an IEM function. */
/** Invalid instruction length passed to an IEM function. */
/** Internal status code for indicating that a selector isn't valid (LAR, LSL,
* VERR, VERW). This is not used outside the instruction implementations. */
/** This particular aspect of the instruction is not yet implemented by IEM. */
/** Internal processing error \#1 in the IEM code.. */
/** Internal processing error \#2 in the IEM code.. */
/** Internal processing error \#3 in the IEM code.. */
/** Restart the current instruction. For testing only. */
/** @} */
/** @name DBGC Status Codes
* @{ */
/** Status that causes DBGC to quit. */
/** Async command pending. */
/** The command has already been registered. */
/** The command cannot be deregistered because has not been registered. */
/** Unknown breakpoint. */
/** The breakpoint already exists. */
/** The breakpoint has no command. */
/** Generic debugger command failure. */
/** Logic bug in the DBGC code.. */
/** The lowest parse status code. */
/** Syntax error - too few arguments. */
/** Syntax error - too many arguments. */
/** Syntax error - too many arguments for static storage. */
/** Syntax error - expected binary operator. */
/** Syntax error - the argument does not allow a range to be specified. */
/** Syntax error - unbalanced quotes. */
/** Syntax error - unbalanced parenthesis. */
/** Syntax error - an argument or subargument contains nothing useful. */
/** Syntax error - invalid operator usage. */
/** Syntax error - invalid numeric value. */
/** Syntax error - numeric overflow. */
/** Syntax error - invalid operation attempted. */
/** Syntax error - function not found. */
/** Syntax error - the specified function is not a function. */
/** Syntax error - out of scratch memory. */
/** Syntax error - out of regular heap memory. */
/** Syntax error - incorrect argument type. */
/** Syntax error - an undefined variable was referenced. */
/** Syntax error - a type conversion failed. */
/** Syntax error - you hit a debugger feature which isn't implemented yet.
* (Feel free to help implement it.) */
/** Syntax error - Couldn't staisfy a request for a sepcific result type. */
/** Syntax error - Cannot read symbol value, it is a set-only symbol. */
/** Syntax error - Invalid command name. */
/** Syntax error - Command not found. */
/** Syntax error - buggy parser. */
/** @} */
* @{ */
/** Process Verficiation Failure: The memory content does not match the image
* file. */
/** Process Verficiation Failure: The memory protection of a image file section
* does not match what the section header prescribes. */
/** Process Verficiation Failure: One of the section in the image file is not
* mapped into memory. */
/** Process Verficiation Failure: One of the section in the image file is not
* fully mapped into memory. */
/** Process Verficiation Failure: Bad file alignment value in image header. */
/** Process Verficiation Failure: Bad image base in header. */
/** Process Verficiation Failure: Bad image signature. */
/** Process Verficiation Failure: Bad image size. */
/** Process Verficiation Failure: Bad new-header offset in the MZ header. */
/** Process Verficiation Failure: Bad optional header field. */
/** Process Verficiation Failure: Bad section alignment value in image
* header. */
/** Process Verficiation Failure: Bad section raw data size. */
/** Process Verficiation Failure: Bad virtual section address. */
/** Process Verficiation Failure: Bad virtual section size. */
/** Process Verficiation Failure: Bad size of image header. */
/** Process Verficiation Failure: The process is being debugged. */
/** Process Verficiation Failure: A DLL was found more than once. */
/** Process Verficiation Failure: Image section region is too large. */
/** Process Verficiation Failure: Exectuable file name and process image name
* does not match up. */
/** Process Verficiation Failure: Found executable memory allocated in the
* process. There is only supposed be executable memory associated with
* image file mappings (DLLs & EXE). */
/** Process Verficiation Failure: There is more than one known executable mapped
* into the process. */
/** Process Verficiation Failure: Error closing image file handle. */
/** Process Verficiation Failure: Error opening image file. */
/** Process Verficiation Failure: Error reading image file header. */
/** Process Verficiation Failure: Image mapping is bogus as the first region
* has different AllocationBase and BaseAddress values, indicating that a
* section was unmapped or otherwise tampered with. */
/** Process Verficiation Failure: Error reading process memory for comparing
* with disk data. */
/** Process Verficiation Failure: Found no executable mapped into the process
* address space. */
/** Process Verficiation Failure: An image mapping failed to report a name. */
/** Process Verficiation Failure: No KERNE32.DLL mapping found. This is
* impossible. */
/** Process Verficiation Failure: Error allocating memory. */
/** Process Verficiation Failure: Erorr allocating state memory or querying
* the system32 path. */
/** Process Verficiation Failure: No NTDLL.DLL mapping found. This is
* impossible. */
/** Process Verficiation Failure: A DLL residing outside System32 was found
* in the process. */
/** Process Verficiation Failure: An unknown and unwanted DLL was found loaded
* into the process. */
/** Process Verficiation Failure: The name of an image file changes between
* mapping regions. */
/** Process Verficiation Failure: Error querying process name. */
/** Process Verficiation Failure: Error querying thread information. */
/** Process Verficiation Failure: Error query virtual memory information. */
/** Process Verficiation Failure: Error query virtual memory mapping name. */
/** Process Verficiation Failure: Error determining the full path of
* System32. */
/** Process Verficiation Failure: The process has more than one thread. */
/** Process Verficiation Failure: The image mapping is too large (>= 2GB). */
/** Process Verficiation Failure: The memory region is too large (>= 2GB). */
/** Process Verficiation Failure: There are too many DLLs loaded. */
/** Process Verficiation Failure: An image has too many regions. */
/** Process Verficiation Failure: The process has too many virtual memory
* regions. */
/** Process Verficiation Failure: An image has too many sections. */
/** Process Verficiation Failure: An image is targeting an unexpected
/** Process Verficiation Failure: Unexpected section protection flag
* combination. */
/** Process Verficiation Failure: Expected the process and exe to have forced
* integrity checking enabled (verifying signatures). */
/** Process Verficiation Failure: Expected the process and exe to have dynamic
* base enabled. */
/** Process Verficiation Failure: Expected the process and exe to advertise
* NX compatibility. */
/** Process Verficiation Failure: The DllCharacteristics of the process
* does not match the value in the optional header in the exe file. */
/** Process Verficiation Failure: The ImageCharacteristics of the process
* does not match the value in the file header in the exe file. */
/** Process Verficiation Failure: Error querying image information. */
/** Process Verficiation Failure: Error querying debug port. */
/** WinVerifyTrust failed with an unexpected status code when using the
* catalog-file approach. */
/** The image is required to be signed with the same certificate as the rest
* of VirtualBox. */
/** Internal processing error: Not build certificate. */
/** The image requires to be signed using the kernel-code signing process. */
/** Unexpected number of valid paths. */
/** The image is required to force integrity checks. */
/** Process Verficiation Failure: Symantec Endpoint Protection must be
* disabled for the VirtualBox VM processes.
/** Process Purification Failure: KERNE32.DLL already mapped into the initial
* process (suspended). */
/** Process Purification Failure: NtFreeVirtualMemory failed on a chunk of
* executable memory which shouldn't be present in the process. */
/** Process Purification Failure: Both NtUnmapViewOfSetion and
* NtProtectVirtualMemory failed to get rid of or passify an non-image
* exectuable mapping. */
/** Process Purification Failure: Unknown memory type of executable memory. */
/** The image file is not owned by TrustedInstaller is it should be. */
/** The image is outside the expected range. */
/** Stub process not found so it cannot be revalidated when vboxdrv is opened
* by the VM process. */
/** Error openeing the stub process for revalidation when vboxdrv is opened by
* the VM process. */
/** Stub process thread not found during revalidation upon vboxdrv opening by
* the VM process. */
/** Error opening the stub process thread for revalidation when vboxdrv is
* opened by the VM process. */
/** Process Purification Failure: NtAllocateVirtualMemory failed to get us
* suitable replacement memory for a chunk of executable memory that
* shouldn't be present in our process. (You will only see this message if you
* got potentially fatally buggy anti-virus software installed.) */
/** Error getting the file mode. */
/** Error creating an event semaphore for used with asynchronous reads. */
/** @} */
/** @name VBox Extension Pack Status Codes
* @{
*/
/** The host is not supported. Uninstall the extension pack.
* Returned by the VBOXEXTPACKREG::pfnInstalled. */
/** The VirtualBox version is not supported by one of the extension packs.
*
* You have probably upgraded VirtualBox recently. Please upgrade the
* extension packs to versions compatible with this VirtualBox release.
*/
/** @} */
/** @name VBox Guest Control Status Codes
* @{
*/
/** Guest side reported an error. */
/** A guest control object has changed its overall status. */
/** @} */
/** @name GIM Status Codes
* @{
*/
/** No GIM provider is configured for this VM. */
/** GIM internal processing error \#1. */
/** GIM internal processing error \#2. */
/** GIM internal processing error \#3. */
/** The GIM provider does not support any paravirtualized TSC. */
/** The guest has not setup use of the paravirtualized TSC. */
/** Unknown or invalid GIM provider. */
/** GIM generic operation failed. */
/** The GIM provider does not support any hypercalls. */
/** The guest has not setup use of the hypercalls. */
/** The GIM device is not registered with GIM when it ought to be. */
/** Hypercall cannot be enabled/performed due to access/permissions/CPL. */
/** @} */
/** @name Main API Status Codes
* @{
*/
/** The configuration constructor in main failed due to a COM error. Check
* the release log of the VM for further details. */
/** The configuration constructor in main failed due to an internal consistency
* error. Consult the release log of the VM for further details. */
/** @} */
/* SED-END */
/** @} */
#endif