VirtualBox

source: vbox/trunk/include/VBox/err.h@ 104840

Last change on this file since 104840 was 104840, checked in by vboxsync, 3 months ago

VMM/PGM: Refactored RAM ranges, MMIO2 ranges and ROM ranges and added MMIO ranges (to PGM) so we can safely access RAM ranges at runtime w/o fear of them ever being freed up. It is now only possible to create these during VM creation and loading, and they will live till VM destruction (except for MMIO2 which could be destroyed during loading (PCNet fun)). The lookup handling is by table instead of pointer tree. No more ring-0 pointers in shared data. bugref:10687 bugref:10093

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 160.8 KB
Line 
1/** @file
2 * VirtualBox Status Codes.
3 */
4
5/*
6 * Copyright (C) 2006-2023 Oracle and/or its affiliates.
7 *
8 * This file is part of VirtualBox base platform packages, as
9 * available from https://www.virtualbox.org.
10 *
11 * This program is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License
13 * as published by the Free Software Foundation, in version 3 of the
14 * License.
15 *
16 * This program is distributed in the hope that it will be useful, but
17 * WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 * General Public License for more details.
20 *
21 * You should have received a copy of the GNU General Public License
22 * along with this program; if not, see <https://www.gnu.org/licenses>.
23 *
24 * The contents of this file may alternatively be used under the terms
25 * of the Common Development and Distribution License Version 1.0
26 * (CDDL), a copy of it is provided in the "COPYING.CDDL" file included
27 * in the VirtualBox distribution, in which case the provisions of the
28 * CDDL are applicable instead of those of the GPL.
29 *
30 * You may elect to license modified versions of this file under the
31 * terms and conditions of either the GPL or the CDDL or both.
32 *
33 * SPDX-License-Identifier: GPL-3.0-only OR CDDL-1.0
34 */
35
36#ifndef VBOX_INCLUDED_err_h
37#define VBOX_INCLUDED_err_h
38#ifndef RT_WITHOUT_PRAGMA_ONCE
39# pragma once
40#endif
41
42#include <VBox/cdefs.h>
43#include <iprt/err.h>
44
45
46/** @defgroup grp_err VBox Error Codes
47 * @{
48 */
49
50/* SED-START */
51
52/** @name Misc. Status Codes
53 * @{
54 */
55/** Failed to allocate VM memory. */
56#define VERR_NO_VM_MEMORY (-1000)
57/** RC is toasted and the VMM should be terminated at once, but no need to
58 * panic about it :-) */
59#define VERR_DONT_PANIC (-1001)
60/** Unsupported CPU. */
61#define VERR_UNSUPPORTED_CPU (-1002)
62/** Unsupported CPU mode. */
63#define VERR_UNSUPPORTED_CPU_MODE (-1003)
64/** Page not present. */
65#define VERR_PAGE_NOT_PRESENT (-1004)
66/** Invalid/Corrupted configuration file. */
67#define VERR_CFG_INVALID_FORMAT (-1005)
68/** No configuration value exists. */
69#define VERR_CFG_NO_VALUE (-1006)
70/** Selector not present. */
71#define VERR_SELECTOR_NOT_PRESENT (-1007)
72/** Not code selector. */
73#define VERR_NOT_CODE_SELECTOR (-1008)
74/** Not data selector. */
75#define VERR_NOT_DATA_SELECTOR (-1009)
76/** Out of selector bounds. */
77#define VERR_OUT_OF_SELECTOR_BOUNDS (-1010)
78/** Invalid selector. Usually beyond table limits. */
79#define VERR_INVALID_SELECTOR (-1011)
80/** Invalid requested privilege level. */
81#define VERR_INVALID_RPL (-1012)
82/** PML4 entry not present. */
83#define VERR_PAGE_MAP_LEVEL4_NOT_PRESENT (-1013)
84/** Page directory pointer not present. */
85#define VERR_PAGE_DIRECTORY_PTR_NOT_PRESENT (-1014)
86/** Raw mode doesn't support SMP. */
87#define VERR_RAW_MODE_INVALID_SMP (-1015)
88/** Invalid VM handle. */
89#define VERR_INVALID_VM_HANDLE (-1016)
90/** Invalid VM handle. */
91#define VERR_INVALID_VMCPU_HANDLE (-1017)
92/** Invalid Virtual CPU ID. */
93#define VERR_INVALID_CPU_ID (-1018)
94/** Too many VCPUs. */
95#define VERR_TOO_MANY_CPUS (-1019)
96/** The service was disabled on the host.
97 * Returned by pfnInit in VBoxService to indicated a non-fatal error that
98 * should results in the particular service being disabled. */
99#define VERR_SERVICE_DISABLED (-1020)
100/** The requested feature is not supported in raw-mode. */
101#define VERR_NOT_SUP_IN_RAW_MODE (-1021)
102/** Invalid CPU index. */
103#define VERR_INVALID_CPU_INDEX (-1022)
104/** This VirtualBox build does not support raw-mode. */
105#define VERR_RAW_MODE_NOT_SUPPORTED (-1023)
106/** Essential fields in the shared VM structure doesn't match the global one. */
107#define VERR_INCONSISTENT_VM_HANDLE (-1024)
108/** The VM has been restored. */
109#define VERR_VM_RESTORED (-1025)
110/** The requested feature is not supported by NEM. */
111#define VERR_NOT_SUP_BY_NEM (-1026)
112/** @} */
113
114
115/** @name Execution Monitor/Manager (EM) Status Codes
116 *
117 * The order of the status codes between VINF_EM_FIRST and VINF_EM_LAST
118 * are of vital importance. The lower the number the higher importance
119 * as a scheduling instruction.
120 * @{
121 */
122/** First scheduling related status code. */
123#define VINF_EM_FIRST 1100
124/** Indicating that the VM is being terminated and that the execution
125 * shall stop. */
126#define VINF_EM_TERMINATE 1100
127/** Hypervisor code was stepped.
128 * EM will first send this to the debugger, and if the issue isn't
129 * resolved there it will enter guru meditation. */
130#define VINF_EM_DBG_HYPER_STEPPED 1101
131/** Hit a breakpoint in the hypervisor code,
132 * EM will first send this to the debugger, and if the issue isn't
133 * resolved there it will enter guru meditation. */
134#define VINF_EM_DBG_HYPER_BREAKPOINT 1102
135/** Hit a possible assertion in the hypervisor code,
136 * EM will first send this to the debugger, and if the issue isn't
137 * resolved there it will enter guru meditation. */
138#define VINF_EM_DBG_HYPER_ASSERTION 1103
139/** Generic debug event, suspend the VM for debugging. */
140#define VINF_EM_DBG_EVENT 1104
141/** Indicating that the VM should be suspended for debugging because
142 * the developer wants to inspect the VM state. */
143#define VINF_EM_DBG_STOP 1105
144/** Indicating success single stepping and that EM should report that
145 * event to the debugger. */
146#define VINF_EM_DBG_STEPPED 1106
147/** Indicating that a breakpoint was hit and that EM should notify the debugger
148 * and in the event there is no debugger fail fatally. */
149#define VINF_EM_DBG_BREAKPOINT 1107
150/** Indicating that EM should single step an instruction.
151 * The instruction is stepped in the current execution mode (RAW/REM). */
152#define VINF_EM_DBG_STEP 1108
153/** Indicating that the VM is being turned off and that the EM should
154 * exit to the VM awaiting the destruction request. */
155#define VINF_EM_OFF 1109
156/** Indicating that the VM has been suspended and that the thread
157 * should wait for request telling it what to do next. */
158#define VINF_EM_SUSPEND 1110
159/** Indicating that the VM has been reset and that scheduling goes
160 * back to startup defaults. */
161#define VINF_EM_RESET 1111
162/** Indicating that the VM has executed a halt instruction and that
163 * the emulation thread should wait for an interrupt before resuming
164 * execution. */
165#define VINF_EM_HALT 1112
166/** Indicating that the VM has been resumed and that the thread should
167 * start executing. */
168#define VINF_EM_RESUME 1113
169/** Indicating that we've got an out-of-memory condition and that we need
170 * to take the appropriate actions to deal with this.
171 * @remarks It might seem odd at first that this has lower priority than VINF_EM_HALT,
172 * VINF_EM_SUSPEND, and VINF_EM_RESUME. The reason is that these events are
173 * vital to correctly operating the VM. Also, they can't normally occur together
174 * with an out-of-memory condition, and even if that should happen the condition
175 * will be rediscovered before executing any more code. */
176#define VINF_EM_NO_MEMORY 1114
177/** The fatal variant of VINF_EM_NO_MEMORY. */
178#define VERR_EM_NO_MEMORY (-1114)
179/** Indicating that we should reschedule to recompiled execution.
180 * Typically caused by the main execution engine not being capable of executing
181 * code in the current CPU state, or would be doing it too slowly, and we must
182 * fall back to recompiled execution.
183 * @remarks Important to have a higher priority (lower number) than the other rescheduling status codes. */
184#define VINF_EM_RESCHEDULE_REM 1115
185/** Indicating that we should reschedule to the main execution engine.
186 * Mainly triggered in recompiled execution mode to switch back to the main
187 * execution engine when the CPU state is compatible with it again (or we're
188 * past the expensive portion of code that is deemed faster to recompile). */
189#define VINF_EM_RESCHEDULE_EXEC_ENGINE 1116
190/* VINF_EM_RESCHEDULE_RAW was 1117 */
191/** Indicating that a rescheduling now is required. Typically caused by
192 * interrupts having changed the EIP. */
193#define VINF_EM_RESCHEDULE 1118
194/* VINF_EM_RESCHEDULE_PARAV was 1119 */
195/** Go back into wait for SIPI mode */
196#define VINF_EM_WAIT_SIPI 1120
197/** Last scheduling related status code. (inclusive) */
198#define VINF_EM_LAST 1120
199
200/** Reason for leaving RC: Guest trap which couldn't be handled in RC.
201 * The trap is generally forwarded to the REM and executed there. */
202#define VINF_EM_RAW_GUEST_TRAP 1121
203/** Reason for leaving RC: Interrupted by external interrupt.
204 * The interrupt needed to be handled by the host OS. */
205#define VINF_EM_RAW_INTERRUPT 1122
206/** Reason for leaving RC: Interrupted by external interrupt while in hypervisor
207 * code. The interrupt needed to be handled by the host OS and hypervisor
208 * execution must be resumed. VM state is not complete at this point. */
209#define VINF_EM_RAW_INTERRUPT_HYPER 1123
210/** Reason for leaving RC: A Ring switch was attempted.
211 * Normal cause of action is to execute this in REM. */
212#define VINF_EM_RAW_RING_SWITCH 1124
213/** Reason for leaving RC: A Ring switch was attempted using software interrupt.
214 * Normal cause of action is to execute this in REM. */
215#define VINF_EM_RAW_RING_SWITCH_INT 1125
216/** Reason for leaving RC: A privileged instruction was attempted executed.
217 * Normal cause of action is to execute this in REM. */
218#define VINF_EM_RAW_EXCEPTION_PRIVILEGED 1126
219
220/** Reason for leaving RZ: Emulate instruction. */
221#define VINF_EM_RAW_EMULATE_INSTR 1127
222/** Reason for leaving RC: Unhandled TSS write.
223 * Recompiler gets control. */
224#define VINF_EM_RAW_EMULATE_INSTR_TSS_FAULT 1128
225/** Reason for leaving RC: Unhandled LDT write.
226 * Recompiler gets control. */
227#define VINF_EM_RAW_EMULATE_INSTR_LDT_FAULT 1129
228/** Reason for leaving RC: Unhandled IDT write.
229 * Recompiler gets control. */
230#define VINF_EM_RAW_EMULATE_INSTR_IDT_FAULT 1130
231/** Reason for leaving RC: Partly handled GDT write.
232 * Recompiler gets control. */
233#define VINF_EM_RAW_EMULATE_INSTR_GDT_FAULT 1131
234/** Reason for leaving RC: jump inside generated patch jump.
235 * Fatal error. */
236#define VERR_EM_RAW_PATCH_CONFLICT (-1133)
237/** Reason for leaving RZ: Ring-3 operation pending. */
238#define VINF_EM_RAW_TO_R3 1135
239/** Reason for leaving RZ: Timer pending. */
240#define VINF_EM_RAW_TIMER_PENDING 1136
241/** Reason for leaving RC: Interrupt pending (guest). */
242#define VINF_EM_RAW_INTERRUPT_PENDING 1137
243/** Reason for leaving RC: Encountered a stale selector. */
244#define VINF_EM_RAW_STALE_SELECTOR 1138
245/** Reason for leaving RC: The IRET resuming guest code trapped. */
246#define VINF_EM_RAW_IRET_TRAP 1139
247/** The interpreter was unable to deal with the instruction at hand. */
248#define VERR_EM_INTERPRETER (-1148)
249/** Internal EM error caused by an unknown warning or informational status code. */
250#define VERR_EM_INTERNAL_ERROR (-1149)
251/** Pending VM request packet. */
252#define VINF_EM_PENDING_REQUEST 1150
253/** Start instruction stepping (debug only). */
254#define VINF_EM_RAW_EMULATE_DBG_STEP 1151
255/** Patch TPR access instruction. */
256#define VINF_EM_HM_PATCH_TPR_INSTR 1152
257/** Unexpected guest mapping conflict detected. */
258#define VERR_EM_UNEXPECTED_MAPPING_CONFLICT (-1154)
259/** Reason for leaving RC: A triple-fault condition. Currently, causes
260 * a guru meditation. */
261#define VINF_EM_TRIPLE_FAULT 1155
262/** The specified execution engine cannot execute guest code in the current
263 * state. */
264#define VERR_EM_CANNOT_EXEC_GUEST (-1156)
265/** Reason for leaving RC: Inject a TRPM event. */
266#define VINF_EM_RAW_INJECT_TRPM_EVENT 1157
267/** Guest tried to trigger a CPU hang. The guest is probably up to no good. */
268#define VERR_EM_GUEST_CPU_HANG (-1158)
269/** Reason for leaving RZ: Pending ring-3 IN instruction. */
270#define VINF_EM_PENDING_R3_IOPORT_READ 1159
271/** Reason for leaving RZ: Pending ring-3 OUT instruction. */
272#define VINF_EM_PENDING_R3_IOPORT_WRITE 1160
273/** Trick for resuming EMHistoryExec after a VMCPU_FF_IOM is handled. */
274#define VINF_EM_RESUME_R3_HISTORY_EXEC 1161
275/** Emulate split-lock access on SMP.
276 * This is also used for dealing with locked alignment conflicts with the host
277 * in general from IEM. */
278#define VINF_EM_EMULATE_SPLIT_LOCK 1162
279/** @} */
280
281
282/** @name Debugging Facility (DBGF) DBGF Status Codes
283 * @{
284 */
285/** The function called requires the caller to be attached as a
286 * debugger to the VM. */
287#define VERR_DBGF_NOT_ATTACHED (-1200)
288/** Someone (including the caller) was already attached as
289 * debugger to the VM. */
290#define VERR_DBGF_ALREADY_ATTACHED (-1201)
291/** Tried to halt a VM or CPU that was already halted. */
292#define VWRN_DBGF_ALREADY_HALTED 1202
293/** The DBGF has no more free breakpoint slots. */
294#define VERR_DBGF_NO_MORE_BP_SLOTS (-1203)
295/** The DBGF couldn't find the specified breakpoint. */
296#define VERR_DBGF_BP_NOT_FOUND (-1204)
297/** Attempted to enabled a breakpoint which was already enabled. */
298#define VINF_DBGF_BP_ALREADY_ENABLED 1205
299/** Attempted to disabled a breakpoint which was already disabled. */
300#define VINF_DBGF_BP_ALREADY_DISABLED 1206
301/** The breakpoint already exists. */
302#define VINF_DBGF_BP_ALREADY_EXIST 1207
303/** The byte string was not found. */
304#define VERR_DBGF_MEM_NOT_FOUND (-1208)
305/** The OS was not detected. */
306#define VERR_DBGF_OS_NOT_DETCTED (-1209)
307/** The OS was not detected. */
308#define VINF_DBGF_OS_NOT_DETCTED 1209
309/** The specified register was not found. */
310#define VERR_DBGF_REGISTER_NOT_FOUND (-1210)
311/** The value was truncated to fit.
312 * For queries this means that the register is wider than the queried value.
313 * For setters this means that the value is wider than the register. */
314#define VINF_DBGF_TRUNCATED_REGISTER 1211
315/** The value was zero extended to fit.
316 * For queries this means that the register is narrower than the queried value.
317 * For setters this means that the value is narrower than the register. */
318#define VINF_DBGF_ZERO_EXTENDED_REGISTER 1212
319/** The requested type conversion was not supported. */
320#define VERR_DBGF_UNSUPPORTED_CAST (-1213)
321/** The register is read-only and cannot be modified. */
322#define VERR_DBGF_READ_ONLY_REGISTER (-1214)
323/** Internal processing error \#1 in the DBGF register code. */
324#define VERR_DBGF_REG_IPE_1 (-1215)
325/** Internal processing error \#2 in the DBGF register code. */
326#define VERR_DBGF_REG_IPE_2 (-1216)
327/** Unhandled \#DB in hypervisor code. */
328#define VERR_DBGF_HYPER_DB_XCPT (-1217)
329/** Internal processing error \#1 in the DBGF stack code. */
330#define VERR_DBGF_STACK_IPE_1 (-1218)
331/** Internal processing error \#2 in the DBGF stack code. */
332#define VERR_DBGF_STACK_IPE_2 (-1219)
333/** No trace buffer available, please change the VM config. */
334#define VERR_DBGF_NO_TRACE_BUFFER (-1220)
335/** Internal processing error \#1 in the DBGF event tracing code. */
336#define VERR_DBGF_TRACER_IPE_1 (-1221)
337/** Tried to resume a VM or CPU that is already fully running. */
338#define VWRN_DBGF_ALREADY_RUNNING (-1222)
339/** Internal processing error \#1 in the DBGF core code. */
340#define VERR_DBGF_IPE_1 (-1223)
341/** Returned by a breakpoint callback when guest execution should be suspended
342 * and the VM should be dropped into the debugger. */
343#define VINF_DBGF_BP_HALT (1224)
344/** The breakpoint owner handle is still used by one or more breakpoints. */
345#define VERR_DBGF_OWNER_BUSY (-1225)
346/** Number of tries to add an int3 breakpoint table to the lookup tables reached. */
347#define VERR_DBGF_BP_INT3_ADD_TRIES_REACHED (-1226)
348/** Internal processing error \#1 in the DBGF breakpoint manager code. */
349#define VERR_DBGF_BP_IPE_1 (-1227)
350/** Internal processing error \#2 in the DBGF breakpoint manager code. */
351#define VERR_DBGF_BP_IPE_2 (-1228)
352/** Internal processing error \#3 in the DBGF breakpoint manager code. */
353#define VERR_DBGF_BP_IPE_3 (-1229)
354/** Internal processing error \#4 in the DBGF breakpoint manager code. */
355#define VERR_DBGF_BP_IPE_4 (-1230)
356/** Internal processing error \#5 in the DBGF breakpoint manager code. */
357#define VERR_DBGF_BP_IPE_5 (-1231)
358/** Internal processing error \#6 in the DBGF breakpoint manager code. */
359#define VERR_DBGF_BP_IPE_6 (-1232)
360/** Internal processing error \#7 in the DBGF breakpoint manager code. */
361#define VERR_DBGF_BP_IPE_7 (-1233)
362/** Internal processing error \#8 in the DBGF breakpoint manager code. */
363#define VERR_DBGF_BP_IPE_8 (-1234)
364/** Internal processing error \#9 in the DBGF breakpoint manager code. */
365#define VERR_DBGF_BP_IPE_9 (-1235)
366/** Level 2 lookup failed because the L1 lookup table is corrupted. */
367#define VERR_DBGF_BP_L1_LOOKUP_FAILED (-1236)
368/** Level 2 lookup failed because the L2 lookup table is corrupted. */
369#define VERR_DBGF_BP_L2_LOOKUP_FAILED (-1237)
370/** The DBGF has no more free breakpoint owner handles. */
371#define VERR_DBGF_BP_OWNER_NO_MORE_HANDLES (-1238)
372/** Reason for leaving RZ: Defer the owner callback invocation to Ring-3. */
373#define VINF_DBGF_R3_BP_OWNER_DEFER 1239
374/** The breakpoint owner callback returned an invalid status code. */
375#define VERR_DBGF_BP_OWNER_CALLBACK_WRONG_STATUS (-1240)
376/** The operation was cancelled. */
377#define VERR_DBGF_CANCELLED (-1241)
378/** @} */
379
380
381/** @name Patch Manager (PATM) Status Codes
382 * @{
383 */
384/** Non fatal Patch Manager analysis phase warning */
385#define VWRN_CONTINUE_ANALYSIS 1400
386/** Non fatal Patch Manager recompile phase warning (mapped to VWRN_CONTINUE_ANALYSIS). */
387#define VWRN_CONTINUE_RECOMPILE VWRN_CONTINUE_ANALYSIS
388/** Continue search (mapped to VWRN_CONTINUE_ANALYSIS). */
389#define VWRN_PATM_CONTINUE_SEARCH VWRN_CONTINUE_ANALYSIS
390/** Patch installation refused (patch too complex or unsupported instructions ) */
391#define VERR_PATCHING_REFUSED (-1401)
392/** Unable to find patch */
393#define VERR_PATCH_NOT_FOUND (-1402)
394/** Patch disabled */
395#define VERR_PATCH_DISABLED (-1403)
396/** Patch enabled */
397#define VWRN_PATCH_ENABLED 1404
398/** Patch was already disabled */
399#define VERR_PATCH_ALREADY_DISABLED (-1405)
400/** Patch was already enabled */
401#define VERR_PATCH_ALREADY_ENABLED (-1406)
402/** Patch was removed. */
403#define VWRN_PATCH_REMOVED 1407
404
405/** Reason for leaving RC: \#GP with EIP pointing to patch code. */
406#define VINF_PATM_PATCH_TRAP_GP 1408
407/** First leave RC code. */
408#define VINF_PATM_LEAVE_RC_FIRST VINF_PATM_PATCH_TRAP_GP
409/** Reason for leaving RC: \#PF with EIP pointing to patch code. */
410#define VINF_PATM_PATCH_TRAP_PF 1409
411/** Reason for leaving RC: int3 with EIP pointing to patch code. */
412#define VINF_PATM_PATCH_INT3 1410
413/** Reason for leaving RC: \#PF for monitored patch page. */
414#define VINF_PATM_CHECK_PATCH_PAGE 1411
415/** Reason for leaving RC: duplicate instruction called at current eip. */
416#define VINF_PATM_DUPLICATE_FUNCTION 1412
417/** Execute one instruction with the recompiler */
418#define VINF_PATCH_EMULATE_INSTR 1413
419/** Reason for leaving RC: attempt to patch MMIO write. */
420#define VINF_PATM_HC_MMIO_PATCH_WRITE 1414
421/** Reason for leaving RC: attempt to patch MMIO read. */
422#define VINF_PATM_HC_MMIO_PATCH_READ 1415
423/** Reason for leaving RC: pending irq after iret that sets IF. */
424#define VINF_PATM_PENDING_IRQ_AFTER_IRET 1416
425/** Last leave RC code. */
426#define VINF_PATM_LEAVE_RC_LAST VINF_PATM_PENDING_IRQ_AFTER_IRET
427
428/** No conflicts to resolve */
429#define VERR_PATCH_NO_CONFLICT (-1425)
430/** Detected unsafe code for patching */
431#define VERR_PATM_UNSAFE_CODE (-1426)
432/** Terminate search branch */
433#define VWRN_PATCH_END_BRANCH 1427
434/** Already patched */
435#define VERR_PATM_ALREADY_PATCHED (-1428)
436/** Spinlock detection failed. */
437#define VINF_PATM_SPINLOCK_FAILED (1429)
438/** Continue execution after patch trap. */
439#define VINF_PATCH_CONTINUE (1430)
440/** The patch manager is not used because we're using HM and VT-x/AMD-V. */
441#define VERR_PATM_HM_IPE (-1431)
442/** Unexpected trap in patch code. */
443#define VERR_PATM_IPE_TRAP_IN_PATCH_CODE (-1432)
444
445/** @} */
446
447
448/** @name Code Scanning and Analysis Manager (CSAM) Status Codes
449 * @{
450 */
451/** Trap not handled */
452#define VWRN_CSAM_TRAP_NOT_HANDLED 1500
453/** Patch installed */
454#define VWRN_CSAM_INSTRUCTION_PATCHED 1501
455/** Page record not found */
456#define VWRN_CSAM_PAGE_NOT_FOUND 1502
457/** Reason for leaving RC: CSAM wants perform a task in ring-3. */
458#define VINF_CSAM_PENDING_ACTION 1503
459/** The CSAM is not used because we're using HM and VT-x/AMD-V. */
460#define VERR_CSAM_HM_IPE (-1504)
461/** @} */
462
463
464/** @name Page Monitor/Manager (PGM) Status Codes
465 * @{
466 */
467/** Attempt to create a GC mapping which conflicts with an existing mapping. */
468#define VERR_PGM_MAPPING_CONFLICT (-1600)
469/** The physical handler range has no corresponding RAM range.
470 * If this is MMIO, see todo above the return. If not MMIO, then it's
471 * someone else's fault... */
472#define VERR_PGM_HANDLER_PHYSICAL_NO_RAM_RANGE (-1601)
473/** Attempt to register an access handler for a virtual range of which a part
474 * was already handled. */
475#define VERR_PGM_HANDLER_VIRTUAL_CONFLICT (-1602)
476/** Attempt to register an access handler for a physical range of which a part
477 * was already handled. */
478#define VERR_PGM_HANDLER_PHYSICAL_CONFLICT (-1603)
479/** Invalid page directory specified to PGM. */
480#define VERR_PGM_INVALID_PAGE_DIRECTORY (-1604)
481/** Invalid GC physical address. */
482#define VERR_PGM_INVALID_GC_PHYSICAL_ADDRESS (-1605)
483/** Invalid GC physical range. Usually used when a specified range crosses
484 * a RAM region boundary. */
485#define VERR_PGM_INVALID_GC_PHYSICAL_RANGE (-1606)
486/** Specified access handler was not found. */
487#define VERR_PGM_HANDLER_NOT_FOUND (-1607)
488/** Attempt to register a RAM range of which parts are already
489 * covered by existing RAM ranges. */
490#define VERR_PGM_RAM_CONFLICT (-1608)
491/** Failed to add new mappings because the current mappings are fixed
492 * in guest os memory. */
493#define VERR_PGM_MAPPINGS_FIXED (-1609)
494/** Failed to fix mappings because of a conflict with the intermediate code. */
495#define VERR_PGM_MAPPINGS_FIX_CONFLICT (-1610)
496/** Failed to fix mappings because a mapping rejected the address. */
497#define VERR_PGM_MAPPINGS_FIX_REJECTED (-1611)
498/** Failed to fix mappings because the proposed memory area was to small. */
499#define VERR_PGM_MAPPINGS_FIX_TOO_SMALL (-1612)
500/** Reason for leaving RZ: The urge to syncing CR3. */
501#define VINF_PGM_SYNC_CR3 1613
502/** Page not marked for dirty bit tracking */
503#define VINF_PGM_NO_DIRTY_BIT_TRACKING 1614
504/** Page fault caused by dirty bit tracking; corrected */
505#define VINF_PGM_HANDLED_DIRTY_BIT_FAULT 1615
506/** Go ahead with the default Read/Write operation.
507 * This is returned by a R3 physical or virtual handler when it wants the
508 * PGMPhys[Read|Write] routine do the reading/writing. */
509#define VINF_PGM_HANDLER_DO_DEFAULT 1616
510/** The paging mode of the host is not supported yet. */
511#define VERR_PGM_UNSUPPORTED_HOST_PAGING_MODE (-1617)
512/** The physical guest page is a reserved/MMIO page and does not have any HC
513 * address. */
514#define VERR_PGM_PHYS_PAGE_RESERVED (-1618)
515/** No page directory available for the hypervisor. */
516#define VERR_PGM_NO_HYPERVISOR_ADDRESS (-1619)
517
518
519/** The returned shadow page is cached. */
520#define VINF_PGM_CACHED_PAGE 1622
521/** Returned by handler registration, modification and deregistration
522 * when the shadow PTs could be updated because the guest page
523 * aliased or/and mapped by multiple PTs. */
524#define VINF_PGM_GCPHYS_ALIASED 1623
525/** SyncPage modified the PDE.
526 * This is an internal status code used to communicate back to the \#PF handler
527 * that the PDE was (probably) marked not-present and it should restart the instruction. */
528#define VINF_PGM_SYNCPAGE_MODIFIED_PDE 1625
529/** Physical range crosses dynamic ram chunk boundary; translation to HC ptr not safe. */
530#define VERR_PGM_GCPHYS_RANGE_CROSSES_BOUNDARY (-1626)
531/** Conflict between the core memory and the intermediate paging context, try again.
532 * There are some very special conditions applying to the intermediate paging context
533 * (used during the world switches), and some times we continuously run into these
534 * when asking the host kernel for memory during VM init. Let us know if you run into
535 * this and we'll adjust the code so it tries harder to avoid it.
536 */
537#define VERR_PGM_INTERMEDIATE_PAGING_CONFLICT (-1627)
538/** The shadow paging mode is not supported yet. */
539#define VERR_PGM_UNSUPPORTED_SHADOW_PAGING_MODE (-1628)
540/** The dynamic mapping cache for physical memory failed. */
541#define VERR_PGM_DYNMAP_FAILED (-1629)
542/** The auto usage cache for the dynamic mapping set is full. */
543#define VERR_PGM_DYNMAP_FULL_SET (-1630)
544/** The initialization of the dynamic mapping cache failed. */
545#define VERR_PGM_DYNMAP_SETUP_ERROR (-1631)
546/** The expanding of the dynamic mapping cache failed. */
547#define VERR_PGM_DYNMAP_EXPAND_ERROR (-1632)
548/** The page is unassigned (akin to VERR_PGM_INVALID_GC_PHYSICAL_ADDRESS). */
549#define VERR_PGM_PHYS_TLB_UNASSIGNED (-1633)
550/** Catch any access and route it thru PGM. */
551#define VERR_PGM_PHYS_TLB_CATCH_ALL (-1634)
552/** Catch write access and route it thru PGM. */
553#define VINF_PGM_PHYS_TLB_CATCH_WRITE 1635
554/** Catch write access and route it thru PGM. */
555#define VERR_PGM_PHYS_TLB_CATCH_WRITE (-1635)
556/** No CR3 root shadow page table. */
557#define VERR_PGM_NO_CR3_SHADOW_ROOT (-1636)
558/** Trying to free a page with an invalid Page ID. */
559#define VERR_PGM_PHYS_INVALID_PAGE_ID (-1637)
560/** PGMPhysWrite/Read hit a handler in Ring-0 or raw-mode context. */
561#define VERR_PGM_PHYS_WR_HIT_HANDLER (-1638)
562/** Trying to free a page that isn't RAM. */
563#define VERR_PGM_PHYS_NOT_RAM (-1639)
564/** Not ROM page. */
565#define VERR_PGM_PHYS_NOT_ROM (-1640)
566/** Not MMIO page. */
567#define VERR_PGM_PHYS_NOT_MMIO (-1641)
568/** Not MMIO2 page. */
569#define VERR_PGM_PHYS_NOT_MMIO2 (-1642)
570/** Already aliased to a different page. */
571#define VERR_PGM_HANDLER_ALREADY_ALIASED (-1643)
572/** Already aliased to the same page. */
573#define VINF_PGM_HANDLER_ALREADY_ALIASED (1643)
574/** PGM pool flush pending - return to ring 3. */
575#define VINF_PGM_POOL_FLUSH_PENDING (1644)
576/** Unable to use the range for a large page. */
577#define VERR_PGM_INVALID_LARGE_PAGE_RANGE (-1645)
578/** Don't mess around with ballooned pages. */
579#define VERR_PGM_PHYS_PAGE_BALLOONED (-1646)
580/** Internal processing error \#1 in page access handler code. */
581#define VERR_PGM_HANDLER_IPE_1 (-1647)
582
583
584/** pgmPhysPageMapCommon encountered PGMPAGETYPE_MMIO2_ALIAS_MMIO. */
585#define VERR_PGM_MAP_MMIO2_ALIAS_MMIO (-1651)
586/** Guest mappings are disabled. */
587#define VERR_PGM_MAPPINGS_DISABLED (-1652)
588/** No guest mappings when SMP is enabled. */
589#define VERR_PGM_MAPPINGS_SMP (-1653)
590/** Invalid saved page state. */
591#define VERR_PGM_INVALID_SAVED_PAGE_STATE (-1654)
592/** Encountered an unexpected page type in the saved state. */
593#define VERR_PGM_LOAD_UNEXPECTED_PAGE_TYPE (-1655)
594/** Encountered an unexpected page state in the saved state. */
595#define VERR_PGM_UNEXPECTED_PAGE_STATE (-1656)
596/** Couldn't find MMIO2 range from saved state. */
597#define VERR_PGM_SAVED_MMIO2_RANGE_NOT_FOUND (-1657)
598/** Couldn't find MMIO2 page from saved state. */
599#define VERR_PGM_SAVED_MMIO2_PAGE_NOT_FOUND (-1658)
600/** Couldn't find ROM range from saved state. */
601#define VERR_PGM_SAVED_ROM_RANGE_NOT_FOUND (-1659)
602/** Couldn't find ROM page from saved state. */
603#define VERR_PGM_SAVED_ROM_PAGE_NOT_FOUND (-1660)
604/** ROM page mismatch between saved state and the VM. */
605#define VERR_PGM_SAVED_ROM_PAGE_PROT (-1661)
606/** Unknown saved state record. */
607#define VERR_PGM_SAVED_REC_TYPE (-1662)
608/** Internal processing error in the PGM dynmap (r0/rc). */
609#define VERR_PGM_DYNMAP_IPE (-1663)
610/** Internal processing error in the PGM handy page allocator. */
611#define VERR_PGM_HANDY_PAGE_IPE (-1664)
612/** Failed to map the guest PML4. */
613#define VERR_PGM_PML4_MAPPING (-1665)
614/** Failed to obtain a pool page. */
615#define VERR_PGM_POOL_GET_PAGE_FAILED (-1666)
616/** A PGM function was called in a mode where it isn't supposed to be used. */
617#define VERR_PGM_NOT_USED_IN_MODE (-1667)
618/** The CR3 address specified memory we don't know about. */
619#define VERR_PGM_INVALID_CR3_ADDR (-1668)
620/** One or the PDPEs specified memory we don't know about. */
621#define VERR_PGM_INVALID_PDPE_ADDR (-1669)
622/** Internal processing error in the PGM physical handler code. */
623#define VERR_PGM_PHYS_HANDLER_IPE (-1670)
624/** Internal processing error \#1 in the PGM physial page mapping code. */
625#define VERR_PGM_PHYS_PAGE_MAP_IPE_1 (-1671)
626/** Internal processing error \#2 in the PGM physial page mapping code. */
627#define VERR_PGM_PHYS_PAGE_MAP_IPE_2 (-1672)
628/** Internal processing error \#3 in the PGM physial page mapping code. */
629#define VERR_PGM_PHYS_PAGE_MAP_IPE_3 (-1673)
630/** Internal processing error \#4 in the PGM physial page mapping code. */
631#define VERR_PGM_PHYS_PAGE_MAP_IPE_4 (-1674)
632/** Too many loops looking for a page to reuse. */
633#define VERR_PGM_POOL_TOO_MANY_LOOPS (-1675)
634/** Internal processing error related to guest mappings. */
635#define VERR_PGM_MAPPING_IPE (-1676)
636/** An attempt was made to grow an already maxed out page pool. */
637#define VERR_PGM_POOL_MAXED_OUT_ALREADY (-1677)
638/** Internal processing error in the page pool code. */
639#define VERR_PGM_POOL_IPE (-1678)
640/** The write monitor is already engaged. */
641#define VERR_PGM_WRITE_MONITOR_ENGAGED (-1679)
642/** Failed to get a guest page which is expected to be present. */
643#define VERR_PGM_PHYS_PAGE_GET_IPE (-1680)
644/** We were given a NULL pPage parameter. */
645#define VERR_PGM_PHYS_NULL_PAGE_PARAM (-1681)
646/** PCI passthru is not supported by this build. */
647#define VERR_PGM_PCI_PASSTHRU_MISCONFIG (-1682)
648/** Too many MMIO2 ranges. */
649#define VERR_PGM_TOO_MANY_MMIO2_RANGES (-1683)
650/** Internal processing error in the PGM physical page mapping code dealing
651 * with MMIO2 pages. */
652#define VERR_PGM_PHYS_PAGE_MAP_MMIO2_IPE (-1684)
653/** Internal processing error in the PGM physcal page handling code related to
654 * MMIO/MMIO2. */
655#define VERR_PGM_PHYS_MMIO_EX_IPE (-1685)
656/** Mode table internal error. */
657#define VERR_PGM_MODE_IPE (-1686)
658/** Shadow mode 'none' internal error. */
659#define VERR_PGM_SHW_NONE_IPE (-1687)
660/** One or more PAE PDPEs are invalid due to reserved bits being set. */
661#define VERR_PGM_PAE_PDPE_RSVD (-1688)
662/** Attemted illegal operation in simplified memory management mode. */
663#define VERR_PGM_NOT_SUPPORTED_FOR_NEM_MODE (-1689)
664/** Too many RAM ranges. */
665#define VERR_PGM_TOO_MANY_RAM_RANGES (-1690)
666/** Internal processing error in the PGM physical RAM range lookup code. */
667#define VERR_PGM_PHYS_RAM_LOOKUP_IPE (-1691)
668/** Too many ROM ranges. */
669#define VERR_PGM_TOO_MANY_ROM_RANGES (-1692)
670/** @} */
671
672
673/** @name Memory Monitor (MM) Status Codes
674 * @{
675 */
676/** Attempt to register a RAM range of which parts are already
677 * covered by existing RAM ranges. */
678#define VERR_MM_RAM_CONFLICT (-1700)
679/** Hypervisor memory allocation failed. */
680#define VERR_MM_HYPER_NO_MEMORY (-1701)
681/** A bad trap type ended up in mmGCRamTrap0eHandler. */
682#define VERR_MM_BAD_TRAP_TYPE_IPE (-1702)
683/** @} */
684
685
686/** @name CPU Monitor (CPUM) Status Codes
687 * @{
688 */
689/** The caller shall raise an \#GP(0) exception. */
690#define VERR_CPUM_RAISE_GP_0 (-1750)
691/** Incompatible CPUM configuration. */
692#define VERR_CPUM_INCOMPATIBLE_CONFIG (-1751)
693/** CPUMR3DisasmInstrCPU unexpectedly failed to determine the hidden
694 * parts of the CS register. */
695#define VERR_CPUM_HIDDEN_CS_LOAD_ERROR (-1752)
696/** Couldn't find the end of CPUID sub-leaves. */
697#define VERR_CPUM_TOO_MANY_CPUID_SUBLEAVES (-1753)
698/** CPUM internal processing error \#1. */
699#define VERR_CPUM_IPE_1 (-1754)
700/** CPUM internal processing error \#2. */
701#define VERR_CPUM_IPE_2 (-1755)
702/** The specified CPU cannot be found in the CPU database. */
703#define VERR_CPUM_DB_CPU_NOT_FOUND (-1756)
704/** Invalid CPUMCPU offset in MSR range. */
705#define VERR_CPUM_MSR_BAD_CPUMCPU_OFFSET (-1757)
706/** Return to ring-3 to read the MSR there. */
707#define VINF_CPUM_R3_MSR_READ (1758)
708/** Return to ring-3 to write the MSR there. */
709#define VINF_CPUM_R3_MSR_WRITE (1759)
710/** Too many CPUID leaves. */
711#define VERR_TOO_MANY_CPUID_LEAVES (-1760)
712/** Invalid config value. */
713#define VERR_CPUM_INVALID_CONFIG_VALUE (-1761)
714/** The loaded XSAVE component mask is not compatible with the host CPU
715 * or/and VM config. */
716#define VERR_CPUM_INCOMPATIBLE_XSAVE_COMP_MASK (-1762)
717/** The loaded XSAVE component mask is not valid. */
718#define VERR_CPUM_INVALID_XSAVE_COMP_MASK (-1763)
719/** The loaded XSAVE header is not valid. */
720#define VERR_CPUM_INVALID_XSAVE_HDR (-1764)
721/** The loaded XCR0 register value is not valid. */
722#define VERR_CPUM_INVALID_XCR0 (-1765)
723/** Indicates that we modified the host CR0 (FPU related). */
724#define VINF_CPUM_HOST_CR0_MODIFIED (1766)
725/** Invalid/unsupported nested hardware virtualization configuration. */
726#define VERR_CPUM_INVALID_HWVIRT_CONFIG (-1767)
727/** Invalid nested hardware virtualization feature combination. */
728#define VERR_CPUM_INVALID_HWVIRT_FEAT_COMBO (-1768)
729/** @} */
730
731
732/** @name Save State Manager (SSM) Status Codes
733 * @{
734 */
735/** The specified data unit already exist. */
736#define VERR_SSM_UNIT_EXISTS (-1800)
737/** The specified data unit wasn't found. */
738#define VERR_SSM_UNIT_NOT_FOUND (-1801)
739/** The specified data unit wasn't owned by caller. */
740#define VERR_SSM_UNIT_NOT_OWNER (-1802)
741
742/** General saved state file integrity error. */
743#define VERR_SSM_INTEGRITY (-1810)
744/** The saved state file magic was not recognized. */
745#define VERR_SSM_INTEGRITY_MAGIC (-1811)
746/** The saved state file version is not supported. */
747#define VERR_SSM_INTEGRITY_VERSION (-1812)
748/** The saved state file size didn't match the one in the header. */
749#define VERR_SSM_INTEGRITY_SIZE (-1813)
750/** The CRC of the saved state file did not match. */
751#define VERR_SSM_INTEGRITY_CRC (-1814)
752/** The machine uuid field wasn't null. */
753#define VERR_SMM_INTEGRITY_MACHINE (-1815)
754/** Saved state header integrity error. */
755#define VERR_SSM_INTEGRITY_HEADER (-1816)
756/** Unit header integrity error. */
757#define VERR_SSM_INTEGRITY_UNIT (-1817)
758/** Invalid unit magic (internal data tag). */
759#define VERR_SSM_INTEGRITY_UNIT_MAGIC (-1818)
760/** The file contained a data unit which no-one wants. */
761#define VERR_SSM_INTEGRITY_UNIT_NOT_FOUND (-1819)
762/** Incorrect version numbers in the header. */
763#define VERR_SSM_INTEGRITY_VBOX_VERSION (-1820)
764/** Footer integrity error. */
765#define VERR_SSM_INTEGRITY_FOOTER (-1821)
766/** Record header integrity error. */
767#define VERR_SSM_INTEGRITY_REC_HDR (-1822)
768/** Termination record integrity error. */
769#define VERR_SSM_INTEGRITY_REC_TERM (-1823)
770/** Termination record CRC mismatch. */
771#define VERR_SSM_INTEGRITY_REC_TERM_CRC (-1824)
772/** Decompression integrity error. */
773#define VERR_SSM_INTEGRITY_DECOMPRESSION (-1825)
774/** Saved state directory wintertides error. */
775#define VERR_SSM_INTEGRITY_DIR (-1826)
776/** The saved state directory magic is wrong. */
777#define VERR_SSM_INTEGRITY_DIR_MAGIC (-1827)
778
779/** A data unit in the saved state file was defined but didn't any
780 * routine for processing it. */
781#define VERR_SSM_NO_LOAD_EXEC (-1830)
782/** A restore routine attempted to load more data then the unit contained. */
783#define VERR_SSM_LOADED_TOO_MUCH (-1831)
784/** Not in the correct state for the attempted operation. */
785#define VERR_SSM_INVALID_STATE (-1832)
786/** Not in the correct state for the attempted operation. */
787#define VERR_SSM_LOADED_TOO_LITTLE (-1833)
788
789/** Unsupported data unit version.
790 * A SSM user returns this if it doesn't know the u32Version. */
791#define VERR_SSM_UNSUPPORTED_DATA_UNIT_VERSION (-1840)
792/** The format of a data unit has changed.
793 * A SSM user returns this if it's not able to read the format for
794 * other reasons than u32Version. */
795#define VERR_SSM_DATA_UNIT_FORMAT_CHANGED (-1841)
796/** The CPUID instruction returns different information when loading than when saved.
797 * Normally caused by hardware changes on the host, but could also be caused by
798 * changes in the BIOS setup. */
799#define VERR_SSM_LOAD_CPUID_MISMATCH (-1842)
800/** The RAM size differs between the saved state and the VM config. */
801#define VERR_SSM_LOAD_MEMORY_SIZE_MISMATCH (-1843)
802/** The state doesn't match the VM configuration in one or another way.
803 * (There are certain PCI reconfiguration which the OS could potentially
804 * do which can cause this problem. Check this out when it happens.) */
805#define VERR_SSM_LOAD_CONFIG_MISMATCH (-1844)
806/** The virtual clock frequency differs too much.
807 * The clock source for the virtual time isn't reliable or the code have changed. */
808#define VERR_SSM_VIRTUAL_CLOCK_HZ (-1845)
809/** A timeout occurred while waiting for async IDE operations to finish. */
810#define VERR_SSM_IDE_ASYNC_TIMEOUT (-1846)
811/** One of the structure magics was wrong. */
812#define VERR_SSM_STRUCTURE_MAGIC (-1847)
813/** The data in the saved state doesn't conform to expectations. */
814#define VERR_SSM_UNEXPECTED_DATA (-1848)
815/** Trying to read a 64-bit guest physical address into a 32-bit variable. */
816#define VERR_SSM_GCPHYS_OVERFLOW (-1849)
817/** Trying to read a 64-bit guest virtual address into a 32-bit variable. */
818#define VERR_SSM_GCPTR_OVERFLOW (-1850)
819/** Vote for another pass. */
820#define VINF_SSM_VOTE_FOR_ANOTHER_PASS 1851
821/** Vote for done tell SSM not to call again until the final pass. */
822#define VINF_SSM_VOTE_DONE_DONT_CALL_AGAIN 1852
823/** Vote for giving up. */
824#define VERR_SSM_VOTE_FOR_GIVING_UP (-1853)
825/** Don't call again until the final pass. */
826#define VINF_SSM_DONT_CALL_AGAIN 1854
827/** Giving up a live snapshot/teleportation attempt because of too many
828 * passes. */
829#define VERR_SSM_TOO_MANY_PASSES (-1855)
830/** Giving up a live snapshot/teleportation attempt because the state grew to
831 * big. */
832#define VERR_SSM_STATE_GREW_TOO_BIG (-1856)
833/** Giving up a live snapshot attempt because we're low on disk space. */
834#define VERR_SSM_LOW_ON_DISK_SPACE (-1857)
835/** The operation was cancelled. */
836#define VERR_SSM_CANCELLED (-1858)
837/** Nothing that can be cancelled. */
838#define VERR_SSM_NO_PENDING_OPERATION (-1859)
839/** The operation has already been cancelled. */
840#define VERR_SSM_ALREADY_CANCELLED (-1860)
841/** The machine was powered off while saving. */
842#define VERR_SSM_LIVE_POWERED_OFF (-1861)
843/** The live snapshot/teleportation operation was aborted because of a guru
844 * meditation. */
845#define VERR_SSM_LIVE_GURU_MEDITATION (-1862)
846/** The live snapshot/teleportation operation was aborted because of a fatal
847 * runtime error. */
848#define VERR_SSM_LIVE_FATAL_ERROR (-1863)
849/** The VM was suspended before or while saving, don't resume execution. */
850#define VINF_SSM_LIVE_SUSPENDED 1864
851/** Complex SSM field fed to SSMR3PutStruct or SSMR3GetStruct. Use the
852 * extended API. */
853#define VERR_SSM_FIELD_COMPLEX (-1864)
854/** Invalid size of a SSM field with the specified transformation. */
855#define VERR_SSM_FIELD_INVALID_SIZE (-1865)
856/** The specified field is outside the structure. */
857#define VERR_SSM_FIELD_OUT_OF_BOUNDS (-1866)
858/** The field does not follow immediately the previous one. */
859#define VERR_SSM_FIELD_NOT_CONSECUTIVE (-1867)
860/** The field contains an invalid callback or transformation index. */
861#define VERR_SSM_FIELD_INVALID_CALLBACK (-1868)
862/** The field contains an invalid padding size. */
863#define VERR_SSM_FIELD_INVALID_PADDING_SIZE (-1869)
864/** The field contains a value that is out of range. */
865#define VERR_SSM_FIELD_INVALID_VALUE (-1870)
866/** Generic stream error. */
867#define VERR_SSM_STREAM_ERROR (-1871)
868/** SSM did a callback for a pass we didn't expect. */
869#define VERR_SSM_UNEXPECTED_PASS (-1872)
870/** Someone is trying to skip backwards in the stream... */
871#define VERR_SSM_SKIP_BACKWARDS (-1873)
872/** Someone is trying to write a memory block which is too big to encode. */
873#define VERR_SSM_MEM_TOO_BIG (-1874)
874/** Encountered an bad (/unknown) record type. */
875#define VERR_SSM_BAD_REC_TYPE (-1875)
876/** Internal processing error \#1 in SSM code. */
877#define VERR_SSM_IPE_1 (-1876)
878/** Internal processing error \#2 in SSM code. */
879#define VERR_SSM_IPE_2 (-1877)
880/** Internal processing error \#3 in SSM code. */
881#define VERR_SSM_IPE_3 (-1878)
882/** A field contained an transformation that should only be used when loading
883 * old states. */
884#define VERR_SSM_FIELD_LOAD_ONLY_TRANSFORMATION (-1879)
885/** Out of range enum value. */
886#define VERR_SSM_ENUM_VALUE_OUT_OF_RANGE (-1880)
887/** @} */
888
889
890/** @name Virtual Machine (VM) Status Codes
891 * @{
892 */
893/** The specified at reset handler wasn't found. */
894#define VERR_VM_ATRESET_NOT_FOUND (-1900)
895/** Invalid VM request type.
896 * For the VMR3ReqAlloc() case, the caller just specified an illegal enmType. For
897 * all the other occurrences it means indicates corruption, broken logic, or stupid
898 * interface user. */
899#define VERR_VM_REQUEST_INVALID_TYPE (-1901)
900/** Invalid VM request state.
901 * The state of the request packet was not the expected and accepted one(s). Either
902 * the interface user screwed up, or we've got corruption/broken logic. */
903#define VERR_VM_REQUEST_STATE (-1902)
904/** Invalid VM request packet.
905 * One or more of the VM controlled packet members didn't contain the correct
906 * values. Some thing's broken. */
907#define VERR_VM_REQUEST_INVALID_PACKAGE (-1903)
908/** The status field has not been updated yet as the request is still
909 * pending completion. Someone queried the iStatus field before the request
910 * has been fully processed. */
911#define VERR_VM_REQUEST_STATUS_STILL_PENDING (-1904)
912/** The request has been freed, don't read the status now.
913 * Someone is reading the iStatus field of a freed request packet. */
914#define VERR_VM_REQUEST_STATUS_FREED (-1905)
915/** A VM api requiring EMT was called from another thread.
916 * Use the VMR3ReqCall() apis to call it! */
917#define VERR_VM_THREAD_NOT_EMT (-1906)
918/** The VM state was invalid for the requested operation.
919 * Go check the 'VM Statechart Diagram.gif'. */
920#define VERR_VM_INVALID_VM_STATE (-1907)
921/** The support driver is not installed.
922 * On linux, open returned ENOENT. */
923#define VERR_VM_DRIVER_NOT_INSTALLED (-1908)
924/** The support driver is not accessible.
925 * On linux, open returned EPERM. */
926#define VERR_VM_DRIVER_NOT_ACCESSIBLE (-1909)
927/** Was not able to load the support driver.
928 * On linux, open returned ENODEV. */
929#define VERR_VM_DRIVER_LOAD_ERROR (-1910)
930/** Was not able to open the support driver.
931 * Generic open error used when none of the other ones fit. */
932#define VERR_VM_DRIVER_OPEN_ERROR (-1911)
933/** The installed support driver doesn't match the version of the user. */
934#define VERR_VM_DRIVER_VERSION_MISMATCH (-1912)
935/** Saving the VM state is temporarily not allowed. Try again later. */
936#define VERR_VM_SAVE_STATE_NOT_ALLOWED (-1913)
937/** An EMT called an API which cannot be called on such a thread. */
938#define VERR_VM_THREAD_IS_EMT (-1914)
939/** Encountered an unexpected VM state. */
940#define VERR_VM_UNEXPECTED_VM_STATE (-1915)
941/** Unexpected unstable VM state. */
942#define VERR_VM_UNEXPECTED_UNSTABLE_STATE (-1916)
943/** Too many arguments passed to a VM request / request corruption. */
944#define VERR_VM_REQUEST_TOO_MANY_ARGS_IPE (-1917)
945/** Fatal EMT wait error. */
946#define VERR_VM_FATAL_WAIT_ERROR (-1918)
947/** The VM request was killed at VM termination. */
948#define VERR_VM_REQUEST_KILLED (-1919)
949/** @} */
950
951
952/** @name VBox Remote Desktop Protocol (VRDP) Status Codes
953 * @{
954 */
955/** Successful completion of operation (mapped to generic iprt status code). */
956#define VINF_VRDP_SUCCESS VINF_SUCCESS
957/** VRDP transport operation timed out (mapped to generic iprt status code). */
958#define VERR_VRDP_TIMEOUT VERR_TIMEOUT
959
960/** Unsupported ISO protocol feature */
961#define VERR_VRDP_ISO_UNSUPPORTED (-2000)
962/** Security (en/decryption) engine error */
963#define VERR_VRDP_SEC_ENGINE_FAIL (-2001)
964/** VRDP protocol violation */
965#define VERR_VRDP_PROTOCOL_ERROR (-2002)
966/** Unsupported VRDP protocol feature */
967#define VERR_VRDP_NOT_SUPPORTED (-2003)
968/** VRDP protocol violation, client sends less data than expected */
969#define VERR_VRDP_INSUFFICIENT_DATA (-2004)
970/** Internal error, VRDP packet is in wrong operation mode */
971#define VERR_VRDP_INVALID_MODE (-2005)
972/** Memory allocation failed */
973#define VERR_VRDP_NO_MEMORY (-2006)
974/** Client has been rejected */
975#define VERR_VRDP_ACCESS_DENIED (-2007)
976/** VRPD receives a packet that is not supported */
977#define VWRN_VRDP_PDU_NOT_SUPPORTED 2008
978/** VRDP script allowed the packet to be processed further */
979#define VINF_VRDP_PROCESS_PDU 2009
980/** VRDP script has completed its task */
981#define VINF_VRDP_OPERATION_COMPLETED 2010
982/** VRDP thread has started OK and will run */
983#define VINF_VRDP_THREAD_STARTED 2011
984/** Framebuffer is resized, terminate send bitmap procedure */
985#define VINF_VRDP_RESIZE_REQUESTED 2012
986/** Output can be enabled for the client. */
987#define VINF_VRDP_OUTPUT_ENABLE 2013
988/** @} */
989
990
991/** @name Configuration Manager (CFGM) Status Codes
992 * @{
993 */
994/** The integer value was too big for the requested representation. */
995#define VERR_CFGM_INTEGER_TOO_BIG (-2100)
996/** Child node was not found. */
997#define VERR_CFGM_CHILD_NOT_FOUND (-2101)
998/** Path to child node was invalid (i.e. empty). */
999#define VERR_CFGM_INVALID_CHILD_PATH (-2102)
1000/** Value not found. */
1001#define VERR_CFGM_VALUE_NOT_FOUND (-2103)
1002/** No parent node specified. */
1003#define VERR_CFGM_NO_PARENT (-2104)
1004/** No node was specified. */
1005#define VERR_CFGM_NO_NODE (-2105)
1006/** The value is not an integer. */
1007#define VERR_CFGM_NOT_INTEGER (-2106)
1008/** The value is not a zero terminated character string. */
1009#define VERR_CFGM_NOT_STRING (-2107)
1010/** The value is not a byte string. */
1011#define VERR_CFGM_NOT_BYTES (-2108)
1012/** The specified string / bytes buffer was to small. Specify a larger one and retry. */
1013#define VERR_CFGM_NOT_ENOUGH_SPACE (-2109)
1014/** The value is not a zero terminated password string. */
1015#define VERR_CFGM_NOT_PASSWORD (-2110)
1016/** The path of a new node contained slashes or was empty. */
1017#define VERR_CFGM_INVALID_NODE_PATH (-2160)
1018/** A new node couldn't be inserted because one with the same name exists. */
1019#define VERR_CFGM_NODE_EXISTS (-2161)
1020/** A new leaf couldn't be inserted because one with the same name exists. */
1021#define VERR_CFGM_LEAF_EXISTS (-2162)
1022/** An unknown config value was encountered. */
1023#define VERR_CFGM_CONFIG_UNKNOWN_VALUE (-2163)
1024/** An unknown config node (key) was encountered. */
1025#define VERR_CFGM_CONFIG_UNKNOWN_NODE (-2164)
1026/** Internal processing error \#1 in CFGM. */
1027#define VERR_CFGM_IPE_1 (-2165)
1028/** @} */
1029
1030
1031/** @name Time Manager (TM) Status Codes
1032 * @{
1033 */
1034/** The loaded timer state was incorrect. */
1035#define VERR_TM_LOAD_STATE (-2200)
1036/** The timer was not in the correct state for the request operation. */
1037#define VERR_TM_INVALID_STATE (-2201)
1038/** The timer was in a unknown state. Corruption or stupid coding error. */
1039#define VERR_TM_UNKNOWN_STATE (-2202)
1040/** The timer was stuck in an unstable state until we grew impatient and returned. */
1041#define VERR_TM_UNSTABLE_STATE (-2203)
1042/** TM requires GIP. */
1043#define VERR_TM_GIP_REQUIRED (-2204)
1044/** TM does not support the GIP version. */
1045#define VERR_TM_GIP_VERSION (-2205)
1046/** The GIP update interval is too large. */
1047#define VERR_TM_GIP_UPDATE_INTERVAL_TOO_BIG (-2206)
1048/** The timer has a bad clock enum value, probably corruption. */
1049#define VERR_TM_TIMER_BAD_CLOCK (-2207)
1050/** The timer failed to reach a stable state. */
1051#define VERR_TM_TIMER_UNSTABLE_STATE (-2208)
1052/** Attempt to resume a running TSC. */
1053#define VERR_TM_TSC_ALREADY_TICKING (-2209)
1054/** Attempt to pause a paused TSC. */
1055#define VERR_TM_TSC_ALREADY_PAUSED (-2210)
1056/** Invalid value for cVirtualTicking. */
1057#define VERR_TM_VIRTUAL_TICKING_IPE (-2211)
1058/** Max timer limit reached. */
1059#define VERR_TM_TOO_MANY_TIMERS (-2212)
1060/** Invalid timer queue number. */
1061#define VERR_TM_INVALID_TIMER_QUEUE (-2213)
1062/** The timer queue is not longer allowed to grow. */
1063#define VERR_TM_TIMER_QUEUE_CANNOT_GROW (-2214)
1064/** TM internal processing error \#1. */
1065#define VERR_TM_IPE_1 (-2291)
1066/** TM internal processing error \#2. */
1067#define VERR_TM_IPE_2 (-2292)
1068/** TM internal processing error \#3. */
1069#define VERR_TM_IPE_3 (-2293)
1070/** TM internal processing error \#4. */
1071#define VERR_TM_IPE_4 (-2294)
1072/** TM internal processing error \#5. */
1073#define VERR_TM_IPE_5 (-2295)
1074/** TM internal processing error \#6. */
1075#define VERR_TM_IPE_6 (-2296)
1076/** TM internal processing error \#7. */
1077#define VERR_TM_IPE_7 (-2297)
1078/** TM internal processing error \#8. */
1079#define VERR_TM_IPE_8 (-2298)
1080/** TM internal processing error \#9. */
1081#define VERR_TM_IPE_9 (-2299)
1082/** @} */
1083
1084
1085/** @name Trap Manager / Monitor (TRPM) Status Codes
1086 * @{
1087 */
1088/** No active trap. Cannot query or reset a non-existing trap. */
1089#define VERR_TRPM_NO_ACTIVE_TRAP (-2400)
1090/** Active trap. Cannot assert a new trap when one is already active. */
1091#define VERR_TRPM_ACTIVE_TRAP (-2401)
1092/** Reason for leaving RC: Guest tried to write to our IDT - fatal.
1093 * The VM will be terminated assuming the worst, i.e. that the
1094 * guest has read the idtr register. */
1095#define VERR_TRPM_SHADOW_IDT_WRITE (-2402)
1096/** Reason for leaving RC: Fatal trap in hypervisor. */
1097#define VERR_TRPM_DONT_PANIC (-2403)
1098/** Reason for leaving RC: Double Fault. */
1099#define VERR_TRPM_PANIC (-2404)
1100/** Bad TRPM_TRAP_IN_OP. */
1101#define VERR_TRPM_BAD_TRAP_IN_OP (-2405)
1102/** Internal processing error \#1 in TRPM. */
1103#define VERR_TRPM_IPE_1 (-2406)
1104/** Internal processing error \#2 in TRPM. */
1105#define VERR_TRPM_IPE_2 (-2407)
1106/** Internal processing error \#3 in TRPM. */
1107#define VERR_TRPM_IPE_3 (-2408)
1108/** Got into a part of TRPM that is not used when HM (VT-x/AMD-V) is enabled. */
1109#define VERR_TRPM_HM_IPE (-2409)
1110/** @} */
1111
1112
1113/** @name Selector Manager / Monitor (SELM) Status Code
1114 * @{
1115 */
1116/** Reason for leaving RC: Guest tried to write to our GDT - fatal.
1117 * The VM will be terminated assuming the worst, i.e. that the
1118 * guest has read the gdtr register. */
1119#define VERR_SELM_SHADOW_GDT_WRITE (-2500)
1120/** Reason for leaving RC: Guest tried to write to our LDT - fatal.
1121 * The VM will be terminated assuming the worst, i.e. that the
1122 * guest has read the ldtr register. */
1123#define VERR_SELM_SHADOW_LDT_WRITE (-2501)
1124/** Reason for leaving RC: Guest tried to write to our TSS - fatal.
1125 * The VM will be terminated assuming the worst, i.e. that the
1126 * guest has read the ltr register. */
1127#define VERR_SELM_SHADOW_TSS_WRITE (-2502)
1128/** Reason for leaving RC: Sync the GDT table to solve a conflict. */
1129#define VINF_SELM_SYNC_GDT 2503
1130/** No valid TSS present. */
1131#define VERR_SELM_NO_TSS (-2504)
1132/** Invalid guest LDT selector. */
1133#define VERR_SELM_INVALID_LDT (-2505)
1134/** The guest LDT selector is out of bounds. */
1135#define VERR_SELM_LDT_OUT_OF_BOUNDS (-2506)
1136/** Unknown error while reading the guest GDT during shadow table updating. */
1137#define VERR_SELM_GDT_READ_ERROR (-2507)
1138/** The guest GDT so full that we cannot find free space for our own
1139 * selectors. */
1140#define VERR_SELM_GDT_TOO_FULL (-2508)
1141/** Got into a part of SELM that is not used when HM (VT-x/AMD-V) is enabled. */
1142#define VERR_SELM_HM_IPE (-2509)
1143/** @} */
1144
1145
1146/** @name I/O Manager / Monitor (IOM) Status Code
1147 * @{
1148 */
1149/** The specified I/O port range was invalid.
1150 * It was either empty or it was out of bounds. */
1151#define VERR_IOM_INVALID_IOPORT_RANGE (-2600)
1152/** The specified R0 or RC I/O port range didn't have a corresponding R3 range.
1153 * IOMR3IOPortRegisterR3() must be called first. */
1154#define VERR_IOM_NO_R3_IOPORT_RANGE (-2601)
1155/** The specified I/O port range intruded on an existing range. There is
1156 * a I/O port conflict between two device, or a device tried to register
1157 * the same range twice. */
1158#define VERR_IOM_IOPORT_RANGE_CONFLICT (-2602)
1159/** The I/O port range specified for removal wasn't found or it wasn't contiguous. */
1160#define VERR_IOM_IOPORT_RANGE_NOT_FOUND (-2603)
1161/** The specified I/O port range was owned by some other device(s). Both registration
1162 * and deregistration, but in the first case only RC and R0 ranges. */
1163#define VERR_IOM_NOT_IOPORT_RANGE_OWNER (-2604)
1164
1165/** The specified MMIO range was invalid.
1166 * It was either empty or it was out of bounds. */
1167#define VERR_IOM_INVALID_MMIO_RANGE (-2605)
1168/** The specified R0 or RC MMIO range didn't have a corresponding R3 range.
1169 * IOMR3MMIORegisterR3() must be called first. */
1170#define VERR_IOM_NO_R3_MMIO_RANGE (-2606)
1171/** The specified MMIO range was owned by some other device(s). Both registration
1172 * and deregistration, but in the first case only RC and R0 ranges. */
1173#define VERR_IOM_NOT_MMIO_RANGE_OWNER (-2607)
1174/** The specified MMIO range intruded on an existing range. There is
1175 * a MMIO conflict between two device, or a device tried to register
1176 * the same range twice. */
1177#define VERR_IOM_MMIO_RANGE_CONFLICT (-2608)
1178/** The MMIO range specified for removal was not found. */
1179#define VERR_IOM_MMIO_RANGE_NOT_FOUND (-2609)
1180/** The MMIO range specified for removal was invalid. The range didn't match
1181 * quite match a set of existing ranges. It's not possible to remove parts of
1182 * a MMIO range, only one or more full ranges. */
1183#define VERR_IOM_INCOMPLETE_MMIO_RANGE (-2610)
1184/** An invalid I/O port size was specified for a read or write operation. */
1185#define VERR_IOM_INVALID_IOPORT_SIZE (-2611)
1186/** The MMIO handler was called for a bogus address! Internal error! */
1187#define VERR_IOM_MMIO_HANDLER_BOGUS_CALL (-2612)
1188/** The MMIO handler experienced a problem with the disassembler. */
1189#define VERR_IOM_MMIO_HANDLER_DISASM_ERROR (-2613)
1190/** The port being read was not present(/unused) and IOM shall return ~0 according to size. */
1191#define VERR_IOM_IOPORT_UNUSED (-2614)
1192/** Unused MMIO register read, fill with 00. */
1193#define VINF_IOM_MMIO_UNUSED_00 2615
1194/** Unused MMIO register read, fill with FF. */
1195#define VINF_IOM_MMIO_UNUSED_FF 2616
1196
1197/** Reason for leaving RZ: I/O port read. */
1198#define VINF_IOM_R3_IOPORT_READ 2620
1199/** Reason for leaving RZ: I/O port write. */
1200#define VINF_IOM_R3_IOPORT_WRITE 2621
1201/** Reason for leaving RZ: Pending I/O port write. Since there is also
1202 * VMCPU_FF_IOM for this condition, it's ok to drop this status code for
1203 * some other VINF_EM_XXX statuses. */
1204#define VINF_IOM_R3_IOPORT_COMMIT_WRITE 2622
1205/** Reason for leaving RZ: MMIO read. */
1206#define VINF_IOM_R3_MMIO_READ 2623
1207/** Reason for leaving RZ: MMIO write. */
1208#define VINF_IOM_R3_MMIO_WRITE 2624
1209/** Reason for leaving RZ: MMIO read/write. */
1210#define VINF_IOM_R3_MMIO_READ_WRITE 2625
1211/** Reason for leaving RZ: Pending MMIO write. Since there is also
1212 * VMCPU_FF_IOM for this condition, it's ok to drop this status code for
1213 * some other VINF_EM_XXX statuses. */
1214#define VINF_IOM_R3_MMIO_COMMIT_WRITE 2626
1215
1216/** IOMGCIOPortHandler was given an unexpected opcode. */
1217#define VERR_IOM_IOPORT_UNKNOWN_OPCODE (-2630)
1218/** Internal processing error \#1 in the I/O port code. */
1219#define VERR_IOM_IOPORT_IPE_1 (-2631)
1220/** Internal processing error \#2 in the I/O port code. */
1221#define VERR_IOM_IOPORT_IPE_2 (-2632)
1222/** Internal processing error \#3 in the I/O port code. */
1223#define VERR_IOM_IOPORT_IPE_3 (-2633)
1224/** Internal processing error \#1 in the MMIO code. */
1225#define VERR_IOM_MMIO_IPE_1 (-2634)
1226/** Internal processing error \#2 in the MMIO code. */
1227#define VERR_IOM_MMIO_IPE_2 (-2635)
1228/** Internal processing error \#3 in the MMIO code. */
1229#define VERR_IOM_MMIO_IPE_3 (-2636)
1230/** Got into a part of IOM that is not used when HM (VT-x/AMD-V) is enabled. */
1231#define VERR_IOM_HM_IPE (-2637)
1232/** Internal processing error while merging status codes. */
1233#define VERR_IOM_FF_STATUS_IPE (-2638)
1234
1235/** Too many I/O port registrations. */
1236#define VERR_IOM_TOO_MANY_IOPORT_REGISTRATIONS (-2650)
1237/** Invalid I/O port handle. */
1238#define VERR_IOM_INVALID_IOPORT_HANDLE (-2651)
1239/** I/O ports are already mapped. */
1240#define VERR_IOM_IOPORTS_ALREADY_MAPPED (-2652)
1241/** I/O ports are not mapped. */
1242#define VERR_IOM_IOPORTS_NOT_MAPPED (-2653)
1243
1244/** Too many MMIO registrations. */
1245#define VERR_IOM_TOO_MANY_MMIO_REGISTRATIONS (-2660)
1246/** Invalid MMIO handle. */
1247#define VERR_IOM_INVALID_MMIO_HANDLE (-2661)
1248/** MMIO region is already mapped. */
1249#define VERR_IOM_MMIO_REGION_ALREADY_MAPPED (-2662)
1250/** MMIO region is not mapped. */
1251#define VERR_IOM_MMIO_REGION_NOT_MAPPED (-2663)
1252/** @} */
1253
1254
1255/** @name Virtual Machine Monitor (VMM) Status Codes
1256 * @{
1257 */
1258/** Reason for leaving R0: Hit a ring-0 assertion on EMT. */
1259#define VERR_VMM_RING0_ASSERTION (-2701)
1260/** The hyper CR3 differs between PGM and CPUM. */
1261#define VERR_VMM_HYPER_CR3_MISMATCH (-2702)
1262/** Reason for leaving RZ: Illegal call to ring-3. */
1263#define VERR_VMM_RING3_CALL_DISABLED (-2703)
1264/** The VMMR0.r0 module version does not match VBoxVMM.dll/so/dylib.
1265 * If you just upgraded VirtualBox, please terminate all VMs and make sure
1266 * that neither VBoxNetDHCP nor VBoxNetNAT is running. Then try again.
1267 * If this error persists, try re-installing VirtualBox. */
1268#define VERR_VMM_R0_VERSION_MISMATCH (-2704)
1269/** The VMMRC.rc module version does not match VBoxVMM.dll/so/dylib.
1270 * Re-install if you are a user. Developers should make sure the build is
1271 * complete or try with a clean build. */
1272#define VERR_VMM_RC_VERSION_MISMATCH (-2705)
1273/** VMM long jump error. */
1274#define VERR_VMM_LONG_JMP_ERROR (-2709)
1275/** Reason for leaving RC: Caller the tracer in ring-0. */
1276#define VINF_VMM_CALL_TRACER (2712)
1277/** Internal processing error \#1 in the switcher code. */
1278#define VERR_VMM_SWITCHER_IPE_1 (-2713)
1279/** Reason for leaving RZ: Unknown call to ring-3. */
1280#define VINF_VMM_UNKNOWN_RING3_CALL (2714)
1281/** Attempted to use stub switcher. */
1282#define VERR_VMM_SWITCHER_STUB (-2715)
1283/** HM returned in the wrong state. */
1284#define VERR_VMM_WRONG_HM_VMCPU_STATE (-2716)
1285/** SMAP enabled, but the AC flag was found to be clear - check the kernel
1286 * log for details. */
1287#define VERR_VMM_SMAP_BUT_AC_CLEAR (-2717)
1288/** NEM returned in the wrong state. */
1289#define VERR_VMM_WRONG_NEM_VMCPU_STATE (-2718)
1290/** Got back from vmmR0CallRing3SetJmp with the context hook still enabled. */
1291#define VERR_VMM_CONTEXT_HOOK_STILL_ENABLED (-2719)
1292/** Cannot block in ring-0. */
1293#define VERR_VMM_CANNOT_BLOCK (-2720)
1294/** @} */
1295
1296
1297/** @name Pluggable Device and Driver Manager (PDM) Status Codes
1298 * @{
1299 */
1300/** An invalid LUN specification was given. */
1301#define VERR_PDM_NO_SUCH_LUN (-2800)
1302/** A device encountered an unknown configuration value.
1303 * This means that the device is potentially misconfigured and the device
1304 * construction or unit attachment failed because of this. */
1305#define VERR_PDM_DEVINS_UNKNOWN_CFG_VALUES (-2801)
1306/** The above driver doesn't export a interface required by a driver being
1307 * attached to it. Typical misconfiguration problem. */
1308#define VERR_PDM_MISSING_INTERFACE_ABOVE (-2802)
1309/** The below driver doesn't export a interface required by the drive
1310 * having attached it. Typical misconfiguration problem. */
1311#define VERR_PDM_MISSING_INTERFACE_BELOW (-2803)
1312/** A device didn't find a required interface with an attached driver.
1313 * Typical misconfiguration problem. */
1314#define VERR_PDM_MISSING_INTERFACE (-2804)
1315/** A driver encountered an unknown configuration value.
1316 * This means that the driver is potentially misconfigured and the driver
1317 * construction failed because of this. */
1318#define VERR_PDM_DRVINS_UNKNOWN_CFG_VALUES (-2805)
1319/** The PCI bus assigned to a device didn't have room for it.
1320 * Either too many devices are configured on the same PCI bus, or there are
1321 * some internal problem where PDM/PCI doesn't free up slots when unplugging devices. */
1322#define VERR_PDM_TOO_PCI_MANY_DEVICES (-2806)
1323/** A queue is out of free items, the queueing operation failed. */
1324#define VERR_PDM_NO_QUEUE_ITEMS (-2807)
1325/** Not possible to attach further drivers to the driver.
1326 * A driver which doesn't support attachments (below of course) will
1327 * return this status code if it found that further drivers were configured
1328 * to be attached to it. */
1329#define VERR_PDM_DRVINS_NO_ATTACH (-2808)
1330/** Not possible to attach drivers to the device.
1331 * A device which doesn't support attachments (below of course) will
1332 * return this status code if it found that drivers were configured
1333 * to be attached to it. */
1334#define VERR_PDM_DEVINS_NO_ATTACH (-2809)
1335/** No attached driver.
1336 * The PDMDRVHLP::pfnAttach and PDMDEVHLP::pfnDriverAttach will return
1337 * this error when no driver was configured to be attached. */
1338#define VERR_PDM_NO_ATTACHED_DRIVER (-2810)
1339/** The media geometry hasn't been set yet, so it cannot be obtained.
1340 * The caller should then calculate the geometry from the media size. */
1341#define VERR_PDM_GEOMETRY_NOT_SET (-2811)
1342/** The media translation hasn't been set yet, so it cannot be obtained.
1343 * The caller should then guess the translation. */
1344#define VERR_PDM_TRANSLATION_NOT_SET (-2812)
1345/** The media is not mounted, operation requires a mounted media. */
1346#define VERR_PDM_MEDIA_NOT_MOUNTED (-2813)
1347/** Mount failed because a media was already mounted. Unmount the media
1348 * and retry the mount. */
1349#define VERR_PDM_MEDIA_MOUNTED (-2814)
1350/** The media is locked and cannot be unmounted. */
1351#define VERR_PDM_MEDIA_LOCKED (-2815)
1352/** No 'Type' attribute in the DrvBlock configuration.
1353 * Misconfiguration. */
1354#define VERR_PDM_BLOCK_NO_TYPE (-2816)
1355/** The 'Type' attribute in the DrvBlock configuration had an unknown value.
1356 * Misconfiguration. */
1357#define VERR_PDM_BLOCK_UNKNOWN_TYPE (-2817)
1358/** The 'Translation' attribute in the DrvBlock configuration had an unknown value.
1359 * Misconfiguration. */
1360#define VERR_PDM_BLOCK_UNKNOWN_TRANSLATION (-2818)
1361/** The block driver type wasn't supported.
1362 * Misconfiguration of the kind you get when attaching a floppy to an IDE controller. */
1363#define VERR_PDM_UNSUPPORTED_BLOCK_TYPE (-2819)
1364/** A attach or prepare mount call failed because the driver already
1365 * had a driver attached. */
1366#define VERR_PDM_DRIVER_ALREADY_ATTACHED (-2820)
1367/** An attempt on detaching a driver without anyone actually being attached, or
1368 * performing any other operation on an attached driver. */
1369#define VERR_PDM_NO_DRIVER_ATTACHED (-2821)
1370/** The attached driver configuration is missing the 'Driver' attribute. */
1371#define VERR_PDM_CFG_MISSING_DRIVER_NAME (-2822)
1372/** The configured driver wasn't found.
1373 * Either the necessary driver modules wasn't loaded, the name was
1374 * misspelled, or it was a misconfiguration. */
1375#define VERR_PDM_DRIVER_NOT_FOUND (-2823)
1376/** The Ring-3 module was already loaded. */
1377#define VINF_PDM_ALREADY_LOADED (2824)
1378/** The name of the module clashed with an existing module. */
1379#define VERR_PDM_MODULE_NAME_CLASH (-2825)
1380/** Couldn't find any export for registration of drivers/devices. */
1381#define VERR_PDM_NO_REGISTRATION_EXPORT (-2826)
1382/** A module name is too long. */
1383#define VERR_PDM_MODULE_NAME_TOO_LONG (-2827)
1384/** Driver name clash. Another driver with the same name as the
1385 * one being registered exists. */
1386#define VERR_PDM_DRIVER_NAME_CLASH (-2828)
1387/** The version of the driver registration structure is unknown
1388 * to this VBox version. Either mixing incompatible versions or
1389 * the structure isn't correctly initialized. */
1390#define VERR_PDM_UNKNOWN_DRVREG_VERSION (-2829)
1391/** Invalid entry in the driver registration structure. */
1392#define VERR_PDM_INVALID_DRIVER_REGISTRATION (-2830)
1393/** Invalid host bit mask. */
1394#define VERR_PDM_INVALID_DRIVER_HOST_BITS (-2831)
1395/** Not possible to detach a driver because the above driver/device
1396 * doesn't support it. The above entity doesn't implement the pfnDetach call. */
1397#define VERR_PDM_DRIVER_DETACH_NOT_POSSIBLE (-2832)
1398/** No PCI Bus is available to register the device with. This is usually a
1399 * misconfiguration or in rare cases a buggy pci device. */
1400#define VERR_PDM_NO_PCI_BUS (-2833)
1401/** The device is not a registered PCI device and thus cannot
1402 * perform any PCI operations. The device forgot to register it self. */
1403#define VERR_PDM_NOT_PCI_DEVICE (-2834)
1404
1405/** The version of the device registration structure is unknown
1406 * to this VBox version. Either mixing incompatible versions or
1407 * the structure isn't correctly initialized. */
1408#define VERR_PDM_UNKNOWN_DEVREG_VERSION (-2835)
1409/** Invalid entry in the device registration structure. */
1410#define VERR_PDM_INVALID_DEVICE_REGISTRATION (-2836)
1411/** Invalid host bit mask. */
1412#define VERR_PDM_INVALID_DEVICE_GUEST_BITS (-2837)
1413/** The guest bit mask didn't match the guest being loaded. */
1414#define VERR_PDM_INVALID_DEVICE_HOST_BITS (-2838)
1415/** Device name clash. Another device with the same name as the
1416 * one being registered exists. */
1417#define VERR_PDM_DEVICE_NAME_CLASH (-2839)
1418/** The device wasn't found. There was no registered device
1419 * by that name. */
1420#define VERR_PDM_DEVICE_NOT_FOUND (-2840)
1421/** The device instance was not found. */
1422#define VERR_PDM_DEVICE_INSTANCE_NOT_FOUND (-2841)
1423/** The device instance have no base interface. */
1424#define VERR_PDM_DEVICE_INSTANCE_NO_IBASE (-2842)
1425/** The device instance have no such logical unit. */
1426#define VERR_PDM_DEVICE_INSTANCE_LUN_NOT_FOUND (-2843)
1427/** The driver instance could not be found. */
1428#define VERR_PDM_DRIVER_INSTANCE_NOT_FOUND (-2844)
1429/** Logical Unit was not found. */
1430#define VERR_PDM_LUN_NOT_FOUND (-2845)
1431/** The Logical Unit was found, but it had no driver attached to it. */
1432#define VERR_PDM_NO_DRIVER_ATTACHED_TO_LUN (-2846)
1433/** The Logical Unit was found, but it had no driver attached to it. */
1434#define VINF_PDM_NO_DRIVER_ATTACHED_TO_LUN 2846
1435/** No PIC device instance is registered with the current VM and thus
1436 * the PIC operation cannot be performed. */
1437#define VERR_PDM_NO_PIC_INSTANCE (-2847)
1438/** No APIC device instance is registered with the current VM and thus
1439 * the APIC operation cannot be performed. */
1440#define VERR_PDM_NO_APIC_INSTANCE (-2848)
1441/** No DMAC device instance is registered with the current VM and thus
1442 * the DMA operation cannot be performed. */
1443#define VERR_PDM_NO_DMAC_INSTANCE (-2849)
1444/** No RTC device instance is registered with the current VM and thus
1445 * the RTC or CMOS operation cannot be performed. */
1446#define VERR_PDM_NO_RTC_INSTANCE (-2850)
1447/** Unable to open the host interface due to a sharing violation . */
1448#define VERR_PDM_HIF_SHARING_VIOLATION (-2851)
1449/** Unable to open the host interface. */
1450#define VERR_PDM_HIF_OPEN_FAILED (-2852)
1451/** The device doesn't support runtime driver attaching.
1452 * The PDMDEVREG::pfnAttach callback function is NULL. */
1453#define VERR_PDM_DEVICE_NO_RT_ATTACH (-2853)
1454/** The driver doesn't support runtime driver attaching.
1455 * The PDMDRVREG::pfnAttach callback function is NULL. */
1456#define VERR_PDM_DRIVER_NO_RT_ATTACH (-2854)
1457/** Invalid host interface version. */
1458#define VERR_PDM_HIF_INVALID_VERSION (-2855)
1459
1460/** The version of the USB device registration structure is unknown
1461 * to this VBox version. Either mixing incompatible versions or
1462 * the structure isn't correctly initialized. */
1463#define VERR_PDM_UNKNOWN_USBREG_VERSION (-2856)
1464/** Invalid entry in the device registration structure. */
1465#define VERR_PDM_INVALID_USB_REGISTRATION (-2857)
1466/** Driver name clash. Another driver with the same name as the
1467 * one being registered exists. */
1468#define VERR_PDM_USB_NAME_CLASH (-2858)
1469/** The USB hub is already registered. */
1470#define VERR_PDM_USB_HUB_EXISTS (-2859)
1471/** Couldn't find any USB hubs to attach the device to. */
1472#define VERR_PDM_NO_USB_HUBS (-2860)
1473/** Couldn't find any free USB ports to attach the device to. */
1474#define VERR_PDM_NO_USB_PORTS (-2861)
1475/** Couldn't find the USB Proxy device. Using OSE? */
1476#define VERR_PDM_NO_USBPROXY (-2862)
1477/** The async completion template is still used. */
1478#define VERR_PDM_ASYNC_TEMPLATE_BUSY (-2863)
1479/** The async completion task is already suspended. */
1480#define VERR_PDM_ASYNC_COMPLETION_ALREADY_SUSPENDED (-2864)
1481/** The async completion task is not suspended. */
1482#define VERR_PDM_ASYNC_COMPLETION_NOT_SUSPENDED (-2865)
1483/** The driver properties were invalid, and as a consequence construction
1484 * failed. Caused my unusable media or similar problems. */
1485#define VERR_PDM_DRIVER_INVALID_PROPERTIES (-2866)
1486/** Too many instances of a device. */
1487#define VERR_PDM_TOO_MANY_DEVICE_INSTANCES (-2867)
1488/** Too many instances of a driver. */
1489#define VERR_PDM_TOO_MANY_DRIVER_INSTANCES (-2868)
1490/** Too many instances of a usb device. */
1491#define VERR_PDM_TOO_MANY_USB_DEVICE_INSTANCES (-2869)
1492/** The device instance structure version has changed.
1493 *
1494 * If you have upgraded VirtualBox recently, please make sure you have
1495 * terminated all VMs and upgraded any extension packs. If this error
1496 * persists, try re-installing VirtualBox. */
1497#define VERR_PDM_DEVINS_VERSION_MISMATCH (-2870)
1498/** The device helper structure version has changed.
1499 *
1500 * If you have upgraded VirtualBox recently, please make sure you have
1501 * terminated all VMs and upgraded any extension packs. If this error
1502 * persists, try re-installing VirtualBox. */
1503#define VERR_PDM_DEVHLP_VERSION_MISMATCH (-2871)
1504/** The USB device instance structure version has changed.
1505 *
1506 * If you have upgraded VirtualBox recently, please make sure you have
1507 * terminated all VMs and upgraded any extension packs. If this error
1508 * persists, try re-installing VirtualBox. */
1509#define VERR_PDM_USBINS_VERSION_MISMATCH (-2872)
1510/** The USB device helper structure version has changed.
1511 *
1512 * If you have upgraded VirtualBox recently, please make sure you have
1513 * terminated all VMs and upgraded any extension packs. If this error
1514 * persists, try re-installing VirtualBox. */
1515#define VERR_PDM_USBHLPR3_VERSION_MISMATCH (-2873)
1516/** The driver instance structure version has changed.
1517 *
1518 * If you have upgraded VirtualBox recently, please make sure you have
1519 * terminated all VMs and upgraded any extension packs. If this error
1520 * persists, try re-installing VirtualBox. */
1521#define VERR_PDM_DRVINS_VERSION_MISMATCH (-2874)
1522/** The driver helper structure version has changed.
1523 *
1524 * If you have upgraded VirtualBox recently, please make sure you have
1525 * terminated all VMs and upgraded any extension packs. If this error
1526 * persists, try re-installing VirtualBox. */
1527#define VERR_PDM_DRVHLPR3_VERSION_MISMATCH (-2875)
1528/** Generic device structure version mismatch.
1529 *
1530 * If you have upgraded VirtualBox recently, please make sure you have
1531 * terminated all VMs and upgraded any extension packs. If this error
1532 * persists, try re-installing VirtualBox. */
1533#define VERR_PDM_DEVICE_VERSION_MISMATCH (-2876)
1534/** Generic USB device structure version mismatch.
1535 *
1536 * If you have upgraded VirtualBox recently, please make sure you have
1537 * terminated all VMs and upgraded any extension packs. If this error
1538 * persists, try re-installing VirtualBox. */
1539#define VERR_PDM_USBDEV_VERSION_MISMATCH (-2877)
1540/** Generic driver structure version mismatch.
1541 *
1542 * If you have upgraded VirtualBox recently, please make sure you have
1543 * terminated all VMs and upgraded any extension packs. If this error
1544 * persists, try re-installing VirtualBox. */
1545#define VERR_PDM_DRIVER_VERSION_MISMATCH (-2878)
1546/** PDMVMMDevHeapR3ToGCPhys failure. */
1547#define VERR_PDM_DEV_HEAP_R3_TO_GCPHYS (-2879)
1548/** A legacy device isn't implementing the HPET notification interface. */
1549#define VERR_PDM_HPET_LEGACY_NOTIFY_MISSING (-2880)
1550/** Internal processing error in the critical section code. */
1551#define VERR_PDM_CRITSECT_IPE (-2881)
1552/** The critical section being deleted was not found. */
1553#define VERR_PDM_CRITSECT_NOT_FOUND (-2882)
1554/** A PDMThread API was called by the wrong thread. */
1555#define VERR_PDM_THREAD_INVALID_CALLER (-2883)
1556/** Internal processing error \#1 in the PDM Thread code. */
1557#define VERR_PDM_THREAD_IPE_1 (-2884)
1558/** Internal processing error \#2 in the PDM Thread code. */
1559#define VERR_PDM_THREAD_IPE_2 (-2885)
1560/** Only one PCI function is supported per PDM device. */
1561#define VERR_PDM_ONE_PCI_FUNCTION_PER_DEVICE (-2886)
1562/** Bad PCI configuration. */
1563#define VERR_PDM_BAD_PCI_CONFIG (-2887)
1564/** Internal processing error # in the PDM device code. */
1565#define VERR_PDM_DEV_IPE_1 (-2888)
1566/** Misconfigured driver chain transformation. */
1567#define VERR_PDM_MISCONFIGURED_DRV_TRANSFORMATION (-2889)
1568/** The driver is already removed, not more transformations possible (at
1569 * present). */
1570#define VERR_PDM_CANNOT_TRANSFORM_REMOVED_DRIVER (-2890)
1571/** The PCI device isn't configured as a busmaster, physical memory access
1572 * rejected. */
1573#define VERR_PDM_NOT_PCI_BUS_MASTER (-2891)
1574/** Got into a part of PDM that is not used when HM (VT-x/AMD-V) is enabled. */
1575#define VERR_PDM_HM_IPE (-2892)
1576/** The I/O request was canceled. */
1577#define VERR_PDM_MEDIAEX_IOREQ_CANCELED (-2893)
1578/** There is not enough room to store the data. */
1579#define VERR_PDM_MEDIAEX_IOBUF_OVERFLOW (-2894)
1580/** There is not enough data to satisfy the request. */
1581#define VERR_PDM_MEDIAEX_IOBUF_UNDERRUN (-2895)
1582/** The I/O request ID is already existing. */
1583#define VERR_PDM_MEDIAEX_IOREQID_CONFLICT (-2896)
1584/** The I/O request ID was not found. */
1585#define VERR_PDM_MEDIAEX_IOREQID_NOT_FOUND (-2897)
1586/** The I/O request is in progress. */
1587#define VINF_PDM_MEDIAEX_IOREQ_IN_PROGRESS 2898
1588/** The I/O request is in an invalid state for this operation. */
1589#define VERR_PDM_MEDIAEX_IOREQ_INVALID_STATE (-2899)
1590
1591/** Returned by PCI config space callbacks to indicate taking default action. */
1592#define VINF_PDM_PCI_DO_DEFAULT (7200)
1593/** Failed to abort entering a critical section in ring-0. */
1594#define VERR_PDM_CRITSECT_ABORT_FAILED (-7201)
1595/** Too many readers on read/write critical section. */
1596#define VERR_PDM_CRITSECTRW_TOO_MANY_READERS (-7202)
1597/** Too many writes on read/write critical section. */
1598#define VERR_PDM_CRITSECTRW_TOO_MANY_WRITERS (-7203)
1599/** Too many write or write/read recursions on read/write critical section. */
1600#define VERR_PDM_CRITSECTRW_TOO_MANY_RECURSIONS (-7204)
1601/** Internal error in read-write critical section. */
1602#define VERR_PDM_CRITSECTRW_IPE (-7205)
1603/** Misaligned read/write critical section. */
1604#define VERR_PDM_CRITSECTRW_MISALIGNED (-7206)
1605/** @} */
1606
1607
1608/** @name Host-Guest Communication Manager (HGCM) Status Codes
1609 * @{
1610 */
1611/** Requested service does not exist. */
1612#define VERR_HGCM_SERVICE_NOT_FOUND (-2900)
1613/** Service rejected client connection */
1614#define VINF_HGCM_CLIENT_REJECTED 2901
1615/** Command address is invalid. */
1616#define VERR_HGCM_INVALID_CMD_ADDRESS (-2902)
1617/** Service will execute the command in background. */
1618#define VINF_HGCM_ASYNC_EXECUTE 2903
1619/** HGCM could not perform requested operation because of an internal error. */
1620#define VERR_HGCM_INTERNAL (-2904)
1621/** Invalid HGCM client id. */
1622#define VERR_HGCM_INVALID_CLIENT_ID (-2905)
1623/** The HGCM is saving state. */
1624#define VINF_HGCM_SAVE_STATE (2906)
1625/** Requested service already exists. */
1626#define VERR_HGCM_SERVICE_EXISTS (-2907)
1627/** Too many clients for the service. */
1628#define VERR_HGCM_TOO_MANY_CLIENTS (-2908)
1629/** Too many calls to the service from a client. */
1630#define VERR_HGCM_TOO_MANY_CLIENT_CALLS (-2909)
1631/** @} */
1632
1633
1634/** @name Network Address Translation Driver (DrvNAT) Status Codes
1635 * @{
1636 */
1637/** Failed to convert the specified Guest IP to a binary IP address.
1638 * Malformed input. */
1639#define VERR_NAT_REDIR_GUEST_IP (-3001)
1640/** Failed while setting up a redirector rule.
1641 * There probably is a conflict between the rule and some existing
1642 * service on the computer. */
1643#define VERR_NAT_REDIR_SETUP (-3002)
1644/** @} */
1645
1646
1647/** @name HostIF Driver (DrvTUN) Status Codes
1648 * @{
1649 */
1650/** The Host Interface Networking init program failed. */
1651#define VERR_HOSTIF_INIT_FAILED (-3100)
1652/** The Host Interface Networking device name is too long. */
1653#define VERR_HOSTIF_DEVICE_NAME_TOO_LONG (-3101)
1654/** The Host Interface Networking name config IOCTL call failed. */
1655#define VERR_HOSTIF_IOCTL (-3102)
1656/** Failed to make the Host Interface Networking handle non-blocking. */
1657#define VERR_HOSTIF_BLOCKING (-3103)
1658/** If a Host Interface Networking filehandle was specified it's not allowed to
1659 * have any init or term programs. */
1660#define VERR_HOSTIF_FD_AND_INIT_TERM (-3104)
1661/** The Host Interface Networking terminate program failed. */
1662#define VERR_HOSTIF_TERM_FAILED (-3105)
1663/** @} */
1664
1665
1666/** @name VBox HDD Container (VD) Status Codes
1667 * @{
1668 */
1669/** Invalid image type. */
1670#define VERR_VD_INVALID_TYPE (-3200)
1671/** Operation can't be done in current HDD container state. */
1672#define VERR_VD_INVALID_STATE (-3201)
1673/** Configuration value not found. */
1674#define VERR_VD_VALUE_NOT_FOUND (-3202)
1675/** Virtual HDD is not opened. */
1676#define VERR_VD_NOT_OPENED (-3203)
1677/** Requested image is not opened. */
1678#define VERR_VD_IMAGE_NOT_FOUND (-3204)
1679/** Image is read-only. */
1680#define VERR_VD_IMAGE_READ_ONLY (-3205)
1681/** Geometry hasn't been set. */
1682#define VERR_VD_GEOMETRY_NOT_SET (-3206)
1683/** No data for this block in image. */
1684#define VERR_VD_BLOCK_FREE (-3207)
1685/** Differencing and parent images can't be used together due to UUID. */
1686#define VERR_VD_UUID_MISMATCH (-3208)
1687/** Asynchronous I/O request finished. */
1688#define VINF_VD_ASYNC_IO_FINISHED 3209
1689/** Asynchronous I/O is not finished yet. */
1690#define VERR_VD_ASYNC_IO_IN_PROGRESS (-3210)
1691/** The image is too small or too large for this format. */
1692#define VERR_VD_INVALID_SIZE (-3211)
1693/** Configuration value is unknown. This indicates misconfiguration. */
1694#define VERR_VD_UNKNOWN_CFG_VALUES (-3212)
1695/** Interface is unknown. This indicates misconfiguration. */
1696#define VERR_VD_UNKNOWN_INTERFACE (-3213)
1697/** The DEK for disk encryption is missing. */
1698#define VERR_VD_DEK_MISSING (-3214)
1699/** The provided password to decrypt the DEK was incorrect. */
1700#define VERR_VD_PASSWORD_INCORRECT (-3215)
1701/** Generic: Invalid image file header. Use this for plugins. */
1702#define VERR_VD_GEN_INVALID_HEADER (-3220)
1703/** VDI: Invalid image file header. */
1704#define VERR_VD_VDI_INVALID_HEADER (-3230)
1705/** VDI: Invalid image file header: invalid signature. */
1706#define VERR_VD_VDI_INVALID_SIGNATURE (-3231)
1707/** VDI: Invalid image file header: invalid version. */
1708#define VERR_VD_VDI_UNSUPPORTED_VERSION (-3232)
1709/** Comment string is too long. */
1710#define VERR_VD_VDI_COMMENT_TOO_LONG (-3233)
1711/** VMDK: Invalid image file header. */
1712#define VERR_VD_VMDK_INVALID_HEADER (-3240)
1713/** VMDK: Invalid image file header: invalid version. */
1714#define VERR_VD_VMDK_UNSUPPORTED_VERSION (-3241)
1715/** VMDK: Image property not found. */
1716#define VERR_VD_VMDK_VALUE_NOT_FOUND (-3242)
1717/** VMDK: Operation can't be done in current image state. */
1718#define VERR_VD_VMDK_INVALID_STATE (-3243)
1719/** VMDK: Format is invalid/inconsistent. */
1720#define VERR_VD_VMDK_INVALID_FORMAT (-3244)
1721/** VMDK: Invalid write position. */
1722#define VERR_VD_VMDK_INVALID_WRITE (-3245)
1723/** iSCSI: Invalid header, i.e. dummy for validity check. */
1724#define VERR_VD_ISCSI_INVALID_HEADER (-3250)
1725/** iSCSI: Operation can't be done in current image state. */
1726#define VERR_VD_ISCSI_INVALID_STATE (-3251)
1727/** iSCSI: Invalid device type (not a disk). */
1728#define VERR_VD_ISCSI_INVALID_TYPE (-3252)
1729/** iSCSI: Initiator secret not decrypted */
1730#define VERR_VD_ISCSI_SECRET_ENCRYPTED (-3253)
1731/** VHD: Invalid image file header. */
1732#define VERR_VD_VHD_INVALID_HEADER (-3260)
1733/** Parallels HDD: Invalid image file header. */
1734#define VERR_VD_PARALLELS_INVALID_HEADER (-3265)
1735/** DMG: Invalid image file header. */
1736#define VERR_VD_DMG_INVALID_HEADER (-3267)
1737/** Raw: Invalid image file header. */
1738#define VERR_VD_RAW_INVALID_HEADER (-3270)
1739/** Raw: Invalid image file type. */
1740#define VERR_VD_RAW_INVALID_TYPE (-3271)
1741/** The backend needs more metadata before it can continue. */
1742#define VERR_VD_NOT_ENOUGH_METADATA (-3272)
1743/** Halt the current I/O context until further notification from the backend. */
1744#define VERR_VD_IOCTX_HALT (-3273)
1745/** The disk has a cache attached already. */
1746#define VERR_VD_CACHE_ALREADY_EXISTS (-3274)
1747/** There is no cache attached to the disk. */
1748#define VERR_VD_CACHE_NOT_FOUND (-3275)
1749/** The cache is not up to date with the image. */
1750#define VERR_VD_CACHE_NOT_UP_TO_DATE (-3276)
1751/** The given range does not meet the required alignment. */
1752#define VERR_VD_DISCARD_ALIGNMENT_NOT_MET (-3277)
1753/** The discard operation is not supported for this image. */
1754#define VERR_VD_DISCARD_NOT_SUPPORTED (-3278)
1755/** The image is the correct format but is corrupted. */
1756#define VERR_VD_IMAGE_CORRUPTED (-3279)
1757/** Repairing the image is not supported. */
1758#define VERR_VD_IMAGE_REPAIR_NOT_SUPPORTED (-3280)
1759/** Repairing the image is not possible because the corruption is to severe. */
1760#define VERR_VD_IMAGE_REPAIR_IMPOSSIBLE (-3281)
1761/** Reading from the image was not possible because the offset is out of the image range.
1762 * This usually indicates that there is a minor corruption in the image meta data. */
1763#define VERR_VD_READ_OUT_OF_RANGE (-3282)
1764/** Block read was marked as free in the image and returned as a zero block. */
1765#define VINF_VD_NEW_ZEROED_BLOCK 3283
1766/** Unable to parse the XML in DMG file. */
1767#define VERR_VD_DMG_XML_PARSE_ERROR (-3284)
1768/** Unable to locate a usable DMG file within the XAR archive. */
1769#define VERR_VD_DMG_NOT_FOUND_INSIDE_XAR (-3285)
1770/** The size of the raw image is not dividable by 512 */
1771#define VERR_VD_RAW_SIZE_MODULO_512 (-3286)
1772/** The size of the raw image is not dividable by 2048 */
1773#define VERR_VD_RAW_SIZE_MODULO_2048 (-3287)
1774/** The size of the raw optical image is too small (<= 32K) */
1775#define VERR_VD_RAW_SIZE_OPTICAL_TOO_SMALL (-3288)
1776/** The size of the raw floppy image is too big (>2.88MB) */
1777#define VERR_VD_RAW_SIZE_FLOPPY_TOO_BIG (-3289)
1778/** Reducing the size is not supported */
1779#define VERR_VD_SHRINK_NOT_SUPPORTED (-3290)
1780/** @} */
1781
1782
1783/** @name VBox Guest Library (VBGL) Status Codes
1784 * @{
1785 */
1786/** Library was not initialized. */
1787#define VERR_VBGL_NOT_INITIALIZED (-3300)
1788/** Virtual address was not allocated by the library. */
1789#define VERR_VBGL_INVALID_ADDR (-3301)
1790/** IOCtl to VBoxGuest driver failed. */
1791#define VERR_VBGL_IOCTL_FAILED (-3302)
1792/** @} */
1793
1794
1795/** @name VBox USB (VUSB) Status Codes
1796 * @{
1797 */
1798/** No available ports on the hub.
1799 * This error is returned when a device is attempted created and/or attached
1800 * to a hub which is out of ports. */
1801#define VERR_VUSB_NO_PORTS (-3400)
1802/** The requested operation cannot be performed on a detached USB device. */
1803#define VERR_VUSB_DEVICE_NOT_ATTACHED (-3401)
1804/** Failed to allocate memory for a URB. */
1805#define VERR_VUSB_NO_URB_MEMORY (-3402)
1806/** General failure during URB queuing.
1807 * This will go away when the queueing gets proper status code handling. */
1808#define VERR_VUSB_FAILED_TO_QUEUE_URB (-3403)
1809/** Device creation failed because the USB device name was not found. */
1810#define VERR_VUSB_DEVICE_NAME_NOT_FOUND (-3404)
1811/** Not permitted to open the USB device.
1812 * The user doesn't have access to the device in the usbfs, check the mount options. */
1813#define VERR_VUSB_USBFS_PERMISSION (-3405)
1814/** The requested operation cannot be performed because the device
1815 * is currently being reset. */
1816#define VERR_VUSB_DEVICE_IS_RESETTING (-3406)
1817/** The requested operation cannot be performed because the device
1818 * is currently suspended. */
1819#define VERR_VUSB_DEVICE_IS_SUSPENDED (-3407)
1820/** Not permitted to open the USB device.
1821 * The user doesn't have access to the device node, check group memberships. */
1822#define VERR_VUSB_USB_DEVICE_PERMISSION (-3408)
1823/** @} */
1824
1825
1826/** @name VBox VGA Status Codes
1827 * @{
1828 */
1829/** One of the custom modes was incorrect.
1830 * The format or bit count of the custom mode value is invalid. */
1831#define VERR_VGA_INVALID_CUSTOM_MODE (-3500)
1832/** The display connector is resizing. */
1833#define VINF_VGA_RESIZE_IN_PROGRESS (3501)
1834/** Unexpected PCI region change during VGA saved state loading. */
1835#define VERR_VGA_UNEXPECTED_PCI_REGION_LOAD_CHANGE (-3502)
1836/** Unabled to locate or load the OpenGL library. */
1837#define VERR_VGA_GL_LOAD_FAILURE (-3503)
1838/** Unabled to locate an OpenGL symbol. */
1839#define VERR_VGA_GL_SYMBOL_NOT_FOUND (-3504)
1840/** @} */
1841
1842
1843/** @name Internal Networking Status Codes
1844 * @{
1845 */
1846/** The networking interface to filter was not found. */
1847#define VERR_INTNET_FLT_IF_NOT_FOUND (-3600)
1848/** The networking interface to filter was busy (used by someone). */
1849#define VERR_INTNET_FLT_IF_BUSY (-3601)
1850/** Failed to create or connect to a networking interface filter. */
1851#define VERR_INTNET_FLT_IF_FAILED (-3602)
1852/** The network already exists with a different trunk configuration. */
1853#define VERR_INTNET_INCOMPATIBLE_TRUNK (-3603)
1854/** The network already exists with a different security profile (restricted / public). */
1855#define VERR_INTNET_INCOMPATIBLE_FLAGS (-3604)
1856/** Failed to create a virtual network interface instance. */
1857#define VERR_INTNET_FLT_VNIC_CREATE_FAILED (-3605)
1858/** Failed to retrieve a virtual network interface link ID. */
1859#define VERR_INTNET_FLT_VNIC_LINK_ID_NOT_FOUND (-3606)
1860/** Failed to initialize a virtual network interface instance. */
1861#define VERR_INTNET_FLT_VNIC_INIT_FAILED (-3607)
1862/** Failed to open a virtual network interface instance. */
1863#define VERR_INTNET_FLT_VNIC_OPEN_FAILED (-3608)
1864/** Failed to retrieve underlying (lower mac) link. */
1865#define VERR_INTNET_FLT_LOWER_LINK_INFO_NOT_FOUND (-3609)
1866/** Failed to open underlying link instance. */
1867#define VERR_INTNET_FLT_LOWER_LINK_OPEN_FAILED (-3610)
1868/** Failed to get underlying link ID. */
1869#define VERR_INTNET_FLT_LOWER_LINK_ID_NOT_FOUND (-3611)
1870/** @} */
1871
1872
1873/** @name Support Driver Status Codes
1874 * @{
1875 */
1876/** The component factory was not found. */
1877#define VERR_SUPDRV_COMPONENT_NOT_FOUND (-3700)
1878/** The component factories do not support the requested interface. */
1879#define VERR_SUPDRV_INTERFACE_NOT_SUPPORTED (-3701)
1880/** The service module was not found. */
1881#define VERR_SUPDRV_SERVICE_NOT_FOUND (-3702)
1882/** The host kernel is too old. */
1883#define VERR_SUPDRV_KERNEL_TOO_OLD_FOR_VTX (-3703)
1884/** Bad VTG magic value. */
1885#define VERR_SUPDRV_VTG_MAGIC (-3704)
1886/** Bad VTG bit count value. */
1887#define VERR_SUPDRV_VTG_BITS (-3705)
1888/** Bad VTG header - misc. */
1889#define VERR_SUPDRV_VTG_BAD_HDR_MISC (-3706)
1890/** Bad VTG header - offset. */
1891#define VERR_SUPDRV_VTG_BAD_HDR_OFF (-3707)
1892/** Bad VTG header - offset. */
1893#define VERR_SUPDRV_VTG_BAD_HDR_PTR (-3708)
1894/** Bad VTG header - to low value. */
1895#define VERR_SUPDRV_VTG_BAD_HDR_TOO_FEW (-3709)
1896/** Bad VTG header - to high value. */
1897#define VERR_SUPDRV_VTG_BAD_HDR_TOO_MUCH (-3710)
1898/** Bad VTG header - size value is not a multiple of the structure size. */
1899#define VERR_SUPDRV_VTG_BAD_HDR_NOT_MULTIPLE (-3711)
1900/** Bad VTG string table offset. */
1901#define VERR_SUPDRV_VTG_STRTAB_OFF (-3712)
1902/** Bad VTG string. */
1903#define VERR_SUPDRV_VTG_BAD_STRING (-3713)
1904/** VTG string is too long. */
1905#define VERR_SUPDRV_VTG_STRING_TOO_LONG (-3714)
1906/** Bad VTG attribute value. */
1907#define VERR_SUPDRV_VTG_BAD_ATTR (-3715)
1908/** Bad VTG provider descriptor. */
1909#define VERR_SUPDRV_VTG_BAD_PROVIDER (-3716)
1910/** Bad VTG probe descriptor. */
1911#define VERR_SUPDRV_VTG_BAD_PROBE (-3717)
1912/** Bad VTG argument list descriptor. */
1913#define VERR_SUPDRV_VTG_BAD_ARGLIST (-3718)
1914/** Bad VTG probe enabled data. */
1915#define VERR_SUPDRV_VTG_BAD_PROBE_ENABLED (-3719)
1916/** Bad VTG probe location record. */
1917#define VERR_SUPDRV_VTG_BAD_PROBE_LOC (-3720)
1918/** The VTG object for the session or image has already been registered. */
1919#define VERR_SUPDRV_VTG_ALREADY_REGISTERED (-3721)
1920/** A driver may only register one VTG object per session. */
1921#define VERR_SUPDRV_VTG_ONLY_ONCE_PER_SESSION (-3722)
1922/** A tracer has already been registered. */
1923#define VERR_SUPDRV_TRACER_ALREADY_REGISTERED (-3723)
1924/** The session has no tracer associated with it. */
1925#define VERR_SUPDRV_TRACER_NOT_REGISTERED (-3724)
1926/** The tracer has already been opened in this sesssion. */
1927#define VERR_SUPDRV_TRACER_ALREADY_OPENED (-3725)
1928/** The tracer has not been opened. */
1929#define VERR_SUPDRV_TRACER_NOT_OPENED (-3726)
1930/** There is no tracer present. */
1931#define VERR_SUPDRV_TRACER_NOT_PRESENT (-3727)
1932/** The tracer is unloading. */
1933#define VERR_SUPDRV_TRACER_UNLOADING (-3728)
1934/** Another thread in the session is talking to the tracer. */
1935#define VERR_SUPDRV_TRACER_SESSION_BUSY (-3729)
1936/** The tracer cannot open it self in the same session. */
1937#define VERR_SUPDRV_TRACER_CANNOT_OPEN_SELF (-3730)
1938/** Bad argument flags. */
1939#define VERR_SUPDRV_TRACER_BAD_ARG_FLAGS (-3731)
1940/** The session has reached the max number of (user mode) providers. */
1941#define VERR_SUPDRV_TRACER_TOO_MANY_PROVIDERS (-3732)
1942/** The tracepoint provider object is too large. */
1943#define VERR_SUPDRV_TRACER_TOO_LARGE (-3733)
1944/** The probe location array isn't adjacent to the probe enable array. */
1945#define VERR_SUPDRV_TRACER_UMOD_NOT_ADJACENT (-3734)
1946/** The user mode tracepoint provider has too many probe locations and
1947 * probes. */
1948#define VERR_SUPDRV_TRACER_UMOD_TOO_MANY_PROBES (-3735)
1949/** The user mode tracepoint provider string table is too large. */
1950#define VERR_SUPDRV_TRACER_UMOD_STRTAB_TOO_BIG (-3736)
1951/** The user mode tracepoint provider string table offset is bad. */
1952#define VERR_SUPDRV_TRACER_UMOD_STRTAB_OFF_BAD (-3737)
1953/** The VM process was denied access to vboxdrv because someone have managed to
1954 * open the process or its main thread with too broad access rights. */
1955#define VERR_SUPDRV_HARDENING_EVIL_HANDLE (-3738)
1956/** Error opening the ApiPort LPC object. */
1957#define VERR_SUPDRV_APIPORT_OPEN_ERROR (-3739)
1958/** Error enumerating all processes in the session. */
1959#define VERR_SUPDRV_SESSION_PROCESS_ENUM_ERROR (-3740)
1960/** The CSRSS instance associated with the client process could not be
1961 * located. */
1962#define VERR_SUPDRV_CSRSS_NOT_FOUND (-3741)
1963/** Type error opening the ApiPort LPC object. */
1964#define VERR_SUPDRV_APIPORT_OPEN_ERROR_TYPE (-3742)
1965/** Failed to measure the TSC delta between two CPUs. */
1966#define VERR_SUPDRV_TSC_DELTA_MEASUREMENT_FAILED (-3743)
1967/** Failed to calculate the TSC frequency. */
1968#define VERR_SUPDRV_TSC_FREQ_MEASUREMENT_FAILED (-3744)
1969/** Failed to get the delta-adjusted TSC value. */
1970#define VERR_SUPDRV_TSC_READ_FAILED (-3745)
1971/** Failed to measure the TSC delta between two CPUs, continue without any
1972 * TSC-delta. */
1973#define VWRN_SUPDRV_TSC_DELTA_MEASUREMENT_FAILED 3746
1974/** A TSC-delta measurement request is currently being serviced. */
1975#define VERR_SUPDRV_TSC_DELTA_MEASUREMENT_BUSY (-3747)
1976/** The process trying to open VBoxDrv is not a budding VM process (1). */
1977#define VERR_SUPDRV_NOT_BUDDING_VM_PROCESS_1 (-3748)
1978/** The process trying to open VBoxDrv is not a budding VM process (2). */
1979#define VERR_SUPDRV_NOT_BUDDING_VM_PROCESS_2 (-3749)
1980
1981/** Raw-mode is unavailable courtesy of Hyper-V. */
1982#define VERR_SUPDRV_NO_RAW_MODE_HYPER_V_ROOT (-7000)
1983/** @} */
1984
1985
1986/** @name Support Library Status Codes
1987 * @{
1988 */
1989/** The specified path was not absolute (hardening). */
1990#define VERR_SUPLIB_PATH_NOT_ABSOLUTE (-3750)
1991/** The specified path was not clean (hardening). */
1992#define VERR_SUPLIB_PATH_NOT_CLEAN (-3751)
1993/** The specified path is too long (hardening). */
1994#define VERR_SUPLIB_PATH_TOO_LONG (-3752)
1995/** The specified path is too short (hardening). */
1996#define VERR_SUPLIB_PATH_TOO_SHORT (-3753)
1997/** The specified path has too many components (hardening). */
1998#define VERR_SUPLIB_PATH_TOO_MANY_COMPONENTS (-3754)
1999/** The specified path is a root path (hardening). */
2000#define VERR_SUPLIB_PATH_IS_ROOT (-3755)
2001/** Failed to enumerate directory (hardening). */
2002#define VERR_SUPLIB_DIR_ENUM_FAILED (-3756)
2003/** Failed to stat a file/dir during enumeration (hardening). */
2004#define VERR_SUPLIB_STAT_ENUM_FAILED (-3757)
2005/** Failed to stat a file/dir (hardening). */
2006#define VERR_SUPLIB_STAT_FAILED (-3758)
2007/** Failed to fstat a native handle (hardening). */
2008#define VERR_SUPLIB_FSTAT_FAILED (-3759)
2009/** Found an illegal symbolic link (hardening). */
2010#define VERR_SUPLIB_SYMLINKS_ARE_NOT_PERMITTED (-3760)
2011/** Found something which isn't a file nor a directory (hardening). */
2012#define VERR_SUPLIB_NOT_DIR_NOT_FILE (-3761)
2013/** The specified path is a directory and not a file (hardening). */
2014#define VERR_SUPLIB_IS_DIRECTORY (-3762)
2015/** The specified path is a file and not a directory (hardening). */
2016#define VERR_SUPLIB_IS_FILE (-3763)
2017/** The path is not the same object as the native handle (hardening). */
2018#define VERR_SUPLIB_NOT_SAME_OBJECT (-3764)
2019/** The owner is not root (hardening). */
2020#define VERR_SUPLIB_OWNER_NOT_ROOT (-3765)
2021/** The group is a non-system group and it has write access (hardening). */
2022#define VERR_SUPLIB_WRITE_NON_SYS_GROUP (-3766)
2023/** The file or directory is world writable (hardening). */
2024#define VERR_SUPLIB_WORLD_WRITABLE (-3767)
2025/** The argv[0] of an internal application does not match the executable image
2026 * path (hardening). */
2027#define VERR_SUPLIB_INVALID_ARGV0_INTERNAL (-3768)
2028/** The internal application does not reside in the correct place (hardening). */
2029#define VERR_SUPLIB_INVALID_INTERNAL_APP_DIR (-3769)
2030/** Unable to establish trusted of VM process (0). */
2031#define VERR_SUPLIB_NT_PROCESS_UNTRUSTED_0 (-3770)
2032/** Unable to establish trusted of VM process (1). */
2033#define VERR_SUPLIB_NT_PROCESS_UNTRUSTED_1 (-3771)
2034/** Unable to establish trusted of VM process (2). */
2035#define VERR_SUPLIB_NT_PROCESS_UNTRUSTED_2 (-3772)
2036/** Unable to establish trusted of VM process (3). */
2037#define VERR_SUPLIB_NT_PROCESS_UNTRUSTED_3 (-3773)
2038/** Unable to establish trusted of VM process (4). */
2039#define VERR_SUPLIB_NT_PROCESS_UNTRUSTED_4 (-3774)
2040/** Unable to establish trusted of VM process (5). */
2041#define VERR_SUPLIB_NT_PROCESS_UNTRUSTED_5 (-3775)
2042/** Unable to make text memory writeable (hardening). */
2043#define VERR_SUPLIB_TEXT_NOT_WRITEABLE (-3776)
2044/** Unable to seal text memory again to protect against write access (hardening). */
2045#define VERR_SUPLIB_TEXT_NOT_SEALED (-3777)
2046/** Unexpected instruction encountered for which there is no patch strategy
2047 * implemented (hardening). */
2048#define VERR_SUPLIB_UNEXPECTED_INSTRUCTION (-3778)
2049/** @} */
2050
2051
2052/** @name VBox GMM Status Codes
2053 * @{
2054 */
2055/** Unable to allocate more pages from the host system. */
2056#define VERR_GMM_OUT_OF_MEMORY (-3801)
2057/** Hit the global allocation limit.
2058 * If you know there is still sufficient memory available, try raising the limit. */
2059#define VERR_GMM_HIT_GLOBAL_LIMIT (-3802)
2060/** Hit the a VM account limit. */
2061#define VERR_GMM_HIT_VM_ACCOUNT_LIMIT (-3803)
2062/** Attempt to free more memory than what was previously allocated. */
2063#define VERR_GMM_ATTEMPT_TO_FREE_TOO_MUCH (-3804)
2064/** Attempted to report too many pages as deflated. */
2065#define VERR_GMM_ATTEMPT_TO_DEFLATE_TOO_MUCH (-3805)
2066/** The page to be freed or updated was not found. */
2067#define VERR_GMM_PAGE_NOT_FOUND (-3806)
2068/** The specified shared page was not actually private. */
2069#define VERR_GMM_PAGE_NOT_PRIVATE (-3807)
2070/** The specified shared page was not actually shared. */
2071#define VERR_GMM_PAGE_NOT_SHARED (-3808)
2072/** The page to be freed was already freed. */
2073#define VERR_GMM_PAGE_ALREADY_FREE (-3809)
2074/** The page to be updated or freed was noted owned by the caller. */
2075#define VERR_GMM_NOT_PAGE_OWNER (-3810)
2076/** The specified chunk was not found. */
2077#define VERR_GMM_CHUNK_NOT_FOUND (-3811)
2078/** The chunk has already been mapped into the process. */
2079#define VERR_GMM_CHUNK_ALREADY_MAPPED (-3812)
2080/** The chunk to be unmapped isn't actually mapped into the process. */
2081#define VERR_GMM_CHUNK_NOT_MAPPED (-3813)
2082/** The chunk has been mapped too many times already (impossible). */
2083#define VERR_GMM_TOO_MANY_CHUNK_MAPPINGS (-3814)
2084/** The reservation or reservation update was declined - too many VMs, too
2085 * little memory, and/or too low GMM configuration. */
2086#define VERR_GMM_MEMORY_RESERVATION_DECLINED (-3815)
2087/** A GMM sanity check failed. */
2088#define VERR_GMM_IS_NOT_SANE (-3816)
2089/** Inserting a new chunk failed. */
2090#define VERR_GMM_CHUNK_INSERT (-3817)
2091/** Failed to obtain the GMM instance. */
2092#define VERR_GMM_INSTANCE (-3818)
2093/** Bad mutex semaphore flags. */
2094#define VERR_GMM_MTX_FLAGS (-3819)
2095/** Internal processing error in the page allocator. */
2096#define VERR_GMM_ALLOC_PAGES_IPE (-3820)
2097/** Invalid page count given to GMMR3FreePagesPerform. */
2098#define VERR_GMM_ACTUAL_PAGES_IPE (-3821)
2099/** The shared module name is too long. */
2100#define VERR_GMM_MODULE_NAME_TOO_LONG (-3822)
2101/** The shared module version string is too long. */
2102#define VERR_GMM_MODULE_VERSION_TOO_LONG (-3823)
2103/** The shared module has too many regions. */
2104#define VERR_GMM_TOO_MANY_REGIONS (-3824)
2105/** The guest has reported too many modules. */
2106#define VERR_GMM_TOO_MANY_PER_VM_MODULES (-3825)
2107/** The guest has reported too many modules. */
2108#define VERR_GMM_TOO_MANY_GLOBAL_MODULES (-3826)
2109/** The shared module is already registered. */
2110#define VINF_GMM_SHARED_MODULE_ALREADY_REGISTERED (3827)
2111/** The shared module clashed address wise with a previously registered
2112 * module. */
2113#define VERR_GMM_SHARED_MODULE_ADDRESS_CLASH (-3828)
2114/** The shared module was not found. */
2115#define VERR_GMM_SHARED_MODULE_NOT_FOUND (-3829)
2116/** The size of the shared module was out of range. */
2117#define VERR_GMM_BAD_SHARED_MODULE_SIZE (-3830)
2118/** The size of the one or more regions in the shared module was out of
2119 * range. */
2120#define VERR_GMM_SHARED_MODULE_BAD_REGIONS_SIZE (-3831)
2121/** @} */
2122
2123
2124/** @name VBox GVM Status Codes
2125 * @{
2126 */
2127/** The GVM is out of VM handle space. */
2128#define VERR_GVM_TOO_MANY_VMS (-3900)
2129/** The EMT was not blocked at the time of the call. */
2130#define VINF_GVM_NOT_BLOCKED 3901
2131/** The EMT was not busy running guest code at the time of the call. */
2132#define VINF_GVM_NOT_BUSY_IN_GC 3902
2133/** RTThreadYield was called during a GVMMR0SchedPoll call. */
2134#define VINF_GVM_YIELDED 3903
2135/** @} */
2136
2137
2138/** @name VBox VMX Status Codes
2139 * @{
2140 */
2141/** VMXON failed; possibly because it was already run before. */
2142#define VERR_VMX_VMXON_FAILED (-4000)
2143/** Invalid VMCS pointer.
2144 * (Can be OR'ed with VERR_VMX_INVALID_VMCS_FIELD.) */
2145#define VERR_VMX_INVALID_VMCS_PTR (-4001)
2146/** Invalid VMCS index or write to read-only element. */
2147#define VERR_VMX_INVALID_VMCS_FIELD (-4002)
2148/** Reserved for future status code that we wish to OR with
2149 * VERR_VMX_INVALID_VMCS_PTR and VERR_VMX_INVALID_VMCS_FIELD. */
2150#define VERR_VMX_RESERVED (-4003)
2151/** Invalid VMXON pointer. */
2152#define VERR_VMX_INVALID_VMXON_PTR (-4004)
2153/** Unable to start VM execution. */
2154#define VERR_VMX_UNABLE_TO_START_VM (-4005)
2155/** Unable to switch due to invalid host state. */
2156#define VERR_VMX_INVALID_HOST_STATE (-4006)
2157/** VMX CPU extension not available in hardware. */
2158#define VERR_VMX_NO_VMX (-4009)
2159/** CPU was incorrectly left in VMX root mode; incompatible with VirtualBox */
2160#define VERR_VMX_IN_VMX_ROOT_MODE (-4011)
2161/** Somebody cleared X86_CR4_VMXE in the CR4 register. */
2162#define VERR_VMX_X86_CR4_VMXE_CLEARED (-4012)
2163/** Failed to enable and lock VT-x features. */
2164#define VERR_VMX_MSR_LOCKING_FAILED (-4013)
2165/** Unable to switch due to invalid guest state. */
2166#define VERR_VMX_INVALID_GUEST_STATE (-4014)
2167/** Unexpected VM exit. */
2168#define VERR_VMX_UNEXPECTED_EXIT (-4015)
2169/** Unexpected VM exception. */
2170#define VERR_VMX_UNEXPECTED_EXCEPTION (-4016)
2171/** Unexpected interruption exit type. */
2172#define VERR_VMX_UNEXPECTED_INTERRUPTION_EXIT_TYPE (-4017)
2173/** CPU is not in VMX root mode; unexpected when leaving VMX root mode. */
2174#define VERR_VMX_NOT_IN_VMX_ROOT_MODE (-4018)
2175/** Undefined VM exit code. */
2176#define VERR_VMX_UNDEFINED_EXIT_CODE (-4019)
2177/** VMPTRLD failed; possibly because of invalid VMCS launch-state. */
2178#define VERR_VMX_VMPTRLD_FAILED (-4021)
2179/** Invalid VMCS pointer passed to VMLAUNCH/VMRESUME. */
2180#define VERR_VMX_INVALID_VMCS_PTR_TO_START_VM (-4022)
2181/** Internal VMX processing error no 1. */
2182#define VERR_VMX_IPE_1 (-4023)
2183/** Internal VMX processing error no 2. */
2184#define VERR_VMX_IPE_2 (-4024)
2185/** Internal VMX processing error no 3. */
2186#define VERR_VMX_IPE_3 (-4025)
2187/** Internal VMX processing error no 4. */
2188#define VERR_VMX_IPE_4 (-4026)
2189/** Internal VMX processing error no 5. */
2190#define VERR_VMX_IPE_5 (-4027)
2191/** VT-x features for all modes (SMX and non-SMX) disabled by the BIOS. */
2192#define VERR_VMX_MSR_ALL_VMX_DISABLED (-4028)
2193/** VT-x features disabled by the BIOS. */
2194#define VERR_VMX_MSR_VMX_DISABLED (-4029)
2195/** VT-x VMCS field cache invalid. */
2196#define VERR_VMX_VMCS_FIELD_CACHE_INVALID (-4030)
2197/** Failed to set VMXON enable bit while enabling VT-x through the MSR. */
2198#define VERR_VMX_MSR_VMX_ENABLE_FAILED (-4031)
2199/** Failed to enable VMXON-in-SMX bit while enabling VT-x through the MSR. */
2200#define VERR_VMX_MSR_SMX_VMX_ENABLE_FAILED (-4032)
2201/** An operation caused a nested-guest VM-exit. */
2202#define VINF_VMX_VMEXIT 4033
2203/** Generic VM-entry failure. */
2204#define VERR_VMX_VMENTRY_FAILED (-4033)
2205/** Generic VM-exit failure. */
2206#define VERR_VMX_VMEXIT_FAILED (-4034)
2207/** The requested nested-guest VMX intercept is not active or not in
2208 * nested-guest execution mode. */
2209#define VINF_VMX_INTERCEPT_NOT_ACTIVE 4035
2210/** The behavior of the instruction/operation is modified/needs modification
2211 * in VMX non-root mode. */
2212#define VINF_VMX_MODIFIES_BEHAVIOR 4036
2213/** VMLAUNCH/VMRESUME succeeded, can enter nested-guest execution. */
2214#define VINF_VMX_VMLAUNCH_VMRESUME 4037
2215/** VT-x VMCS launch state invalid. */
2216#define VERR_VMX_INVALID_VMCS_LAUNCH_STATE (-4038)
2217/** Precodition no 0 in hmR0VMXStartVm failed. */
2218#define VERR_VMX_STARTVM_PRECOND_0 (-4039)
2219/** Precodition no 1 in hmR0VMXStartVm failed. */
2220#define VERR_VMX_STARTVM_PRECOND_1 (-4040)
2221/** Precodition no 2 in hmR0VMXStartVm failed. */
2222#define VERR_VMX_STARTVM_PRECOND_2 (-4041)
2223/** Precodition no 3 in hmR0VMXStartVm failed. */
2224#define VERR_VMX_STARTVM_PRECOND_3 (-4042)
2225/** @} */
2226
2227
2228/** @name VBox SVM Status Codes
2229 * @{
2230 */
2231/** Unable to start VM execution. */
2232#define VERR_SVM_UNABLE_TO_START_VM (-4050)
2233/** AMD-V bit not set in K6_EFER MSR */
2234#define VERR_SVM_ILLEGAL_EFER_MSR (-4051)
2235/** AMD-V CPU extension not available. */
2236#define VERR_SVM_NO_SVM (-4052)
2237/** AMD-V CPU extension disabled (by BIOS). */
2238#define VERR_SVM_DISABLED (-4053)
2239/** AMD-V CPU extension in-use. */
2240#define VERR_SVM_IN_USE (-4054)
2241/** Invalid pVMCB. */
2242#define VERR_SVM_INVALID_PVMCB (-4055)
2243/** Unexpected SVM exit. */
2244#define VERR_SVM_UNEXPECTED_EXIT (-4056)
2245/** Unexpected SVM exception exit. */
2246#define VERR_SVM_UNEXPECTED_XCPT_EXIT (-4057)
2247/** Unexpected SVM patch type. */
2248#define VERR_SVM_UNEXPECTED_PATCH_TYPE (-4058)
2249/** Unable to start VM execution due to an invalid guest state. */
2250#define VERR_SVM_INVALID_GUEST_STATE (-4059)
2251/** Unknown or unrecognized SVM exit. */
2252#define VERR_SVM_UNKNOWN_EXIT (-4060)
2253/** Internal SVM processing error no 1. */
2254#define VERR_SVM_IPE_1 (-4061)
2255/** Internal SVM processing error no 2. */
2256#define VERR_SVM_IPE_2 (-4062)
2257/** Internal SVM processing error no 3. */
2258#define VERR_SVM_IPE_3 (-4063)
2259/** Internal SVM processing error no 4. */
2260#define VERR_SVM_IPE_4 (-4064)
2261/** Internal SVM processing error no 5. */
2262#define VERR_SVM_IPE_5 (-4065)
2263/** The nested-guest \#VMEXIT processing failed, initiate shutdown. */
2264#define VERR_SVM_VMEXIT_FAILED (-4066)
2265/** An operation caused a nested-guest SVM \#VMEXIT. */
2266#define VINF_SVM_VMEXIT 4067
2267/** VMRUN emulation succeeded, ready to immediately enter the nested-guest. */
2268#define VINF_SVM_VMRUN 4068
2269/** The requested nested-guest SVM intercept is not active or not in
2270 * nested-guest execution mode. */
2271#define VINF_SVM_INTERCEPT_NOT_ACTIVE 4069
2272/** Precodition no 0 in hmR0SvmVmRun failed. */
2273#define VERR_SVM_VMRUN_PRECOND_0 (-4070)
2274/** Precodition no 1 in hmR0SvmVmRun failed. */
2275#define VERR_SVM_VMRUN_PRECOND_1 (-4071)
2276/** Precodition no 2 in hmR0SvmVmRun failed. */
2277#define VERR_SVM_VMRUN_PRECOND_2 (-4072)
2278/** Precodition no 3 in hmR0SvmVmRun failed. */
2279#define VERR_SVM_VMRUN_PRECOND_3 (-4073)
2280/** @} */
2281
2282
2283/** @name VBox HM Status Codes
2284 * @{
2285 */
2286/** Host is about to go into suspend mode. */
2287#define VERR_HM_SUSPEND_PENDING (-4100)
2288/** Conflicting CFGM values. */
2289#define VERR_HM_CONFIG_MISMATCH (-4103)
2290/** Internal processing error in the HM init code. */
2291#define VERR_HM_ALREADY_ENABLED_IPE (-4104)
2292/** Unexpected MSR in the auto-load/store area. */
2293#define VERR_HM_UNEXPECTED_LD_ST_MSR (-4105)
2294/** No 32-bit to 64-bit switcher in place. */
2295#define VERR_HM_NO_32_TO_64_SWITCHER (-4106)
2296/** HMR0Leave was called on the wrong CPU. */
2297#define VERR_HM_WRONG_CPU (-4107)
2298/** Internal processing error \#1 in the HM code. */
2299#define VERR_HM_IPE_1 (-4108)
2300/** Internal processing error \#2 in the HM code. */
2301#define VERR_HM_IPE_2 (-4109)
2302/** Wrong 32/64-bit switcher. */
2303#define VERR_HM_WRONG_SWITCHER (-4110)
2304/** Unknown I/O instruction. */
2305#define VERR_HM_UNKNOWN_IO_INSTRUCTION (-4111)
2306/** Unsupported CPU feature combination. */
2307#define VERR_HM_UNSUPPORTED_CPU_FEATURE_COMBO (-4112)
2308/** Internal processing error \#3 in the HM code. */
2309#define VERR_HM_IPE_3 (-4113)
2310/** Internal processing error \#4 in the HM code. */
2311#define VERR_HM_IPE_4 (-4114)
2312/** Internal processing error \#5 in the HM code. */
2313#define VERR_HM_IPE_5 (-4115)
2314/** Invalid HM64ON32OP value. */
2315#define VERR_HM_INVALID_HM64ON32OP (-4116)
2316/** Resume guest execution after injecting a double-fault. */
2317#define VINF_HM_DOUBLE_FAULT 4117
2318/** Pending exception; continue guest execution. */
2319#define VINF_HM_PENDING_XCPT 4118
2320/** @} */
2321
2322
2323/** @name VBox Disassembler Status Codes
2324 * @{
2325 */
2326/** Invalid opcode byte(s) */
2327#define VERR_DIS_INVALID_OPCODE (-4200)
2328/** Generic failure during disassembly. */
2329#define VERR_DIS_GEN_FAILURE (-4201)
2330/** No read callback. */
2331#define VERR_DIS_NO_READ_CALLBACK (-4202)
2332/** Invalid Mod/RM. */
2333#define VERR_DIS_INVALID_MODRM (-4203)
2334/** Invalid parameter index. */
2335#define VERR_DIS_INVALID_PARAMETER (-4204)
2336/** The instruction is too long. */
2337#define VERR_DIS_TOO_LONG_INSTR (-4206)
2338/** @} */
2339
2340
2341/** @name VBox Webservice Status Codes
2342 * @{
2343 */
2344/** Authentication failed (ISessionManager::logon()) */
2345#define VERR_WEB_NOT_AUTHENTICATED (-4300)
2346/** Invalid format of managed object reference */
2347#define VERR_WEB_INVALID_MANAGED_OBJECT_REFERENCE (-4301)
2348/** Invalid session ID in managed object reference */
2349#define VERR_WEB_INVALID_SESSION_ID (-4302)
2350/** Invalid object ID in managed object reference */
2351#define VERR_WEB_INVALID_OBJECT_ID (-4303)
2352/** Unsupported interface for managed object reference */
2353#define VERR_WEB_UNSUPPORTED_INTERFACE (-4304)
2354/** @} */
2355
2356
2357/** @name VBox PARAV Status Codes
2358 * @{
2359 */
2360/** Switch back to host */
2361#define VINF_PARAV_SWITCH_TO_HOST 4400
2362
2363/** @} */
2364
2365/** @name VBox Video HW Acceleration command status
2366 * @{
2367 */
2368/** command processing is pending, a completion handler will be called */
2369#define VINF_VHWA_CMD_PENDING 4500
2370
2371/** @} */
2372
2373
2374/** @name VBox COM error codes
2375 *
2376 * @remarks Global::vboxStatusCodeToCOM and Global::vboxStatusCodeFromCOM uses
2377 * these for conversion that is lossless with respect to important COM
2378 * status codes. These methods should be moved to the glue library.
2379 * @{ */
2380/** Unexpected turn of events. */
2381#define VERR_COM_UNEXPECTED (-4600)
2382/** The base of the VirtualBox COM status codes (the lower value)
2383 * corresponding 1:1 to VBOX_E_XXX. This is the lowest value. */
2384#define VERR_COM_VBOX_LOWEST (-4699)
2385/** Object corresponding to the supplied arguments does not exist. */
2386#define VERR_COM_OBJECT_NOT_FOUND (VERR_COM_VBOX_LOWEST + 1)
2387/** Current virtual machine state prevents the operation. */
2388#define VERR_COM_INVALID_VM_STATE (VERR_COM_VBOX_LOWEST + 2)
2389/** Virtual machine error occurred attempting the operation. */
2390#define VERR_COM_VM_ERROR (VERR_COM_VBOX_LOWEST + 3)
2391/** File not accessible or erroneous file contents. */
2392#define VERR_COM_FILE_ERROR (VERR_COM_VBOX_LOWEST + 4)
2393/** IPRT error. */
2394#define VERR_COM_IPRT_ERROR (VERR_COM_VBOX_LOWEST + 5)
2395/** Pluggable Device Manager error. */
2396#define VERR_COM_PDM_ERROR (VERR_COM_VBOX_LOWEST + 6)
2397/** Current object state prohibits operation. */
2398#define VERR_COM_INVALID_OBJECT_STATE (VERR_COM_VBOX_LOWEST + 7)
2399/** Host operating system related error. */
2400#define VERR_COM_HOST_ERROR (VERR_COM_VBOX_LOWEST + 8)
2401/** Requested operation is not supported. */
2402#define VERR_COM_NOT_SUPPORTED (VERR_COM_VBOX_LOWEST + 9)
2403/** Invalid XML found. */
2404#define VERR_COM_XML_ERROR (VERR_COM_VBOX_LOWEST + 10)
2405/** Current session state prohibits operation. */
2406#define VERR_COM_INVALID_SESSION_STATE (VERR_COM_VBOX_LOWEST + 11)
2407/** Object being in use prohibits operation. */
2408#define VERR_COM_OBJECT_IN_USE (VERR_COM_VBOX_LOWEST + 12)
2409/** Returned by callback methods which does not need to be called
2410 * again because the client does not actually make use of them. */
2411#define VERR_COM_DONT_CALL_AGAIN (VERR_COM_VBOX_LOWEST + 13)
2412/** @} */
2413
2414/** @name VBox VMMDev Status codes
2415 * @{
2416 */
2417/** CPU hotplug events from VMMDev are not monitored by the guest. */
2418#define VERR_VMMDEV_CPU_HOTPLUG_NOT_MONITORED_BY_GUEST (-4700)
2419/** @} */
2420
2421/** @name VBox async I/O manager Status Codes
2422 * @{
2423 */
2424/** Async I/O task is pending, a completion handler will be called. */
2425#define VINF_AIO_TASK_PENDING 4800
2426/** @} */
2427
2428/** @name VBox Virtual SCSI Status Codes
2429 * @{
2430 */
2431/** LUN type is not supported. */
2432#define VERR_VSCSI_LUN_TYPE_NOT_SUPPORTED (-4900)
2433/** LUN is already/still attached to a device. */
2434#define VERR_VSCSI_LUN_ATTACHED_TO_DEVICE (-4901)
2435/** The specified LUN is invalid. */
2436#define VERR_VSCSI_LUN_INVALID (-4902)
2437/** The LUN is not attached to the device. */
2438#define VERR_VSCSI_LUN_NOT_ATTACHED (-4903)
2439/** The LUN is still busy. */
2440#define VERR_VSCSI_LUN_BUSY (-4904)
2441/** @} */
2442
2443/** @name VBox FAM Status Codes
2444 * @{
2445 */
2446/** FAM failed to open a connection. */
2447#define VERR_FAM_OPEN_FAILED (-5000)
2448/** FAM failed to add a file to the list to be monitored. */
2449#define VERR_FAM_MONITOR_FILE_FAILED (-5001)
2450/** FAM failed to add a directory to the list to be monitored. */
2451#define VERR_FAM_MONITOR_DIRECTORY_FAILED (-5002)
2452/** The connection to the FAM daemon was lost. */
2453#define VERR_FAM_CONNECTION_LOST (-5003)
2454/** @} */
2455
2456
2457/** @name PCI Bus & Passthrough Status Codes
2458 * @{
2459 */
2460/** RamPreAlloc not set.
2461 * RAM pre-allocation is currently a requirement for PCI passthrough. */
2462#define VERR_PCI_PASSTHROUGH_NO_RAM_PREALLOC (-5100)
2463/** VT-x/AMD-V not active.
2464 * PCI passthrough currently works only if VT-x/AMD-V is active. */
2465#define VERR_PCI_PASSTHROUGH_NO_HM (-5101)
2466/** Nested paging not active.
2467 * PCI passthrough currently works only if nested paging is active. */
2468#define VERR_PCI_PASSTHROUGH_NO_NESTED_PAGING (-5102)
2469
2470/** Special return code from a PCI I/O region mapping handler that tells the BUS
2471 * that it has done the mapping already. */
2472#define VINF_PCI_MAPPING_DONE 5150
2473/** @} */
2474
2475
2476/** @name GVMM Status Codes
2477 * @{
2478 */
2479/** Internal error obtaining the GVMM instance. */
2480#define VERR_GVMM_INSTANCE (-5200)
2481/** GVMM does not support the range of CPUs present/possible on the host. */
2482#define VERR_GVMM_HOST_CPU_RANGE (-5201)
2483/** GVMM ran into some broken IPRT code. */
2484#define VERR_GVMM_BROKEN_IPRT (-5202)
2485/** Internal processing error \#1 in the GVMM code. */
2486#define VERR_GVMM_IPE_1 (-5203)
2487/** Internal processing error \#2 in the GVMM code. */
2488#define VERR_GVMM_IPE_2 (-5204)
2489/** Cannot destroy VM because not all other EMTs have deregistered. */
2490#define VERR_GVMM_NOT_ALL_EMTS_DEREGISTERED (-5205)
2491/** @} */
2492
2493
2494/** @name IEM Status Codes
2495 * @{ */
2496/** The instruction is not yet implemented by IEM. */
2497#define VERR_IEM_INSTR_NOT_IMPLEMENTED (-5300)
2498/** Invalid operand size passed to an IEM function. */
2499#define VERR_IEM_INVALID_OPERAND_SIZE (-5301)
2500/** Invalid address mode passed to an IEM function. */
2501#define VERR_IEM_INVALID_ADDRESS_MODE (-5302)
2502/** Invalid effective segment register number passed to an IEM function. */
2503#define VERR_IEM_INVALID_EFF_SEG (-5303)
2504/** Invalid instruction length passed to an IEM function. */
2505#define VERR_IEM_INVALID_INSTR_LENGTH (-5304)
2506/** Internal status code for indicating that a selector isn't valid (LAR, LSL,
2507 * VERR, VERW). This is not used outside the instruction implementations. */
2508#define VINF_IEM_SELECTOR_NOT_OK (5305)
2509/** Returns by rep-prefixed string instruction if they yield because of
2510 * pending FFs. The status code is internal to IEM. */
2511#define VINF_IEM_YIELD_PENDING_FF (5306)
2512
2513/** Recompiled execution: Break out of current TB execution. */
2514#define VINF_IEM_REEXEC_BREAK (5310)
2515/** Recompiled execution: Breaking out because of FFs or/and IRQs. */
2516#define VINF_IEM_REEXEC_BREAK_FF (5311)
2517/** Recompiled execution: Debug related (hidden) EFLAGS are set and needs
2518 * handling. */
2519#define VINF_IEM_REEXEC_FINISH_WITH_FLAGS (5312)
2520
2521/** Recompilation: End translation block. */
2522#define VINF_IEM_RECOMPILE_END_TB (5319)
2523/** Recompiler: Translation block allocation failed. */
2524#define VERR_IEM_TB_ALLOC_FAILED (-5320)
2525/** Recompiler: Too deeply nested conditionals. */
2526#define VERR_IEM_COND_TOO_DEEPLY_NESTED (-5321)
2527/** Recompiler: Failed to reconcile the register/variable state on endif. */
2528#define VERR_IEM_COND_ENDIF_RECONCILIATION_FAILED (-5322)
2529/** Recompiler: Failed to allocate more memory for debug info. */
2530#define VERR_IEM_DBGINFO_OUT_OF_MEMORY (-5323)
2531/** Recompiler: Debug info internal processing error \#1. */
2532#define VERR_IEM_DBGINFO_IPE_1 (-5324)
2533/** Recompiler: Debug info internal processing error \#2. */
2534#define VERR_IEM_DBGINFO_IPE_2 (-5325)
2535/** Recompiler: Fixup internal processing error \#1. */
2536#define VERR_IEM_FIXUP_IPE_1 (-5326)
2537/** Recompiler: Too many fixups. */
2538#define VERR_IEM_FIXUP_TOO_MANY (-5327)
2539/** Recompiler: Out of memory for fixups. */
2540#define VERR_IEM_FIXUP_OUT_OF_MEMORY (-5328)
2541/** Recompiler: Wrong jump instruction targeting label at end of TB. */
2542#define VERR_IEM_FIXUP_SHORT_JMP_TO_TAIL_LABEL (-5329)
2543/** Recompiler: Hit instruction buffer size limit. */
2544#define VERR_IEM_INSTR_BUF_TOO_LARGE (-5330)
2545/** Recompiler: Out of memory for the instruction buffer (regular heap). */
2546#define VERR_IEM_INSTR_BUF_OUT_OF_MEMORY (-5331)
2547/** Recompiler: Too many labels. */
2548#define VERR_IEM_LABEL_TOO_MANY (-5332)
2549/** Recompiler: Out of memory for labels. */
2550#define VERR_IEM_LABEL_OUT_OF_MEMORY (-5333)
2551/** Recompiler: Label internal processing error \#1. */
2552#define VERR_IEM_LABEL_IPE_1 (-5334)
2553/** Recompiler: Label internal processing error \#2. */
2554#define VERR_IEM_LABEL_IPE_2 (-5335)
2555/** Recompiler: Label internal processing error \#3. */
2556#define VERR_IEM_LABEL_IPE_3 (-5336)
2557/** Recompiler: Label internal processing error \#4. */
2558#define VERR_IEM_LABEL_IPE_4 (-5337)
2559/** Recompiler: Label internal processing error \#5. */
2560#define VERR_IEM_LABEL_IPE_5 (-5338)
2561/** Recompiler: Label internal processing error \#6. */
2562#define VERR_IEM_LABEL_IPE_6 (-5339)
2563
2564/** Recompiler: No temporary host register available. */
2565#define VERR_IEM_REG_ALLOCATOR_NO_FREE_TMP (-5340)
2566/** Recompiler: No host register available for variables. */
2567#define VERR_IEM_REG_ALLOCATOR_NO_FREE_VAR (-5341)
2568/** Recompiler: Register allocator internal processing error \#1. */
2569#define VERR_IEM_REG_IPE_1 (-5343)
2570/** Recompiler: Register allocator internal processing error \#2. */
2571#define VERR_IEM_REG_IPE_2 (-5344)
2572/** Recompiler: Register allocator internal processing error \#3. */
2573#define VERR_IEM_REG_IPE_3 (-5345)
2574/** Recompiler: Register allocator internal processing error \#4. */
2575#define VERR_IEM_REG_IPE_4 (-5346)
2576/** Recompiler: Register allocator internal processing error \#5. */
2577#define VERR_IEM_REG_IPE_5 (-5347)
2578/** Recompiler: Register allocator internal processing error \#6. */
2579#define VERR_IEM_REG_IPE_6 (-5348)
2580/** Recompiler: Register allocator internal processing error \#7. */
2581#define VERR_IEM_REG_IPE_7 (-5349)
2582/** Recompiler: Register allocator internal processing error \#8. */
2583#define VERR_IEM_REG_IPE_8 (-5350)
2584/** Recompiler: Register allocator internal processing error \#9. */
2585#define VERR_IEM_REG_IPE_9 (-5351)
2586/** Recompiler: Register allocator internal processing error \#10. */
2587#define VERR_IEM_REG_IPE_10 (-5352)
2588/** Recompiler: Register allocator internal processing error \#11. */
2589#define VERR_IEM_REG_IPE_11 (-5353)
2590/** Recompiler: Register allocator internal processing error \#12. */
2591#define VERR_IEM_REG_IPE_12 (-5354)
2592/** Recompiler: Register allocator internal processing error \#13. */
2593#define VERR_IEM_REG_IPE_13 (-5355)
2594
2595/** Recompiler: Out of variables. */
2596#define VERR_IEM_VAR_EXHAUSTED (-5360)
2597/** Recompiler: Duplicate argument variable number. */
2598#define VERR_IEM_VAR_DUP_ARG_NO (-5361)
2599/** Recompiler: Out of stack slots. */
2600#define VERR_IEM_VAR_OUT_OF_STACK_SLOTS (-5362)
2601/** Recompiler: Unexpected kind of variable. */
2602#define VERR_IEM_VAR_UNEXPECTED_KIND (-5363)
2603/** Recompiler: Uninitialized variable. */
2604#define VERR_IEM_VAR_NOT_INITIALIZED (-5364)
2605/** Recompiler: Variable management internal processing error \#1. */
2606#define VERR_IEM_VAR_IPE_1 (-5365)
2607/** Recompiler: Variable management internal processing error \#2. */
2608#define VERR_IEM_VAR_IPE_2 (-5366)
2609/** Recompiler: Variable management internal processing error \#3. */
2610#define VERR_IEM_VAR_IPE_3 (-5367)
2611/** Recompiler: Variable management internal processing error \#4. */
2612#define VERR_IEM_VAR_IPE_4 (-5368)
2613/** Recompiler: Variable management internal processing error \#5. */
2614#define VERR_IEM_VAR_IPE_5 (-5369)
2615/** Recompiler: Variable management internal processing error \#6. */
2616#define VERR_IEM_VAR_IPE_6 (-5370)
2617/** Recompiler: Variable management internal processing error \#7. */
2618#define VERR_IEM_VAR_IPE_7 (-5371)
2619/** Recompiler: Variable management internal processing error \#8. */
2620#define VERR_IEM_VAR_IPE_8 (-5372)
2621/** Recompiler: Variable management internal processing error \#9. */
2622#define VERR_IEM_VAR_IPE_9 (-5373)
2623/** Recompiler: Variable management internal processing error \#10. */
2624#define VERR_IEM_VAR_IPE_10 (-5374)
2625/** Recompiler: Variable management internal processing error \#11. */
2626#define VERR_IEM_VAR_IPE_11 (-5375)
2627/** Recompiler: Variable management internal processing error \#12. */
2628#define VERR_IEM_VAR_IPE_12 (-5376)
2629/** Recompiler: Variable management internal processing error \#13. */
2630#define VERR_IEM_VAR_IPE_13 (-5377)
2631
2632/** Recompiler: Unimplemented case. */
2633#define VERR_IEM_EMIT_CASE_NOT_IMPLEMENTED_1 (-5380)
2634/** Recompiler: Totally unexpected memory size. */
2635#define VERR_IEM_EMIT_BAD_MEM_SIZE (-5381)
2636/** Recompiler: Bad segment register number for memory access. */
2637#define VERR_IEM_EMIT_BAD_SEG_REG_NO (-5382)
2638/** Recompiler: Fixed jump is out of range. */
2639#define VERR_IEM_EMIT_FIXED_JUMP_OUT_OF_RANGE (-5383)
2640/** Recompiler: Unexpected register assignment. */
2641#define VERR_IEM_EMIT_UNEXPECTED_VAR_REGISTER (-5384)
2642
2643/** Restart the current instruction. For testing only. */
2644#define VERR_IEM_RESTART_INSTRUCTION (-5389)
2645/** This particular aspect of the instruction is not yet implemented by IEM. */
2646#define VERR_IEM_ASPECT_NOT_IMPLEMENTED (-5390)
2647/** Internal processing error \#1 in the IEM code. */
2648#define VERR_IEM_IPE_1 (-5391)
2649/** Internal processing error \#2 in the IEM code. */
2650#define VERR_IEM_IPE_2 (-5392)
2651/** Internal processing error \#3 in the IEM code. */
2652#define VERR_IEM_IPE_3 (-5393)
2653/** Internal processing error \#4 in the IEM code. */
2654#define VERR_IEM_IPE_4 (-5394)
2655/** Internal processing error \#5 in the IEM code. */
2656#define VERR_IEM_IPE_5 (-5395)
2657/** Internal processing error \#6 in the IEM code. */
2658#define VERR_IEM_IPE_6 (-5396)
2659/** Internal processing error \#7 in the IEM code. */
2660#define VERR_IEM_IPE_7 (-5397)
2661/** Internal processing error \#8 in the IEM code. */
2662#define VERR_IEM_IPE_8 (-5398)
2663/** Internal processing error \#9 in the IEM code. */
2664#define VERR_IEM_IPE_9 (-5399)
2665/** @} */
2666
2667
2668/** @name DBGC Status Codes
2669 * @{ */
2670/** Status that causes DBGC to quit. */
2671#define VERR_DBGC_QUIT (-5400)
2672/** Async command pending. */
2673#define VWRN_DBGC_CMD_PENDING 5401
2674/** The command has already been registered. */
2675#define VWRN_DBGC_ALREADY_REGISTERED 5402
2676/** The command cannot be deregistered because has not been registered. */
2677#define VERR_DBGC_COMMANDS_NOT_REGISTERED (-5403)
2678/** Unknown breakpoint. */
2679#define VERR_DBGC_BP_NOT_FOUND (-5404)
2680/** The breakpoint already exists. */
2681#define VERR_DBGC_BP_EXISTS (-5405)
2682/** The breakpoint has no command. */
2683#define VINF_DBGC_BP_NO_COMMAND 5406
2684/** Generic debugger command failure. */
2685#define VERR_DBGC_COMMAND_FAILED (-5407)
2686/** Logic bug in the DBGC code. */
2687#define VERR_DBGC_IPE (-5408)
2688
2689/** The lowest parse status code. */
2690#define VERR_DBGC_PARSE_LOWEST (-5499)
2691/** Syntax error - too few arguments. */
2692#define VERR_DBGC_PARSE_TOO_FEW_ARGUMENTS (VERR_DBGC_PARSE_LOWEST + 0)
2693/** Syntax error - too many arguments. */
2694#define VERR_DBGC_PARSE_TOO_MANY_ARGUMENTS (VERR_DBGC_PARSE_LOWEST + 1)
2695/** Syntax error - too many arguments for static storage. */
2696#define VERR_DBGC_PARSE_ARGUMENT_OVERFLOW (VERR_DBGC_PARSE_LOWEST + 2)
2697/** Syntax error - expected binary operator. */
2698#define VERR_DBGC_PARSE_EXPECTED_BINARY_OP (VERR_DBGC_PARSE_LOWEST + 3)
2699
2700/** Syntax error - the argument does not allow a range to be specified. */
2701#define VERR_DBGC_PARSE_NO_RANGE_ALLOWED (VERR_DBGC_PARSE_LOWEST + 5)
2702/** Syntax error - unbalanced quotes. */
2703#define VERR_DBGC_PARSE_UNBALANCED_QUOTE (VERR_DBGC_PARSE_LOWEST + 6)
2704/** Syntax error - unbalanced parenthesis. */
2705#define VERR_DBGC_PARSE_UNBALANCED_PARENTHESIS (VERR_DBGC_PARSE_LOWEST + 7)
2706/** Syntax error - an argument or subargument contains nothing useful. */
2707#define VERR_DBGC_PARSE_EMPTY_ARGUMENT (VERR_DBGC_PARSE_LOWEST + 8)
2708/** Syntax error - invalid operator usage. */
2709#define VERR_DBGC_PARSE_UNEXPECTED_OPERATOR (VERR_DBGC_PARSE_LOWEST + 9)
2710/** Syntax error - invalid numeric value. */
2711#define VERR_DBGC_PARSE_INVALID_NUMBER (VERR_DBGC_PARSE_LOWEST + 10)
2712/** Syntax error - numeric overflow. */
2713#define VERR_DBGC_PARSE_NUMBER_TOO_BIG (VERR_DBGC_PARSE_LOWEST + 11)
2714/** Syntax error - invalid operation attempted. */
2715#define VERR_DBGC_PARSE_INVALID_OPERATION (VERR_DBGC_PARSE_LOWEST + 12)
2716/** Syntax error - function not found. */
2717#define VERR_DBGC_PARSE_FUNCTION_NOT_FOUND (VERR_DBGC_PARSE_LOWEST + 13)
2718/** Syntax error - the specified function is not a function. */
2719#define VERR_DBGC_PARSE_NOT_A_FUNCTION (VERR_DBGC_PARSE_LOWEST + 14)
2720/** Syntax error - out of scratch memory. */
2721#define VERR_DBGC_PARSE_NO_SCRATCH (VERR_DBGC_PARSE_LOWEST + 15)
2722/** Syntax error - out of regular heap memory. */
2723#define VERR_DBGC_PARSE_NO_MEMORY (VERR_DBGC_PARSE_LOWEST + 16)
2724/** Syntax error - incorrect argument type. */
2725#define VERR_DBGC_PARSE_INCORRECT_ARG_TYPE (VERR_DBGC_PARSE_LOWEST + 17)
2726/** Syntax error - an undefined variable was referenced. */
2727#define VERR_DBGC_PARSE_VARIABLE_NOT_FOUND (VERR_DBGC_PARSE_LOWEST + 18)
2728/** Syntax error - a type conversion failed. */
2729#define VERR_DBGC_PARSE_CONVERSION_FAILED (VERR_DBGC_PARSE_LOWEST + 19)
2730/** Syntax error - you hit a debugger feature which isn't implemented yet.
2731 * (Feel free to help implement it.) */
2732#define VERR_DBGC_PARSE_NOT_IMPLEMENTED (VERR_DBGC_PARSE_LOWEST + 20)
2733/** Syntax error - Couldn't satisfy a request for a specific result type. */
2734#define VERR_DBGC_PARSE_BAD_RESULT_TYPE (VERR_DBGC_PARSE_LOWEST + 21)
2735/** Syntax error - Cannot read symbol value, it is a set-only symbol. */
2736#define VERR_DBGC_PARSE_WRITEONLY_SYMBOL (VERR_DBGC_PARSE_LOWEST + 22)
2737/** Syntax error - Invalid command name. */
2738#define VERR_DBGC_PARSE_INVALD_COMMAND_NAME (VERR_DBGC_PARSE_LOWEST + 23)
2739/** Syntax error - Command not found. */
2740#define VERR_DBGC_PARSE_COMMAND_NOT_FOUND (VERR_DBGC_PARSE_LOWEST + 24)
2741/** Syntax error - buggy parser. */
2742#define VERR_DBGC_PARSE_BUG (VERR_DBGC_PARSE_LOWEST + 25)
2743/** @} */
2744
2745
2746/** @name Support driver/library shared verification status codes.
2747 * @{ */
2748/** Process Verification Failure: The memory content does not match the image
2749 * file. */
2750#define VERR_SUP_VP_MEMORY_VS_FILE_MISMATCH (-5600)
2751/** Process Verification Failure: The memory protection of a image file section
2752 * does not match what the section header prescribes. */
2753#define VERR_SUP_VP_SECTION_PROTECTION_MISMATCH (-5601)
2754/** Process Verification Failure: One of the section in the image file is not
2755 * mapped into memory. */
2756#define VERR_SUP_VP_SECTION_NOT_MAPPED (-5602)
2757/** Process Verification Failure: One of the section in the image file is not
2758 * fully mapped into memory. */
2759#define VERR_SUP_VP_SECTION_NOT_FULLY_MAPPED (-5603)
2760/** Process Verification Failure: Bad file alignment value in image header. */
2761#define VERR_SUP_VP_BAD_FILE_ALIGNMENT_VALUE (-5604)
2762/** Process Verification Failure: Bad image base in header. */
2763#define VERR_SUP_VP_BAD_IMAGE_BASE (-5605)
2764/** Process Verification Failure: Bad image signature. */
2765#define VERR_SUP_VP_BAD_IMAGE_SIGNATURE (-5606)
2766/** Process Verification Failure: Bad image size. */
2767#define VERR_SUP_VP_BAD_IMAGE_SIZE (-5607)
2768/** Process Verification Failure: Bad new-header offset in the MZ header. */
2769#define VERR_SUP_VP_BAD_MZ_OFFSET (-5608)
2770/** Process Verification Failure: Bad optional header field. */
2771#define VERR_SUP_VP_BAD_OPTIONAL_HEADER (-5609)
2772/** Process Verification Failure: Bad section alignment value in image
2773 * header. */
2774#define VERR_SUP_VP_BAD_SECTION_ALIGNMENT_VALUE (-5610)
2775/** Process Verification Failure: Bad section raw data size. */
2776#define VERR_SUP_VP_BAD_SECTION_FILE_SIZE (-5611)
2777/** Process Verification Failure: Bad virtual section address. */
2778#define VERR_SUP_VP_BAD_SECTION_RVA (-5612)
2779/** Process Verification Failure: Bad virtual section size. */
2780#define VERR_SUP_VP_BAD_SECTION_VIRTUAL_SIZE (-5613)
2781/** Process Verification Failure: Bad size of image header. */
2782#define VERR_SUP_VP_BAD_SIZE_OF_HEADERS (-5614)
2783/** Process Verification Failure: The process is being debugged. */
2784#define VERR_SUP_VP_DEBUGGED (-5615)
2785/** Process Verification Failure: A DLL was found more than once. */
2786#define VERR_SUP_VP_DUPLICATE_DLL_MAPPING (-5616)
2787/** Process Verification Failure: Image section region is too large. */
2788#define VERR_SUP_VP_EMPTY_REGION_TOO_LARGE (-5617)
2789/** Process Verification Failure: Executable file name and process image name
2790 * does not match up. */
2791#define VERR_SUP_VP_EXE_VS_PROC_NAME_MISMATCH (-5618)
2792/** Process Verification Failure: Found executable memory allocated in the
2793 * process. There is only supposed be executable memory associated with
2794 * image file mappings (DLLs & EXE). */
2795#define VERR_SUP_VP_FOUND_EXEC_MEMORY (-5619)
2796/** Process Verification Failure: There is more than one known executable mapped
2797 * into the process. */
2798#define VERR_SUP_VP_FOUND_MORE_THAN_ONE_EXE_MAPPING (-5620)
2799/** Process Verification Failure: Error closing image file handle. */
2800#define VERR_SUP_VP_IMAGE_FILE_CLOSE_ERROR (-5621)
2801/** Process Verification Failure: Error opening image file. */
2802#define VERR_SUP_VP_IMAGE_FILE_OPEN_ERROR (-5622)
2803/** Process Verification Failure: Error reading image file header. */
2804#define VERR_SUP_VP_IMAGE_HDR_READ_ERROR (-5623)
2805/** Process Verification Failure: Image mapping is bogus as the first region
2806 * has different AllocationBase and BaseAddress values, indicating that a
2807 * section was unmapped or otherwise tampered with. */
2808#define VERR_SUP_VP_IMAGE_MAPPING_BASE_ERROR (-5624)
2809/** Process Verification Failure: Error reading process memory for comparing
2810 * with disk data. */
2811#define VERR_SUP_VP_MEMORY_READ_ERROR (-5625)
2812/** Process Verification Failure: Found no executable mapped into the process
2813 * address space. */
2814#define VERR_SUP_VP_NO_FOUND_NO_EXE_MAPPING (-5626)
2815/** Process Verification Failure: An image mapping failed to report a name. */
2816#define VERR_SUP_VP_NO_IMAGE_MAPPING_NAME (-5627)
2817/** Process Verification Failure: No KERNE32.DLL mapping found. This is
2818 * impossible. */
2819#define VERR_SUP_VP_NO_KERNEL32_MAPPING (-5628)
2820/** Process Verification Failure: Error allocating memory. */
2821#define VERR_SUP_VP_NO_MEMORY (-5629)
2822/** Process Verification Failure: Error allocating state memory or querying
2823 * the system32 path. */
2824#define VERR_SUP_VP_NO_MEMORY_STATE (-5630)
2825/** Process Verification Failure: No NTDLL.DLL mapping found. This is
2826 * impossible. */
2827#define VERR_SUP_VP_NO_NTDLL_MAPPING (-5631)
2828/** Process Verification Failure: A DLL residing outside System32 was found
2829 * in the process. */
2830#define VERR_SUP_VP_NON_SYSTEM32_DLL (-5632)
2831/** Process Verification Failure: An unknown and unwanted DLL was found loaded
2832 * into the process. */
2833#define VERR_SUP_VP_NOT_KNOWN_DLL_OR_EXE (-5633)
2834/** Process Verification Failure: The name of an image file changes between
2835 * mapping regions. */
2836#define VERR_SUP_VP_NT_MAPPING_NAME_CHANGED (-5634)
2837/** Process Verification Failure: Error querying process name. */
2838#define VERR_SUP_VP_NT_QI_PROCESS_NM_ERROR (-5635)
2839/** Process Verification Failure: Error querying thread information. */
2840#define VERR_SUP_VP_NT_QI_THREAD_ERROR (-5636)
2841/** Process Verification Failure: Error query virtual memory information. */
2842#define VERR_SUP_VP_NT_QI_VIRTUAL_MEMORY_ERROR (-5637)
2843/** Process Verification Failure: Error query virtual memory mapping name. */
2844#define VERR_SUP_VP_NT_QI_VIRTUAL_MEMORY_NM_ERROR (-5638)
2845/** Process Verification Failure: Error determining the full path of
2846 * System32. */
2847#define VERR_SUP_VP_SYSTEM32_PATH (-5639)
2848/** Process Verification Failure: The process has more than one thread. */
2849#define VERR_SUP_VP_THREAD_NOT_ALONE (-5640)
2850/** Process Verification Failure: The image mapping is too large (>= 2GB). */
2851#define VERR_SUP_VP_TOO_HIGH_REGION_RVA (-5641)
2852/** Process Verification Failure: The memory region is too large (>= 2GB). */
2853#define VERR_SUP_VP_TOO_LARGE_REGION (-5642)
2854/** Process Verification Failure: There are too many DLLs loaded. */
2855#define VERR_SUP_VP_TOO_MANY_DLLS_LOADED (-5643)
2856/** Process Verification Failure: An image has too many regions. */
2857#define VERR_SUP_VP_TOO_MANY_IMAGE_REGIONS (-5644)
2858/** Process Verification Failure: The process has too many virtual memory
2859 * regions. */
2860#define VERR_SUP_VP_TOO_MANY_MEMORY_REGIONS (-5645)
2861/** Process Verification Failure: An image has too many sections. */
2862#define VERR_SUP_VP_TOO_MANY_SECTIONS (-5646)
2863/** Process Verification Failure: An image is targeting an unexpected
2864 * machine/CPU. */
2865#define VERR_SUP_VP_UNEXPECTED_IMAGE_MACHINE (-5647)
2866/** Process Verification Failure: Unexpected section protection flag
2867 * combination. */
2868#define VERR_SUP_VP_UNEXPECTED_SECTION_FLAGS (-5648)
2869/** Process Verification Failure: Expected the process and exe to have forced
2870 * integrity checking enabled (verifying signatures). */
2871#define VERR_SUP_VP_EXE_MISSING_FORCE_INTEGRITY (-5649)
2872/** Process Verification Failure: Expected the process and exe to have dynamic
2873 * base enabled. */
2874#define VERR_SUP_VP_EXE_MISSING_DYNAMIC_BASE (-5650)
2875/** Process Verification Failure: Expected the process and exe to advertise
2876 * NX compatibility. */
2877#define VERR_SUP_VP_EXE_MISSING_NX_COMPAT (-5651)
2878/** Process Verification Failure: The DllCharacteristics of the process
2879 * does not match the value in the optional header in the exe file. */
2880#define VERR_SUP_VP_DLL_CHARECTERISTICS_MISMATCH (-5652)
2881/** Process Verification Failure: The ImageCharacteristics of the process
2882 * does not match the value in the file header in the exe file. */
2883#define VERR_SUP_VP_IMAGE_CHARECTERISTICS_MISMATCH (-5653)
2884/** Process Verification Failure: Error querying image information. */
2885#define VERR_SUP_VP_NT_QI_PROCESS_IMG_INFO_ERROR (-5654)
2886/** Process Verification Failure: Error querying debug port. */
2887#define VERR_SUP_VP_NT_QI_PROCESS_DBG_PORT_ERROR (-5655)
2888/** WinVerifyTrust failed with an unexpected status code when using the
2889 * catalog-file approach. */
2890#define VERR_SUP_VP_WINTRUST_CAT_FAILURE (-5656)
2891/** The image is required to be signed with the same certificate as the rest
2892 * of VirtualBox. */
2893#define VERR_SUP_VP_NOT_SIGNED_WITH_BUILD_CERT (-5657)
2894/** Internal processing error: Not build certificate. */
2895#define VERR_SUP_VP_NOT_BUILD_CERT_IPE (-5658)
2896/** The image requires to be signed using the kernel-code signing process. */
2897#define VERR_SUP_VP_NOT_VALID_KERNEL_CODE_SIGNATURE (-5659)
2898/** Unexpected number of valid paths. */
2899#define VERR_SUP_VP_UNEXPECTED_VALID_PATH_COUNT (-5660)
2900/** The image is required to force integrity checks. */
2901#define VERR_SUP_VP_SIGNATURE_CHECKS_NOT_ENFORCED (-5661)
2902/** Process Verification Failure: Symantec Endpoint Protection must be
2903 * disabled for the VirtualBox VM processes.
2904 * http://www.symantec.com/connect/articles/creating-application-control-exclusions-symantec-endpoint-protection-121 */
2905#define VERR_SUP_VP_SYSFER_DLL (-5662)
2906/** Process Purification Failure: KERNE32.DLL already mapped into the initial
2907 * process (suspended). */
2908#define VERR_SUP_VP_KERNEL32_ALREADY_MAPPED (-5663)
2909/** Process Purification Failure: NtFreeVirtualMemory failed on a chunk of
2910 * executable memory which shouldn't be present in the process. */
2911#define VERR_SUP_VP_FREE_VIRTUAL_MEMORY_FAILED (-5664)
2912/** Process Purification Failure: Both NtUnmapViewOfSetion and
2913 * NtProtectVirtualMemory failed to get rid of or passify an non-image
2914 * executable mapping. */
2915#define VERR_SUP_VP_UNMAP_AND_PROTECT_FAILED (-5665)
2916/** Process Purification Failure: Unknown memory type of executable memory. */
2917#define VERR_SUP_VP_UNKOWN_MEM_TYPE (-5666)
2918/** The image file is not owned by TrustedInstaller is it should be. */
2919#define VERR_SUP_VP_NOT_OWNED_BY_TRUSTED_INSTALLER (-5667)
2920/** The image is outside the expected range. */
2921#define VERR_SUP_VP_IMAGE_TOO_BIG (-5668)
2922/** Stub process not found so it cannot be revalidated when vboxdrv is opened
2923 * by the VM process. */
2924#define VERR_SUP_VP_STUB_NOT_FOUND (-5669)
2925/** Error opening the stub process for revalidation when vboxdrv is opened by
2926 * the VM process. */
2927#define VERR_SUP_VP_STUB_OPEN_ERROR (-5670)
2928/** Stub process thread not found during revalidation upon vboxdrv opening by
2929 * the VM process. */
2930#define VERR_SUP_VP_STUB_THREAD_NOT_FOUND (-5671)
2931/** Error opening the stub process thread for revalidation when vboxdrv is
2932 * opened by the VM process. */
2933#define VERR_SUP_VP_STUB_THREAD_OPEN_ERROR (-5672)
2934/** Process Purification Failure: NtAllocateVirtualMemory failed to get us
2935 * suitable replacement memory for a chunk of executable memory that
2936 * shouldn't be present in our process. (You will only see this message if you
2937 * got potentially fatally buggy anti-virus software installed.) */
2938#define VERR_SUP_VP_REPLACE_VIRTUAL_MEMORY_FAILED (-5673)
2939/** Error getting the file mode. */
2940#define VERR_SUP_VP_FILE_MODE_ERROR (-5674)
2941/** Error creating an event semaphore for used with asynchronous reads. */
2942#define VERR_SUP_VP_CREATE_READ_EVT_SEM_FAILED (-5675)
2943/** Undesirable module. */
2944#define VERR_SUP_VP_UNDESIRABLE_MODULE (-5676)
2945/** NtQueryObject/Type failed. */
2946#define VERR_SUP_VP_QUERY_HANDLE_TYPE (-5677)
2947/** NtSetInformationObject/NoInherit failed. */
2948#define VERR_SUP_VP_SET_HANDLE_NOINHERIT (-5678)
2949
2950/** We are in driverless mode. */
2951#define VERR_SUP_DRIVERLESS (-5699)
2952/** We are in driverless mode. */
2953#define VINF_SUP_DRIVERLESS 5699
2954/** @} */
2955
2956/** @name VBox Extension Pack Status Codes
2957 * @{
2958 */
2959/** The host is not supported. Uninstall the extension pack.
2960 * Returned by the VBOXEXTPACKREG::pfnInstalled. */
2961#define VERR_EXTPACK_UNSUPPORTED_HOST_UNINSTALL (-6000)
2962/** The VirtualBox version is not supported by one of the extension packs.
2963 *
2964 * You have probably upgraded VirtualBox recently. Please upgrade the
2965 * extension packs to versions compatible with this VirtualBox release.
2966 */
2967#define VERR_EXTPACK_VBOX_VERSION_MISMATCH (-6001)
2968/** @} */
2969
2970
2971/** @name VBox Guest Control Status Codes
2972 * @{
2973 */
2974/** Guest side reported an error. */
2975#define VERR_GSTCTL_GUEST_ERROR (-6200)
2976/** A guest control object has changed its overall status. */
2977#define VWRN_GSTCTL_OBJECTSTATE_CHANGED 6220
2978/** Guest process is in a wrong state. */
2979#define VERR_GSTCTL_PROCESS_WRONG_STATE (-6221)
2980/** Maximum (context ID) sessions have been reached. */
2981#define VERR_GSTCTL_MAX_CID_SESSIONS_REACHED (-6222)
2982/** Maximum (context ID) objects have been reached. */
2983#define VERR_GSTCTL_MAX_CID_OBJECTS_REACHED (-6223)
2984/** Maximum (context ID object) count has been reached. */
2985#define VERR_GSTCTL_MAX_CID_COUNT_REACHED (-6224)
2986/** Started guest process terminated with an exit code <> 0. */
2987#define VERR_GSTCTL_PROCESS_EXIT_CODE (-6225)
2988/** @} */
2989
2990
2991/** @name GIM Status Codes
2992 * @{
2993 */
2994/** No GIM provider is configured for this VM. */
2995#define VERR_GIM_NOT_ENABLED (-6300)
2996/** GIM internal processing error \#1. */
2997#define VERR_GIM_IPE_1 (-6301)
2998/** GIM internal processing error \#2. */
2999#define VERR_GIM_IPE_2 (-6302)
3000/** GIM internal processing error \#3. */
3001#define VERR_GIM_IPE_3 (-6303)
3002/** The GIM provider does not support any paravirtualized TSC. */
3003#define VERR_GIM_PVTSC_NOT_AVAILABLE (-6304)
3004/** The guest has not setup use of the paravirtualized TSC. */
3005#define VERR_GIM_PVTSC_NOT_ENABLED (-6305)
3006/** Unknown or invalid GIM provider. */
3007#define VERR_GIM_INVALID_PROVIDER (-6306)
3008/** GIM generic operation failed. */
3009#define VERR_GIM_OPERATION_FAILED (-6307)
3010/** The GIM provider does not support any hypercalls. */
3011#define VERR_GIM_HYPERCALLS_NOT_AVAILABLE (-6308)
3012/** The guest has not setup use of the hypercalls. */
3013#define VERR_GIM_HYPERCALLS_NOT_ENABLED (-6309)
3014/** The GIM device is not registered with GIM when it ought to be. */
3015#define VERR_GIM_DEVICE_NOT_REGISTERED (-6310)
3016/** Hypercall cannot be enabled/performed due to access/permissions/CPL. */
3017#define VERR_GIM_HYPERCALL_ACCESS_DENIED (-6311)
3018/** Failed to read to a memory region while performing a hypercall. */
3019#define VERR_GIM_HYPERCALL_MEMORY_READ_FAILED (-6312)
3020/** Failed to write to a memory region while performing a hypercall. */
3021#define VERR_GIM_HYPERCALL_MEMORY_WRITE_FAILED (-6313)
3022/** Generic hypercall operation failure. */
3023#define VERR_GIM_HYPERCALL_FAILED (-6314)
3024/** No debug connection configured. */
3025#define VERR_GIM_NO_DEBUG_CONNECTION (-6315)
3026/** Return to ring-3 to perform the hypercall there. */
3027#define VINF_GIM_R3_HYPERCALL 6316
3028/** Continuing hypercall at the same RIP, continue guest execution. */
3029#define VINF_GIM_HYPERCALL_CONTINUING 6317
3030/** Instruction that triggers the hypercall is invalid/unrecognized. */
3031#define VERR_GIM_INVALID_HYPERCALL_INSTR (-6318)
3032/** @} */
3033
3034
3035/** @name Main API Status Codes
3036 * @{
3037 */
3038/** The configuration constructor in main failed due to a COM error. Check
3039 * the release log of the VM for further details. */
3040#define VERR_MAIN_CONFIG_CONSTRUCTOR_COM_ERROR (-6400)
3041/** The configuration constructor in main failed due to an internal consistency
3042 * error. Consult the release log of the VM for further details. */
3043#define VERR_MAIN_CONFIG_CONSTRUCTOR_IPE (-6401)
3044/** @} */
3045
3046
3047/** @name VBox Drag and Drop Status Codes
3048 * @{
3049 */
3050/** Guest side reported an error. */
3051#define VERR_DND_GUEST_ERROR (-6500)
3052/** @} */
3053
3054
3055/** @name Audio Status Codes
3056 * @{
3057 */
3058/** Host backend couldn't be initialized. Happen if the audio server is not
3059 * reachable, audio hardware is not available or similar. We should use the
3060 * NULL audio driver. */
3061#define VERR_AUDIO_BACKEND_INIT_FAILED (-6600)
3062/** No host backend attached / available. */
3063#define VERR_AUDIO_BACKEND_NOT_ATTACHED (-6601)
3064/** No free input streams. */
3065#define VERR_AUDIO_NO_FREE_INPUT_STREAMS (-6602)
3066/** No free output streams. */
3067#define VERR_AUDIO_NO_FREE_OUTPUT_STREAMS (-6603)
3068/** Pending stream disable operation in progress. */
3069#define VERR_AUDIO_STREAM_PENDING_DISABLE (-6604)
3070/** There is more data available.
3071 * This can happen due to a buffer wraparound of a buffer read/write operation. */
3072#define VINF_AUDIO_MORE_DATA_AVAILABLE (6605)
3073/** Stream is not ready for requested operation. */
3074#define VERR_AUDIO_STREAM_NOT_READY (-6605)
3075/** Stream could not be created.
3076 * This might due to missing host (backend) drivers or a host not having the
3077 * required hardware, or that the requested stream configuration
3078 * is not supported by the host backend. */
3079#define VERR_AUDIO_STREAM_COULD_NOT_CREATE (-6606)
3080/** Generic audio device enumeration error. */
3081#define VERR_AUDIO_ENUMERATION_FAILED (-6607)
3082/** Asynchronous stream initialization still on-going. */
3083#define VERR_AUDIO_STREAM_INIT_IN_PROGRESS (-6608)
3084/** Special PDMIHOSTAUDIO::pfnStreamCreate return value for triggering
3085 * calling of PDMIHOSTAUDIO::pfnStreamInitAsync on a worker thread. */
3086#define VINF_AUDIO_STREAM_ASYNC_INIT_NEEDED (6609)
3087/** @} */
3088
3089
3090/** @name APIC Status Codes
3091 * @{
3092 */
3093/** No pending interrupt. */
3094#define VERR_APIC_INTR_NOT_PENDING (-6700)
3095/** Pending interrupt is masked by TPR. */
3096#define VERR_APIC_INTR_MASKED_BY_TPR (-6701)
3097/** APIC did not accept the interrupt. */
3098#define VERR_APIC_INTR_DISCARDED (-6702)
3099/** @} */
3100
3101/** @name NEM Status Codes
3102 * @{
3103 */
3104/** NEM is not enabled. */
3105#define VERR_NEM_NOT_ENABLED (-6800)
3106/** NEM is not available. */
3107#define VERR_NEM_NOT_AVAILABLE (-6801)
3108/** NEM init failed. */
3109#define VERR_NEM_INIT_FAILED (-6802)
3110/** NEM init failed because of missing kernel API (\#1). */
3111#define VERR_NEM_MISSING_KERNEL_API_1 (-6803)
3112/** NEM can only operate from ring-3. */
3113#define VERR_NEM_RING3_ONLY (-6804)
3114/** NEM failed to create a native VM instance. */
3115#define VERR_NEM_VM_CREATE_FAILED (-6805)
3116/** NEM failed to map page(s) into the VM. */
3117#define VERR_NEM_MAP_PAGES_FAILED (-6806)
3118/** NEM failed to unmap page(s) into the VM. */
3119#define VERR_NEM_UNMAP_PAGES_FAILED (-6807)
3120/** NEM failed to get registers. */
3121#define VERR_NEM_GET_REGISTERS_FAILED (-6808)
3122/** NEM failed to set registers. */
3123#define VERR_NEM_SET_REGISTERS_FAILED (-6809)
3124/** Get register caller must flush the TLB (not an error). */
3125#define VERR_NEM_FLUSH_TLB (-6810)
3126/** Get register caller must flush the TLB. */
3127#define VINF_NEM_FLUSH_TLB (6810)
3128/** NEM failed to set TSC. */
3129#define VERR_NEM_SET_TSC (-6811)
3130/** NEM init failed because of missing kernel API (\#2). */
3131#define VERR_NEM_MISSING_KERNEL_API_2 (-6812)
3132/** NEM init failed because of missing kernel API (\#3). */
3133#define VERR_NEM_MISSING_KERNEL_API_3 (-6813)
3134/** NEM init failed because of missing kernel API (\#4). */
3135#define VERR_NEM_MISSING_KERNEL_API_4 (-6814)
3136/** NEM init failed because of missing kernel API (\#5). */
3137#define VERR_NEM_MISSING_KERNEL_API_5 (-6815)
3138/** NEM failed to query dirty page bitmap. */
3139#define VERR_NEM_QUERY_DIRTY_BITMAP_FAILED (-6816)
3140/** NEM is missing a require feature in the host API. */
3141#define VERR_NEM_MISSING_FEATURE (-6817)
3142
3143/** NEM internal processing error \#0. */
3144#define VERR_NEM_IPE_0 (-6890)
3145/** NEM internal processing error \#1. */
3146#define VERR_NEM_IPE_1 (-6891)
3147/** NEM internal processing error \#2. */
3148#define VERR_NEM_IPE_2 (-6892)
3149/** NEM internal processing error \#3. */
3150#define VERR_NEM_IPE_3 (-6893)
3151/** NEM internal processing error \#4. */
3152#define VERR_NEM_IPE_4 (-6894)
3153/** NEM internal processing error \#5. */
3154#define VERR_NEM_IPE_5 (-6895)
3155/** NEM internal processing error \#6. */
3156#define VERR_NEM_IPE_6 (-6896)
3157/** NEM internal processing error \#7. */
3158#define VERR_NEM_IPE_7 (-6897)
3159/** NEM internal processing error \#8. */
3160#define VERR_NEM_IPE_8 (-6898)
3161/** NEM internal processing error \#9. */
3162#define VERR_NEM_IPE_9 (-6899)
3163/** @} */
3164
3165/** @name Recording Status Codes
3166 * @{
3167 */
3168/** Codec was not found. */
3169#define VERR_RECORDING_CODEC_NOT_FOUND (-6900)
3170/** Codec initialization failed. */
3171#define VERR_RECORDING_CODEC_INIT_FAILED (-6902)
3172/** Codec is not supported. */
3173#define VERR_RECORDING_CODEC_NOT_SUPPORTED (-6903)
3174/** Format not supported by the codec. */
3175#define VERR_RECORDING_FORMAT_NOT_SUPPORTED (-6904)
3176/** Recording is not possible due to a set restriction. */
3177#define VERR_RECORDING_RESTRICTED (-6905)
3178/** Recording limit (time, size, ...) has been reached. */
3179#define VINF_RECORDING_LIMIT_REACHED (6906)
3180/** Recording limit (time, size, ...) has been reached. */
3181#define VERR_RECORDING_LIMIT_REACHED (-6906)
3182/** Recording has been throttled due to current settings.
3183 * This e.g. can happen when submitting more video frames than
3184 * the current FPS setting allows. */
3185#define VINF_RECORDING_THROTTLED (6907)
3186/** Recording has been throttled due to current settings.
3187 * This e.g. can happen when submitting more video frames than
3188 * the current FPS setting allows. */
3189#define VERR_RECORDING_THROTTLED (-6907)
3190/** Encoding data failed. */
3191#define VERR_RECORDING_ENCODING_FAILED (-6908)
3192/** @} */
3193
3194/** @name Shared Clipboard Status Codes
3195 * @{
3196 */
3197/** Maximum of concurrent clipboard transfers has been reached. */
3198#define VERR_SHCLPB_MAX_TRANSFERS_REACHED (-7100)
3199/** Maximum number of Shared Clipboard objects has been reached. */
3200#define VERR_SHCLPB_MAX_OBJECTS_REACHED (-7101)
3201/** Maximum number of Shared Clipboard lists has been reached. */
3202#define VERR_SHCLPB_MAX_LISTS_REACHED (-7102)
3203/** A Shared Clipboard list handle is invalid. */
3204#define VERR_SHCLPB_LIST_HANDLE_INVALID (-7103)
3205/** A Shared Clipboard objects handle is invalid. */
3206#define VERR_SHCLPB_OBJ_HANDLE_INVALID (-7104)
3207/** Shared Clipboard event ID not found. */
3208#define VERR_SHCLPB_EVENT_ID_NOT_FOUND (-7105)
3209/** Maximum number of Shared Clipboard events for an event source has been reached. */
3210#define VERR_SHCLPB_MAX_EVENTS_REACHED (-7106)
3211/** Shared Clipboard transfer ID not found. */
3212#define VERR_SHCLPB_TRANSFER_ID_NOT_FOUND (-7150)
3213/** Shared Clipboard guest error. */
3214#define VERR_SHCLPB_GUEST_ERROR (-7151)
3215/** Shared Clipboard event failed error. */
3216#define VERR_SHCLPB_EVENT_FAILED (-7152)
3217/** No clipboard data available for requested format. */
3218#define VERR_SHCLPB_NO_DATA (-7153)
3219/** @} */
3220
3221/** @name Virtual IOMMU Status Codes
3222 * @{
3223 */
3224/** Failed to read the device table entry from guest memory. */
3225#define VERR_IOMMU_DTE_READ_FAILED (-7300)
3226/** Failed to read the device table entry due to an invalid offset. */
3227#define VERR_IOMMU_DTE_BAD_OFFSET (-7301)
3228/** Address translation failed. */
3229#define VERR_IOMMU_ADDR_TRANSLATION_FAILED (-7302)
3230/** Access denied for the address. */
3231#define VERR_IOMMU_ADDR_ACCESS_DENIED (-7303)
3232/** Remapping failed for the interrupt. */
3233#define VERR_IOMMU_INTR_REMAP_FAILED (-7304)
3234/** Remapping denied for the interrupt (might have caused a PCI target abort). */
3235#define VERR_IOMMU_INTR_REMAP_DENIED (-7305)
3236/** Command not supported. */
3237#define VERR_IOMMU_CMD_NOT_SUPPORTED (-7306)
3238/** Command format (or reserved bits) invalid. */
3239#define VERR_IOMMU_CMD_INVALID_FORMAT (-7307)
3240/** Command hardware failure. */
3241#define VERR_IOMMU_CMD_HW_ERROR (-7308)
3242/** IOMMU device is not present. */
3243#define VERR_IOMMU_NOT_PRESENT (-7309)
3244/** IOMMU instance cannot call itself (for remapping interrupts or translating
3245 * addresses). */
3246#define VERR_IOMMU_CANNOT_CALL_SELF (-7310)
3247/** Address translation disabled (but permission bits apply). */
3248#define VINF_IOMMU_ADDR_TRANSLATION_DISABLED 7311
3249
3250/** IOMMU Internal processing error \#0. */
3251#define VERR_IOMMU_IPE_0 (-7390)
3252/** IOMMU Internal processing error \#1. */
3253#define VERR_IOMMU_IPE_1 (-7391)
3254/** IOMMU Internal processing error \#2. */
3255#define VERR_IOMMU_IPE_2 (-7392)
3256/** IOMMU Internal processing error \#3. */
3257#define VERR_IOMMU_IPE_3 (-7393)
3258/** IOMMU Internal processing error \#4. */
3259#define VERR_IOMMU_IPE_4 (-7394)
3260/** IOMMU Internal processing error \#5. */
3261#define VERR_IOMMU_IPE_5 (-7395)
3262/** IOMMU Internal processing error \#6. */
3263#define VERR_IOMMU_IPE_6 (-7396)
3264/** IOMMU Internal processing error \#7. */
3265#define VERR_IOMMU_IPE_7 (-7397)
3266/** IOMMU Internal processing error \#8. */
3267#define VERR_IOMMU_IPE_8 (-7398)
3268/** IOMMU Internal processing error \#9. */
3269#define VERR_IOMMU_IPE_9 (-7399)
3270/** @} */
3271
3272/** @name Platform Status Codes
3273 * @{
3274 */
3275/** The selected platform architecture is not supported.
3276 * Depends on the context (host / VM). */
3277#define VERR_PLATFORM_ARCH_NOT_SUPPORTED (-7400)
3278/** @} */
3279
3280/** @name Guest Compatibility Manage Status Codes.
3281 * @{
3282 */
3283/** The intercepted situation was completely handled, continue execution. */
3284#define VINF_GCM_HANDLED (7600)
3285/** The intercepted instruction handled, advance RIP and continue execution. */
3286#define VINF_GCM_HANDLED_ADVANCE_RIP (7601)
3287/** The intercepted operation was not handled, take default action. */
3288#define VERR_GCM_NOT_HANDLED (-7602)
3289/** @} */
3290
3291/* SED-END */
3292
3293/** @} */
3294
3295
3296#endif /* !VBOX_INCLUDED_err_h */
3297
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette