VirtualBox

source: vbox/trunk/src/VBox/Main/src-all/Global.cpp@ 70454

Last change on this file since 70454 was 70454, checked in by vboxsync, 7 years ago

Main/Global.cpp: Changed the NT 3.x recommendations to be BusLogic for both DVD and HD, reducing memory to 64Mib, VRAM to 8MiB and HD to 1GiB. NT 3.1 does do ATAPI CDROMs and cannot detect more than 64MiB of RAM. 8MiB of VRAM is more than enough for VGA (no GA drivers yet). 1GiB of HD converts fine to NTFS (from FAT) with 3.1, whereas 2GB doesn't want to.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 50.9 KB
Line 
1/* $Id: Global.cpp 70454 2018-01-03 18:18:48Z vboxsync $ */
2/** @file
3 * VirtualBox COM global definitions
4 *
5 * NOTE: This file is part of both VBoxC.dll and VBoxSVC.exe.
6 */
7
8/*
9 * Copyright (C) 2008-2017 Oracle Corporation
10 *
11 * This file is part of VirtualBox Open Source Edition (OSE), as
12 * available from http://www.virtualbox.org. This file is free software;
13 * you can redistribute it and/or modify it under the terms of the GNU
14 * General Public License (GPL) as published by the Free Software
15 * Foundation, in version 2 as it comes in the "COPYING" file of the
16 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
17 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
18 */
19
20#include "Global.h"
21
22#include <iprt/assert.h>
23#include <iprt/string.h>
24#include <VBox/err.h>
25
26/* static */
27const Global::OSType Global::sOSTypes[] =
28{
29 /* NOTE1: we assume that unknown is always the first two entries!
30 * NOTE2: please use powers of 2 when specifying the size of harddisks since
31 * '2GB' looks better than '1.95GB' (= 2000MB) */
32 { "Other", "Other", "Other", "Other/Unknown",
33 VBOXOSTYPE_Unknown, VBOXOSHINT_NONE,
34 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
35 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_STAC9700 },
36
37 { "Other", "Other", "Other_64", "Other/Unknown (64-bit)",
38 VBOXOSTYPE_Unknown_x64, VBOXOSHINT_64BIT | VBOXOSHINT_PAE | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC,
39 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
40 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_STAC9700 },
41
42 { "Windows", "Microsoft Windows", "Windows31", "Windows 3.1",
43 VBOXOSTYPE_Win31, VBOXOSHINT_FLOPPY,
44 32, 4, 1 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
45 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_SB16, AudioCodecType_SB16 },
46
47 { "Windows", "Microsoft Windows", "Windows95", "Windows 95",
48 VBOXOSTYPE_Win95, VBOXOSHINT_FLOPPY,
49 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
50 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_SB16, AudioCodecType_SB16 },
51
52 { "Windows", "Microsoft Windows", "Windows98", "Windows 98",
53 VBOXOSTYPE_Win98, VBOXOSHINT_FLOPPY,
54 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
55 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_SB16, AudioCodecType_SB16 },
56
57 { "Windows", "Microsoft Windows", "WindowsMe", "Windows ME",
58 VBOXOSTYPE_WinMe, VBOXOSHINT_FLOPPY | VBOXOSHINT_USBTABLET,
59 128, 4, 4 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
60 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_STAC9700 },
61
62 { "Windows", "Microsoft Windows", "WindowsNT3x", "Windows NT 3.x",
63 VBOXOSTYPE_WinNT3x, VBOXOSHINT_NOUSB | VBOXOSHINT_FLOPPY,
64 64, 8, _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_BusLogic, StorageBus_SCSI,
65 StorageControllerType_BusLogic, StorageBus_SCSI, ChipsetType_PIIX3, AudioControllerType_SB16, AudioCodecType_SB16 },
66
67 { "Windows", "Microsoft Windows", "WindowsNT4", "Windows NT 4",
68 VBOXOSTYPE_WinNT4, VBOXOSHINT_NOUSB,
69 128, 16, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
70 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_SB16, AudioCodecType_SB16 },
71
72 { "Windows", "Microsoft Windows", "Windows2000", "Windows 2000",
73 VBOXOSTYPE_Win2k, VBOXOSHINT_USBTABLET,
74 168, 16, 4 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
75 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_STAC9700 },
76
77 { "Windows", "Microsoft Windows", "WindowsXP", "Windows XP (32-bit)",
78 VBOXOSTYPE_WinXP, VBOXOSHINT_USBTABLET,
79 192, 16, 10 * _1G64, NetworkAdapterType_I82543GC, 0, StorageControllerType_PIIX4, StorageBus_IDE,
80 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_STAC9700 },
81
82 { "Windows", "Microsoft Windows", "WindowsXP_64", "Windows XP (64-bit)",
83 VBOXOSTYPE_WinXP_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
84 512, 16, 10 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
85 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_STAC9700 },
86
87 { "Windows", "Microsoft Windows", "Windows2003", "Windows 2003 (32-bit)",
88 VBOXOSTYPE_Win2k3, VBOXOSHINT_USBTABLET,
89 512, 16, 20 * _1G64, NetworkAdapterType_I82543GC, 0, StorageControllerType_PIIX4, StorageBus_IDE,
90 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_STAC9700 },
91
92 { "Windows", "Microsoft Windows", "Windows2003_64", "Windows 2003 (64-bit)",
93 VBOXOSTYPE_Win2k3_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
94 512, 16, 20 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
95 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_HDA, AudioCodecType_STAC9221 },
96
97 { "Windows", "Microsoft Windows", "WindowsVista", "Windows Vista (32-bit)",
98 VBOXOSTYPE_WinVista, VBOXOSHINT_USBTABLET,
99 512, 16, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_IntelAhci, StorageBus_SATA,
100 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA, AudioCodecType_STAC9221 },
101
102 { "Windows", "Microsoft Windows", "WindowsVista_64", "Windows Vista (64-bit)",
103 VBOXOSTYPE_WinVista_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
104 512, 16, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_IntelAhci, StorageBus_SATA,
105 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA, AudioCodecType_STAC9221 },
106
107 { "Windows", "Microsoft Windows", "Windows2008", "Windows 2008 (32-bit)",
108 VBOXOSTYPE_Win2k8, VBOXOSHINT_USBTABLET,
109 1024, 16, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_IntelAhci, StorageBus_SATA,
110 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA, AudioCodecType_STAC9221 },
111
112 { "Windows", "Microsoft Windows", "Windows2008_64", "Windows 2008 (64-bit)",
113 VBOXOSTYPE_Win2k8_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
114 2048, 16, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_IntelAhci, StorageBus_SATA,
115 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA, AudioCodecType_STAC9221 },
116
117 { "Windows", "Microsoft Windows", "Windows7", "Windows 7 (32-bit)",
118 VBOXOSTYPE_Win7, VBOXOSHINT_USBTABLET,
119 1024, 16, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_IntelAhci, StorageBus_SATA,
120 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA, AudioCodecType_STAC9221 },
121
122 { "Windows", "Microsoft Windows", "Windows7_64", "Windows 7 (64-bit)",
123 VBOXOSTYPE_Win7_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
124 2048, 16, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_IntelAhci, StorageBus_SATA,
125 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA, AudioCodecType_STAC9221 },
126
127 { "Windows", "Microsoft Windows", "Windows8", "Windows 8 (32-bit)",
128 VBOXOSTYPE_Win8, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET | VBOXOSHINT_PAE | VBOXOSHINT_USB3,
129 1024,128, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_IntelAhci, StorageBus_SATA,
130 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA, AudioCodecType_STAC9221 },
131
132 { "Windows", "Microsoft Windows", "Windows8_64", "Windows 8 (64-bit)",
133 VBOXOSTYPE_Win8_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET | VBOXOSHINT_USB3,
134 2048,128, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_IntelAhci, StorageBus_SATA,
135 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA, AudioCodecType_STAC9221 },
136
137 { "Windows", "Microsoft Windows", "Windows81", "Windows 8.1 (32-bit)",
138 VBOXOSTYPE_Win81, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET | VBOXOSHINT_PAE | VBOXOSHINT_USB3,
139 1024,128, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_IntelAhci, StorageBus_SATA,
140 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA, AudioCodecType_STAC9221 },
141
142 { "Windows", "Microsoft Windows", "Windows81_64", "Windows 8.1 (64-bit)",
143 VBOXOSTYPE_Win81_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET | VBOXOSHINT_USB3,
144 2048,128, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_IntelAhci, StorageBus_SATA,
145 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA, AudioCodecType_STAC9221 },
146
147 { "Windows", "Microsoft Windows", "Windows2012_64", "Windows 2012 (64-bit)",
148 VBOXOSTYPE_Win2k12_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET | VBOXOSHINT_USB3,
149 2048,128, 32 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_IntelAhci, StorageBus_SATA,
150 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA, AudioCodecType_STAC9221 },
151
152 { "Windows", "Microsoft Windows", "Windows10", "Windows 10 (32-bit)",
153 VBOXOSTYPE_Win10, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET | VBOXOSHINT_PAE | VBOXOSHINT_USB3,
154 1024,128, 32 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_IntelAhci, StorageBus_SATA,
155 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA, AudioCodecType_STAC9221 },
156
157 { "Windows", "Microsoft Windows", "Windows10_64", "Windows 10 (64-bit)",
158 VBOXOSTYPE_Win10_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET | VBOXOSHINT_USB3,
159 2048,128, 32 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_IntelAhci, StorageBus_SATA,
160 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA, AudioCodecType_STAC9221 },
161
162 { "Windows", "Microsoft Windows", "Windows2016_64", "Windows 2016 (64-bit)",
163 VBOXOSTYPE_Win2k16_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET | VBOXOSHINT_USB3,
164 2048,128, 32 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_IntelAhci, StorageBus_SATA,
165 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA, AudioCodecType_STAC9221 },
166
167 { "Windows", "Microsoft Windows", "WindowsNT", "Other Windows (32-bit)",
168 VBOXOSTYPE_WinNT, VBOXOSHINT_NONE,
169 512, 16, 20 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
170 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_STAC9700 },
171
172 { "Windows", "Microsoft Windows", "WindowsNT_64", "Other Windows (64-bit)",
173 VBOXOSTYPE_WinNT_x64, VBOXOSHINT_64BIT | VBOXOSHINT_PAE | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
174 512, 16, 20 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
175 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_STAC9700 },
176
177 { "Linux", "Linux", "Linux22", "Linux 2.2",
178 VBOXOSTYPE_Linux22, VBOXOSHINT_RTCUTC,
179 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
180 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_AD1980 },
181
182 { "Linux", "Linux", "Linux24", "Linux 2.4 (32-bit)",
183 VBOXOSTYPE_Linux24, VBOXOSHINT_RTCUTC,
184 128, 16, 4 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
185 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_AD1980 },
186
187 { "Linux", "Linux", "Linux24_64", "Linux 2.4 (64-bit)",
188 VBOXOSTYPE_Linux24_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC,
189 128, 16, 4 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
190 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_AD1980 },
191
192 { "Linux", "Linux", "Linux26", "Linux 2.6 / 3.x / 4.x (32-bit)",
193 VBOXOSTYPE_Linux26, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET | VBOXOSHINT_X2APIC,
194 512, 16, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
195 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_AD1980 },
196
197 { "Linux", "Linux", "Linux26_64", "Linux 2.6 / 3.x / 4.x (64-bit)",
198 VBOXOSTYPE_Linux26_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC
199 | VBOXOSHINT_USBTABLET | VBOXOSHINT_X2APIC,
200 1024, 16, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
201 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_AD1980 },
202
203 { "Linux", "Linux", "ArchLinux", "Arch Linux (32-bit)",
204 VBOXOSTYPE_ArchLinux, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET | VBOXOSHINT_X2APIC,
205 1024, 16, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
206 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_AD1980 },
207
208 { "Linux", "Linux", "ArchLinux_64", "Arch Linux (64-bit)",
209 VBOXOSTYPE_ArchLinux_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC
210 | VBOXOSHINT_USBTABLET | VBOXOSHINT_X2APIC,
211 1024, 16, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
212 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_AD1980 },
213
214 { "Linux", "Linux", "Debian", "Debian (32-bit)",
215 VBOXOSTYPE_Debian, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET | VBOXOSHINT_X2APIC,
216 1024, 16, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
217 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_AD1980 },
218
219 { "Linux", "Linux", "Debian_64", "Debian (64-bit)",
220 VBOXOSTYPE_Debian_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC
221 | VBOXOSHINT_USBTABLET | VBOXOSHINT_X2APIC,
222 1024, 16, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
223 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_AD1980},
224
225 { "Linux", "Linux", "Fedora", "Fedora (32-bit)",
226 VBOXOSTYPE_FedoraCore, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET | VBOXOSHINT_X2APIC,
227 1024, 16, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
228 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_AD1980 },
229
230 { "Linux", "Linux", "Fedora_64", "Fedora (64-bit)",
231 VBOXOSTYPE_FedoraCore_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC
232 | VBOXOSHINT_USBTABLET | VBOXOSHINT_X2APIC,
233 1024, 16, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
234 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_AD1980 },
235
236 { "Linux", "Linux", "Gentoo", "Gentoo (32-bit)",
237 VBOXOSTYPE_Gentoo, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET | VBOXOSHINT_X2APIC,
238 1024, 16, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
239 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_AD1980 },
240
241 { "Linux", "Linux", "Gentoo_64", "Gentoo (64-bit)",
242 VBOXOSTYPE_Gentoo_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC
243 | VBOXOSHINT_USBTABLET | VBOXOSHINT_X2APIC,
244 1024, 16, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
245 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_AD1980 },
246
247 { "Linux", "Linux", "Mandriva", "Mandriva (32-bit)",
248 VBOXOSTYPE_Mandriva, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET | VBOXOSHINT_X2APIC,
249 1024, 16, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
250 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_AD1980 },
251
252 { "Linux", "Linux", "Mandriva_64", "Mandriva (64-bit)",
253 VBOXOSTYPE_Mandriva_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC
254 | VBOXOSHINT_USBTABLET | VBOXOSHINT_X2APIC,
255 1024, 16, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
256 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_AD1980 },
257
258 { "Linux", "Linux", "Oracle", "Oracle (32-bit)",
259 VBOXOSTYPE_Oracle, VBOXOSHINT_RTCUTC | VBOXOSHINT_PAE | VBOXOSHINT_X2APIC,
260 1024, 16, 12 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
261 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_AD1980 },
262
263 { "Linux", "Linux", "Oracle_64", "Oracle (64-bit)",
264 VBOXOSTYPE_Oracle_x64, VBOXOSHINT_64BIT | VBOXOSHINT_PAE | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC
265 | VBOXOSHINT_X2APIC,
266 1024, 16, 12 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
267 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_AD1980 },
268
269 { "Linux", "Linux", "RedHat", "Red Hat (32-bit)",
270 VBOXOSTYPE_RedHat, VBOXOSHINT_RTCUTC | VBOXOSHINT_PAE | VBOXOSHINT_X2APIC,
271 1024, 16, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
272 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_AD1980 },
273
274 { "Linux", "Linux", "RedHat_64", "Red Hat (64-bit)",
275 VBOXOSTYPE_RedHat_x64, VBOXOSHINT_64BIT | VBOXOSHINT_PAE | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC
276 | VBOXOSHINT_X2APIC,
277 1024, 16, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
278 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_AD1980 },
279
280 { "Linux", "Linux", "OpenSUSE", "openSUSE (32-bit)",
281 VBOXOSTYPE_OpenSUSE, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET | VBOXOSHINT_X2APIC,
282 1024, 16, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
283 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_AD1980 },
284
285 { "Linux", "Linux", "OpenSUSE_64", "openSUSE (64-bit)",
286 VBOXOSTYPE_OpenSUSE_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC
287 | VBOXOSHINT_USBTABLET | VBOXOSHINT_X2APIC,
288 1024, 16, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
289 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_AD1980 },
290
291 { "Linux", "Linux", "Turbolinux", "Turbolinux (32-bit)",
292 VBOXOSTYPE_Turbolinux, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET | VBOXOSHINT_X2APIC,
293 384, 16, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
294 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_AD1980 },
295
296 { "Linux", "Linux", "Turbolinux_64", "Turbolinux (64-bit)",
297 VBOXOSTYPE_Turbolinux_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC
298 | VBOXOSHINT_USBTABLET | VBOXOSHINT_X2APIC,
299 384, 16, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
300 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_AD1980 },
301
302 { "Linux", "Linux", "Ubuntu", "Ubuntu (32-bit)",
303 VBOXOSTYPE_Ubuntu, VBOXOSHINT_RTCUTC | VBOXOSHINT_PAE | VBOXOSHINT_USBTABLET | VBOXOSHINT_X2APIC,
304 1024, 16, 10 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
305 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_AD1980 },
306
307 { "Linux", "Linux", "Ubuntu_64", "Ubuntu (64-bit)",
308 VBOXOSTYPE_Ubuntu_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC
309 | VBOXOSHINT_USBTABLET | VBOXOSHINT_X2APIC,
310 1024, 16, 10 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
311 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_AD1980 },
312
313 { "Linux", "Linux", "Xandros", "Xandros (32-bit)",
314 VBOXOSTYPE_Xandros, VBOXOSHINT_RTCUTC | VBOXOSHINT_X2APIC,
315 256, 16, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
316 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_AD1980 },
317
318 { "Linux", "Linux", "Xandros_64", "Xandros (64-bit)",
319 VBOXOSTYPE_Xandros_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_X2APIC,
320 256, 16, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
321 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_AD1980 },
322
323 { "Linux", "Linux", "Linux", "Other Linux (32-bit)",
324 VBOXOSTYPE_Linux, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET | VBOXOSHINT_X2APIC,
325 256, 16, 8 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
326 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_AD1980 },
327
328 { "Linux", "Linux", "Linux_64", "Other Linux (64-bit)",
329 VBOXOSTYPE_Linux_x64, VBOXOSHINT_64BIT | VBOXOSHINT_PAE | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC
330 | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET | VBOXOSHINT_X2APIC,
331 512, 16, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
332 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_STAC9700 },
333
334 { "Solaris", "Solaris", "Solaris", "Oracle Solaris 10 5/09 and earlier (32-bit)",
335 VBOXOSTYPE_Solaris, VBOXOSHINT_NONE,
336 768, 16, 16 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
337 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_STAC9700 },
338
339 { "Solaris", "Solaris", "Solaris_64", "Oracle Solaris 10 5/09 and earlier (64-bit)",
340 VBOXOSTYPE_Solaris_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC,
341 1536, 16, 16 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
342 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_STAC9700 },
343
344 { "Solaris", "Solaris", "OpenSolaris", "Oracle Solaris 10 10/09 and later (32-bit)",
345 VBOXOSTYPE_OpenSolaris, VBOXOSHINT_USBTABLET,
346 768, 16, 16 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_IntelAhci, StorageBus_SATA,
347 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_STAC9700 },
348
349 { "Solaris", "Solaris", "OpenSolaris_64", "Oracle Solaris 10 10/09 and later (64-bit)",
350 VBOXOSTYPE_OpenSolaris_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
351 1536, 16, 16 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_IntelAhci, StorageBus_SATA,
352 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_STAC9700 },
353
354 { "Solaris", "Solaris", "Solaris11_64", "Oracle Solaris 11 (64-bit)",
355 VBOXOSTYPE_Solaris11_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET | VBOXOSHINT_RTCUTC,
356 1536, 16, 16 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_IntelAhci, StorageBus_SATA,
357 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_STAC9700 },
358
359 { "BSD", "BSD", "FreeBSD", "FreeBSD (32-bit)",
360 VBOXOSTYPE_FreeBSD, VBOXOSHINT_NONE,
361 1024, 16, 2 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
362 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_STAC9700 },
363
364 { "BSD", "BSD", "FreeBSD_64", "FreeBSD (64-bit)",
365 VBOXOSTYPE_FreeBSD_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC,
366 1024, 16, 16 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
367 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_STAC9700 },
368
369 { "BSD", "BSD", "OpenBSD", "OpenBSD (32-bit)",
370 VBOXOSTYPE_OpenBSD, VBOXOSHINT_HWVIRTEX,
371 1024, 16, 16 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
372 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_STAC9700 },
373
374 { "BSD", "BSD", "OpenBSD_64", "OpenBSD (64-bit)",
375 VBOXOSTYPE_OpenBSD_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC,
376 1024, 16, 16 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
377 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_STAC9700 },
378
379 { "BSD", "BSD", "NetBSD", "NetBSD (32-bit)",
380 VBOXOSTYPE_NetBSD, VBOXOSHINT_RTCUTC,
381 1024, 16, 16 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
382 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_STAC9700 },
383
384 { "BSD", "BSD", "NetBSD_64", "NetBSD (64-bit)",
385 VBOXOSTYPE_NetBSD_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC,
386 1024, 16, 16 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
387 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_STAC9700 },
388
389 { "OS2", "IBM OS/2", "OS2Warp3", "OS/2 Warp 3",
390 VBOXOSTYPE_OS2Warp3, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_FLOPPY,
391 48, 4, 1 * _1G64, NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, StorageBus_IDE,
392 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_SB16, AudioCodecType_SB16 },
393
394 { "OS2", "IBM OS/2", "OS2Warp4", "OS/2 Warp 4",
395 VBOXOSTYPE_OS2Warp4, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_FLOPPY,
396 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, StorageBus_IDE,
397 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_SB16, AudioCodecType_SB16 },
398
399 { "OS2", "IBM OS/2", "OS2Warp45", "OS/2 Warp 4.5",
400 VBOXOSTYPE_OS2Warp45, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_FLOPPY,
401 128, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, StorageBus_IDE,
402 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_SB16, AudioCodecType_SB16 },
403
404 { "OS2", "IBM OS/2", "OS2eCS", "eComStation",
405 VBOXOSTYPE_ECS, VBOXOSHINT_HWVIRTEX,
406 256, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, StorageBus_IDE,
407 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_STAC9700 },
408
409 { "OS2", "IBM OS/2", "OS21x", "OS/2 1.x",
410 VBOXOSTYPE_OS21x, VBOXOSHINT_FLOPPY | VBOXOSHINT_NOUSB | VBOXOSHINT_TFRESET,
411 8, 4, 500 * _1M, NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, StorageBus_IDE,
412 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_SB16, AudioCodecType_SB16 },
413
414 { "OS2", "IBM OS/2", "OS2", "Other OS/2",
415 VBOXOSTYPE_OS2, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_FLOPPY | VBOXOSHINT_NOUSB,
416 96, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, StorageBus_IDE,
417 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_SB16, AudioCodecType_SB16 },
418
419 { "MacOS", "Mac OS X", "MacOS", "Mac OS X (32-bit)",
420 VBOXOSTYPE_MacOS, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_EFI | VBOXOSHINT_PAE
421 | VBOXOSHINT_USBHID | VBOXOSHINT_HPET | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
422 2048, 16, 20 * _1G64, NetworkAdapterType_I82545EM, 0,
423 StorageControllerType_IntelAhci, StorageBus_SATA, StorageControllerType_IntelAhci, StorageBus_SATA,
424 ChipsetType_ICH9, AudioControllerType_HDA, AudioCodecType_STAC9221 },
425
426 { "MacOS", "Mac OS X", "MacOS_64", "Mac OS X (64-bit)",
427 VBOXOSTYPE_MacOS_x64, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_EFI | VBOXOSHINT_PAE | VBOXOSHINT_64BIT
428 | VBOXOSHINT_USBHID | VBOXOSHINT_HPET | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
429 2048, 16, 20 * _1G64, NetworkAdapterType_I82545EM, 0,
430 StorageControllerType_IntelAhci, StorageBus_SATA, StorageControllerType_IntelAhci, StorageBus_SATA,
431 ChipsetType_ICH9, AudioControllerType_HDA, AudioCodecType_STAC9221 },
432
433 { "MacOS", "Mac OS X", "MacOS106", "Mac OS X 10.6 Snow Leopard (32-bit)",
434 VBOXOSTYPE_MacOS106, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_EFI | VBOXOSHINT_PAE
435 | VBOXOSHINT_USBHID | VBOXOSHINT_HPET | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
436 2048, 16, 20 * _1G64, NetworkAdapterType_I82545EM, 0,
437 StorageControllerType_IntelAhci, StorageBus_SATA, StorageControllerType_IntelAhci, StorageBus_SATA,
438 ChipsetType_ICH9, AudioControllerType_HDA, AudioCodecType_STAC9221 },
439
440 { "MacOS", "Mac OS X", "MacOS106_64", "Mac OS X 10.6 Snow Leopard (64-bit)",
441 VBOXOSTYPE_MacOS106_x64, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_EFI | VBOXOSHINT_PAE | VBOXOSHINT_64BIT
442 | VBOXOSHINT_USBHID | VBOXOSHINT_HPET | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
443 2048, 16, 20 * _1G64, NetworkAdapterType_I82545EM, 0,
444 StorageControllerType_IntelAhci, StorageBus_SATA, StorageControllerType_IntelAhci, StorageBus_SATA,
445 ChipsetType_ICH9, AudioControllerType_HDA, AudioCodecType_STAC9221 },
446
447 { "MacOS", "Mac OS X", "MacOS107_64", "Mac OS X 10.7 Lion (64-bit)",
448 VBOXOSTYPE_MacOS107_x64, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_EFI | VBOXOSHINT_PAE | VBOXOSHINT_64BIT
449 | VBOXOSHINT_USBHID | VBOXOSHINT_HPET | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
450 2048, 16, 20 * _1G64, NetworkAdapterType_I82545EM, 0,
451 StorageControllerType_IntelAhci, StorageBus_SATA, StorageControllerType_IntelAhci, StorageBus_SATA,
452 ChipsetType_ICH9, AudioControllerType_HDA, AudioCodecType_STAC9221 },
453 { "MacOS", "Mac OS X", "MacOS108_64", "Mac OS X 10.8 Mountain Lion (64-bit)", /* Aka "Mountain Kitten". */
454 VBOXOSTYPE_MacOS108_x64, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_EFI | VBOXOSHINT_PAE | VBOXOSHINT_64BIT
455 | VBOXOSHINT_USBHID | VBOXOSHINT_HPET | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
456 2048, 16, 20 * _1G64, NetworkAdapterType_I82545EM, 0,
457 StorageControllerType_IntelAhci, StorageBus_SATA, StorageControllerType_IntelAhci, StorageBus_SATA,
458 ChipsetType_ICH9, AudioControllerType_HDA, AudioCodecType_STAC9221 },
459
460 { "MacOS", "Mac OS X", "MacOS109_64", "Mac OS X 10.9 Mavericks (64-bit)", /* Not to be confused with McCain. */
461 VBOXOSTYPE_MacOS109_x64, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_EFI | VBOXOSHINT_PAE | VBOXOSHINT_64BIT
462 | VBOXOSHINT_USBHID | VBOXOSHINT_HPET | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
463 2048, 16, 25 * _1G64, NetworkAdapterType_I82545EM, 0,
464 StorageControllerType_IntelAhci, StorageBus_SATA, StorageControllerType_IntelAhci, StorageBus_SATA,
465 ChipsetType_ICH9, AudioControllerType_HDA, AudioCodecType_STAC9221 },
466
467 { "MacOS", "Mac OS X", "MacOS1010_64", "Mac OS X 10.10 Yosemite (64-bit)",
468 VBOXOSTYPE_MacOS1010_x64, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_EFI | VBOXOSHINT_PAE | VBOXOSHINT_64BIT
469 | VBOXOSHINT_USBHID | VBOXOSHINT_HPET | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
470 2048, 16, 25 * _1G64, NetworkAdapterType_I82545EM, 0,
471 StorageControllerType_IntelAhci, StorageBus_SATA, StorageControllerType_IntelAhci, StorageBus_SATA,
472 ChipsetType_ICH9, AudioControllerType_HDA, AudioCodecType_STAC9221 },
473
474 { "MacOS", "Mac OS X", "MacOS1011_64", "Mac OS X 10.11 El Capitan (64-bit)",
475 VBOXOSTYPE_MacOS1011_x64, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_EFI | VBOXOSHINT_PAE | VBOXOSHINT_64BIT
476 | VBOXOSHINT_USBHID | VBOXOSHINT_HPET | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
477 2048, 16, 30 * _1G64, NetworkAdapterType_I82545EM, 0,
478 StorageControllerType_IntelAhci, StorageBus_SATA, StorageControllerType_IntelAhci, StorageBus_SATA,
479 ChipsetType_ICH9, AudioControllerType_HDA, AudioCodecType_STAC9221 },
480
481 { "MacOS", "Mac OS X", "MacOS1012_64", "macOS 10.12 Sierra (64-bit)",
482 VBOXOSTYPE_MacOS1012_x64, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_EFI | VBOXOSHINT_PAE | VBOXOSHINT_64BIT
483 | VBOXOSHINT_USBHID | VBOXOSHINT_HPET | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
484 2048, 16, 30 * _1G64, NetworkAdapterType_I82545EM, 0,
485 StorageControllerType_IntelAhci, StorageBus_SATA, StorageControllerType_IntelAhci, StorageBus_SATA,
486 ChipsetType_ICH9, AudioControllerType_HDA, AudioCodecType_STAC9221 },
487
488 { "MacOS", "Mac OS X", "MacOS1013_64", "macOS 10.13 High Sierra (64-bit)",
489 VBOXOSTYPE_MacOS1013_x64, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_EFI | VBOXOSHINT_PAE | VBOXOSHINT_64BIT
490 | VBOXOSHINT_USBHID | VBOXOSHINT_HPET | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
491 2048, 16, 30 * _1G64, NetworkAdapterType_I82545EM, 0,
492 StorageControllerType_IntelAhci, StorageBus_SATA, StorageControllerType_IntelAhci, StorageBus_SATA,
493 ChipsetType_ICH9, AudioControllerType_HDA, AudioCodecType_STAC9221 },
494
495 { "Other", "Other", "DOS", "DOS",
496 VBOXOSTYPE_DOS, VBOXOSHINT_FLOPPY | VBOXOSHINT_NOUSB,
497 32, 4, 500 * _1M, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
498 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_SB16, AudioCodecType_SB16 },
499
500 { "Other", "Other", "Netware", "Netware",
501 VBOXOSTYPE_Netware, VBOXOSHINT_HWVIRTEX,
502 512, 4, 4 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
503 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_STAC9700 },
504
505 { "Other", "Other", "L4", "L4",
506 VBOXOSTYPE_L4, VBOXOSHINT_NONE,
507 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
508 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_STAC9700 },
509
510 { "Other", "Other", "QNX", "QNX",
511#ifdef VBOX_WITH_RAW_RING1
512 VBOXOSTYPE_QNX, VBOXOSHINT_NONE,
513#else
514 VBOXOSTYPE_QNX, VBOXOSHINT_HWVIRTEX,
515#endif
516 512, 4, 4 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
517 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_STAC9700 },
518
519 { "Other", "Other", "JRockitVE", "JRockitVE",
520 VBOXOSTYPE_JRockitVE, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_PAE,
521 1024, 4, 8 * _1G64, NetworkAdapterType_I82545EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
522 StorageControllerType_BusLogic, StorageBus_SCSI, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_STAC9700 },
523
524 { "Other", "Other", "VBoxBS_64", "VirtualBox Bootsector Test (64-bit)",
525 VBOXOSTYPE_VBoxBS_x64, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_FLOPPY | VBOXOSHINT_IOAPIC | VBOXOSHINT_PAE | VBOXOSHINT_64BIT,
526 128, 4, 0, NetworkAdapterType_I82545EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
527 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97, AudioCodecType_STAC9700 },
528};
529
530size_t Global::cOSTypes = RT_ELEMENTS(Global::sOSTypes);
531
532/**
533 * Returns an OS Type ID for the given VBOXOSTYPE value.
534 *
535 * The returned ID will correspond to the IGuestOSType::id value of one of the
536 * objects stored in the IVirtualBox::guestOSTypes
537 * (VirtualBoxImpl::COMGETTER(GuestOSTypes)) collection.
538 */
539/* static */
540const char *Global::OSTypeId(VBOXOSTYPE aOSType)
541{
542 for (size_t i = 0; i < RT_ELEMENTS(sOSTypes); ++i)
543 {
544 if (sOSTypes[i].osType == aOSType)
545 return sOSTypes[i].id;
546 }
547
548 return sOSTypes[0].id;
549}
550
551/**
552 * Maps an OS type ID string to index into sOSTypes.
553 *
554 * @returns index on success, UINT32_MAX if not found.
555 * @param pszId The OS type ID string.
556 */
557/* static */ uint32_t Global::getOSTypeIndexFromId(const char *pszId)
558{
559 for (size_t i = 0; i < RT_ELEMENTS(sOSTypes); ++i)
560 if (!RTStrICmp(pszId, Global::sOSTypes[i].id))
561 return (uint32_t)i;
562 return UINT32_MAX;
563}
564
565/*static*/ uint32_t Global::getMaxNetworkAdapters(ChipsetType_T aChipsetType)
566{
567 switch (aChipsetType)
568 {
569 case ChipsetType_PIIX3:
570 return 8;
571 case ChipsetType_ICH9:
572 return 36;
573 default:
574 return 0;
575 }
576}
577
578/*static*/ const char *
579Global::stringifyMachineState(MachineState_T aState)
580{
581 switch (aState)
582 {
583 case MachineState_Null: return "Null";
584 case MachineState_PoweredOff: return "PoweredOff";
585 case MachineState_Saved: return "Saved";
586 case MachineState_Teleported: return "Teleported";
587 case MachineState_Aborted: return "Aborted";
588 case MachineState_Running: return "Running";
589 case MachineState_Paused: return "Paused";
590 case MachineState_Stuck: return "GuruMeditation";
591 case MachineState_Teleporting: return "Teleporting";
592 case MachineState_LiveSnapshotting: return "LiveSnapshotting";
593 case MachineState_Starting: return "Starting";
594 case MachineState_Stopping: return "Stopping";
595 case MachineState_Saving: return "Saving";
596 case MachineState_Restoring: return "Restoring";
597 case MachineState_TeleportingPausedVM: return "TeleportingPausedVM";
598 case MachineState_TeleportingIn: return "TeleportingIn";
599 case MachineState_FaultTolerantSyncing: return "FaultTolerantSyncing";
600 case MachineState_DeletingSnapshotOnline: return "DeletingSnapshotOnline";
601 case MachineState_DeletingSnapshotPaused: return "DeletingSnapshotPaused";
602 case MachineState_OnlineSnapshotting: return "OnlineSnapshotting";
603 case MachineState_RestoringSnapshot: return "RestoringSnapshot";
604 case MachineState_DeletingSnapshot: return "DeletingSnapshot";
605 case MachineState_SettingUp: return "SettingUp";
606 case MachineState_Snapshotting: return "Snapshotting";
607 default:
608 {
609 AssertMsgFailed(("%d (%#x)\n", aState, aState));
610 static char s_szMsg[48];
611 RTStrPrintf(s_szMsg, sizeof(s_szMsg), "InvalidState-0x%08x\n", aState);
612 return s_szMsg;
613 }
614 }
615}
616
617/*static*/ const char *
618Global::stringifySessionState(SessionState_T aState)
619{
620 switch (aState)
621 {
622 case SessionState_Null: return "Null";
623 case SessionState_Unlocked: return "Unlocked";
624 case SessionState_Locked: return "Locked";
625 case SessionState_Spawning: return "Spawning";
626 case SessionState_Unlocking: return "Unlocking";
627 default:
628 {
629 AssertMsgFailed(("%d (%#x)\n", aState, aState));
630 static char s_szMsg[48];
631 RTStrPrintf(s_szMsg, sizeof(s_szMsg), "InvalidState-0x%08x\n", aState);
632 return s_szMsg;
633 }
634 }
635}
636
637/*static*/ const char *
638Global::stringifyDeviceType(DeviceType_T aType)
639{
640 switch (aType)
641 {
642 case DeviceType_Null: return "Null";
643 case DeviceType_Floppy: return "Floppy";
644 case DeviceType_DVD: return "DVD";
645 case DeviceType_HardDisk: return "HardDisk";
646 case DeviceType_Network: return "Network";
647 case DeviceType_USB: return "USB";
648 case DeviceType_SharedFolder: return "ShardFolder";
649 default:
650 {
651 AssertMsgFailed(("%d (%#x)\n", aType, aType));
652 static char s_szMsg[48];
653 RTStrPrintf(s_szMsg, sizeof(s_szMsg), "InvalidType-0x%08x\n", aType);
654 return s_szMsg;
655 }
656 }
657}
658
659
660/*static*/ const char *
661Global::stringifyReason(Reason_T aReason)
662{
663 switch (aReason)
664 {
665 case Reason_Unspecified: return "unspecified";
666 case Reason_HostSuspend: return "host suspend";
667 case Reason_HostResume: return "host resume";
668 case Reason_HostBatteryLow: return "host battery low";
669 case Reason_Snapshot: return "snapshot";
670 default:
671 {
672 AssertMsgFailed(("%d (%#x)\n", aReason, aReason));
673 static char s_szMsg[48];
674 RTStrPrintf(s_szMsg, sizeof(s_szMsg), "invalid reason %#010x\n", aReason);
675 return s_szMsg;
676 }
677 }
678}
679
680/*static*/ int
681Global::vboxStatusCodeFromCOM(HRESULT aComStatus)
682{
683 switch (aComStatus)
684 {
685 case S_OK: return VINF_SUCCESS;
686
687 /* Standard COM status codes. See also RTErrConvertFromDarwinCOM */
688 case E_UNEXPECTED: return VERR_COM_UNEXPECTED;
689 case E_NOTIMPL: return VERR_NOT_IMPLEMENTED;
690 case E_OUTOFMEMORY: return VERR_NO_MEMORY;
691 case E_INVALIDARG: return VERR_INVALID_PARAMETER;
692 case E_NOINTERFACE: return VERR_NOT_SUPPORTED;
693 case E_POINTER: return VERR_INVALID_POINTER;
694#ifdef E_HANDLE
695 case E_HANDLE: return VERR_INVALID_HANDLE;
696#endif
697 case E_ABORT: return VERR_CANCELLED;
698 case E_FAIL: return VERR_GENERAL_FAILURE;
699 case E_ACCESSDENIED: return VERR_ACCESS_DENIED;
700
701 /* VirtualBox status codes */
702 case VBOX_E_OBJECT_NOT_FOUND: return VERR_COM_OBJECT_NOT_FOUND;
703 case VBOX_E_INVALID_VM_STATE: return VERR_COM_INVALID_VM_STATE;
704 case VBOX_E_VM_ERROR: return VERR_COM_VM_ERROR;
705 case VBOX_E_FILE_ERROR: return VERR_COM_FILE_ERROR;
706 case VBOX_E_IPRT_ERROR: return VERR_COM_IPRT_ERROR;
707 case VBOX_E_PDM_ERROR: return VERR_COM_PDM_ERROR;
708 case VBOX_E_INVALID_OBJECT_STATE: return VERR_COM_INVALID_OBJECT_STATE;
709 case VBOX_E_HOST_ERROR: return VERR_COM_HOST_ERROR;
710 case VBOX_E_NOT_SUPPORTED: return VERR_COM_NOT_SUPPORTED;
711 case VBOX_E_XML_ERROR: return VERR_COM_XML_ERROR;
712 case VBOX_E_INVALID_SESSION_STATE: return VERR_COM_INVALID_SESSION_STATE;
713 case VBOX_E_OBJECT_IN_USE: return VERR_COM_OBJECT_IN_USE;
714
715 default:
716 if (SUCCEEDED(aComStatus))
717 return VINF_SUCCESS;
718 /** @todo Check for the win32 facility and use the
719 * RTErrConvertFromWin32 function on windows. */
720 return VERR_UNRESOLVED_ERROR;
721 }
722}
723
724
725/*static*/ HRESULT
726Global::vboxStatusCodeToCOM(int aVBoxStatus)
727{
728 switch (aVBoxStatus)
729 {
730 case VINF_SUCCESS: return S_OK;
731
732 /* Standard COM status codes. */
733 case VERR_COM_UNEXPECTED: return E_UNEXPECTED;
734 case VERR_NOT_IMPLEMENTED: return E_NOTIMPL;
735 case VERR_NO_MEMORY: return E_OUTOFMEMORY;
736 case VERR_INVALID_PARAMETER: return E_INVALIDARG;
737 case VERR_NOT_SUPPORTED: return E_NOINTERFACE;
738 case VERR_INVALID_POINTER: return E_POINTER;
739#ifdef E_HANDLE
740 case VERR_INVALID_HANDLE: return E_HANDLE;
741#endif
742 case VERR_CANCELLED: return E_ABORT;
743 case VERR_GENERAL_FAILURE: return E_FAIL;
744 case VERR_ACCESS_DENIED: return E_ACCESSDENIED;
745
746 /* VirtualBox COM status codes */
747 case VERR_COM_OBJECT_NOT_FOUND: return VBOX_E_OBJECT_NOT_FOUND;
748 case VERR_COM_INVALID_VM_STATE: return VBOX_E_INVALID_VM_STATE;
749 case VERR_COM_VM_ERROR: return VBOX_E_VM_ERROR;
750 case VERR_COM_FILE_ERROR: return VBOX_E_FILE_ERROR;
751 case VERR_COM_IPRT_ERROR: return VBOX_E_IPRT_ERROR;
752 case VERR_COM_PDM_ERROR: return VBOX_E_PDM_ERROR;
753 case VERR_COM_INVALID_OBJECT_STATE: return VBOX_E_INVALID_OBJECT_STATE;
754 case VERR_COM_HOST_ERROR: return VBOX_E_HOST_ERROR;
755 case VERR_COM_NOT_SUPPORTED: return VBOX_E_NOT_SUPPORTED;
756 case VERR_COM_XML_ERROR: return VBOX_E_XML_ERROR;
757 case VERR_COM_INVALID_SESSION_STATE: return VBOX_E_INVALID_SESSION_STATE;
758 case VERR_COM_OBJECT_IN_USE: return VBOX_E_OBJECT_IN_USE;
759
760 /* Other errors. */
761 case VERR_UNRESOLVED_ERROR: return E_FAIL;
762 case VERR_NOT_EQUAL: return VBOX_E_FILE_ERROR;
763 case VERR_FILE_NOT_FOUND: return VBOX_E_OBJECT_NOT_FOUND;
764
765 default:
766 AssertMsgFailed(("%Rrc\n", aVBoxStatus));
767 if (RT_SUCCESS(aVBoxStatus))
768 return S_OK;
769
770 /* try categorize it */
771 if ( aVBoxStatus < 0
772 && ( aVBoxStatus > -1000
773 || (aVBoxStatus < -22000 && aVBoxStatus > -32766) )
774 )
775 return VBOX_E_IPRT_ERROR;
776 if ( aVBoxStatus < VERR_PDM_NO_SUCH_LUN / 100 * 10
777 && aVBoxStatus > VERR_PDM_NO_SUCH_LUN / 100 * 10 - 100)
778 return VBOX_E_PDM_ERROR;
779 if ( aVBoxStatus <= -1000
780 && aVBoxStatus > -5000 /* wrong, but so what... */)
781 return VBOX_E_VM_ERROR;
782
783 return E_FAIL;
784 }
785}
786
787/* vi: set tabstop=4 shiftwidth=4 expandtab: */
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