[2782] | 1 | /* $Id: VBoxDD.h 101618 2023-10-27 12:47:55Z vboxsync $ */
|
---|
[1] | 2 | /** @file
|
---|
[2782] | 3 | * Built-in drivers & devices (part 1) header.
|
---|
[1] | 4 | */
|
---|
| 5 |
|
---|
| 6 | /*
|
---|
[98103] | 7 | * Copyright (C) 2006-2023 Oracle and/or its affiliates.
|
---|
[1] | 8 | *
|
---|
[96407] | 9 | * This file is part of VirtualBox base platform packages, as
|
---|
| 10 | * available from https://www.virtualbox.org.
|
---|
| 11 | *
|
---|
| 12 | * This program is free software; you can redistribute it and/or
|
---|
| 13 | * modify it under the terms of the GNU General Public License
|
---|
| 14 | * as published by the Free Software Foundation, in version 3 of the
|
---|
| 15 | * License.
|
---|
| 16 | *
|
---|
| 17 | * This program is distributed in the hope that it will be useful, but
|
---|
| 18 | * WITHOUT ANY WARRANTY; without even the implied warranty of
|
---|
| 19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
---|
| 20 | * General Public License for more details.
|
---|
| 21 | *
|
---|
| 22 | * You should have received a copy of the GNU General Public License
|
---|
| 23 | * along with this program; if not, see <https://www.gnu.org/licenses>.
|
---|
| 24 | *
|
---|
| 25 | * SPDX-License-Identifier: GPL-3.0-only
|
---|
[1] | 26 | */
|
---|
| 27 |
|
---|
[76565] | 28 | #ifndef VBOX_INCLUDED_SRC_build_VBoxDD_h
|
---|
| 29 | #define VBOX_INCLUDED_SRC_build_VBoxDD_h
|
---|
[76520] | 30 | #ifndef RT_WITHOUT_PRAGMA_ONCE
|
---|
| 31 | # pragma once
|
---|
| 32 | #endif
|
---|
[1] | 33 |
|
---|
[35346] | 34 | #include <VBox/vmm/pdm.h>
|
---|
[1] | 35 |
|
---|
[20374] | 36 | RT_C_DECLS_BEGIN
|
---|
[1] | 37 |
|
---|
| 38 | /** The default BIOS logo data. */
|
---|
[7759] | 39 | extern const unsigned char g_abVgaDefBiosLogo[];
|
---|
[64960] | 40 | extern const unsigned char g_abVgaDefBiosLogoNY[];
|
---|
[1] | 41 | /** The size of the default BIOS logo data. */
|
---|
[7759] | 42 | extern const unsigned g_cbVgaDefBiosLogo;
|
---|
[64960] | 43 | extern const unsigned g_cbVgaDefBiosLogoNY;
|
---|
[1] | 44 |
|
---|
[19183] | 45 |
|
---|
[1] | 46 | extern const PDMDEVREG g_DevicePCI;
|
---|
[32342] | 47 | extern const PDMDEVREG g_DevicePciIch9;
|
---|
[1] | 48 | extern const PDMDEVREG g_DevicePcArch;
|
---|
| 49 | extern const PDMDEVREG g_DevicePcBios;
|
---|
[61339] | 50 | extern const PDMDEVREG g_DeviceIOAPIC;
|
---|
[1] | 51 | extern const PDMDEVREG g_DevicePS2KeyboardMouse;
|
---|
| 52 | extern const PDMDEVREG g_DeviceI8254;
|
---|
| 53 | extern const PDMDEVREG g_DeviceI8259;
|
---|
[15963] | 54 | extern const PDMDEVREG g_DeviceHPET;
|
---|
[48435] | 55 | extern const PDMDEVREG g_DeviceSmc;
|
---|
[72616] | 56 | extern const PDMDEVREG g_DeviceFlash;
|
---|
[1] | 57 | extern const PDMDEVREG g_DeviceMC146818;
|
---|
| 58 | extern const PDMDEVREG g_DevicePIIX3IDE;
|
---|
| 59 | extern const PDMDEVREG g_DeviceFloppyController;
|
---|
| 60 | extern const PDMDEVREG g_DeviceVga;
|
---|
| 61 | extern const PDMDEVREG g_DeviceVMMDev;
|
---|
| 62 | extern const PDMDEVREG g_DevicePCNet;
|
---|
[5755] | 63 | #ifdef VBOX_WITH_E1000
|
---|
| 64 | extern const PDMDEVREG g_DeviceE1000;
|
---|
| 65 | #endif
|
---|
[22866] | 66 | #ifdef VBOX_WITH_VIRTIO
|
---|
| 67 | extern const PDMDEVREG g_DeviceVirtioNet;
|
---|
| 68 | #endif
|
---|
[93560] | 69 | extern const PDMDEVREG g_DeviceDP8390;
|
---|
| 70 | extern const PDMDEVREG g_Device3C501;
|
---|
[5849] | 71 | #ifdef VBOX_WITH_INIP
|
---|
| 72 | extern const PDMDEVREG g_DeviceINIP;
|
---|
| 73 | #endif
|
---|
[1] | 74 | extern const PDMDEVREG g_DeviceICHAC97;
|
---|
[6597] | 75 | extern const PDMDEVREG g_DeviceSB16;
|
---|
[64351] | 76 | extern const PDMDEVREG g_DeviceHDA;
|
---|
[1] | 77 | extern const PDMDEVREG g_DeviceOHCI;
|
---|
[5623] | 78 | extern const PDMDEVREG g_DeviceEHCI;
|
---|
[52249] | 79 | extern const PDMDEVREG g_DeviceXHCI;
|
---|
[1] | 80 | extern const PDMDEVREG g_DeviceACPI;
|
---|
| 81 | extern const PDMDEVREG g_DeviceDMA;
|
---|
| 82 | extern const PDMDEVREG g_DeviceFloppyController;
|
---|
| 83 | extern const PDMDEVREG g_DeviceSerialPort;
|
---|
[73135] | 84 | extern const PDMDEVREG g_DeviceOxPcie958;
|
---|
[3648] | 85 | extern const PDMDEVREG g_DeviceParallelPort;
|
---|
[5380] | 86 | #ifdef VBOX_WITH_AHCI
|
---|
| 87 | extern const PDMDEVREG g_DeviceAHCI;
|
---|
| 88 | #endif
|
---|
[11410] | 89 | #ifdef VBOX_WITH_BUSLOGIC
|
---|
| 90 | extern const PDMDEVREG g_DeviceBusLogic;
|
---|
| 91 | #endif
|
---|
[13189] | 92 | extern const PDMDEVREG g_DevicePCIBridge;
|
---|
[32342] | 93 | extern const PDMDEVREG g_DevicePciIch9Bridge;
|
---|
[14438] | 94 | #ifdef VBOX_WITH_LSILOGIC
|
---|
| 95 | extern const PDMDEVREG g_DeviceLsiLogicSCSI;
|
---|
[29326] | 96 | extern const PDMDEVREG g_DeviceLsiLogicSAS;
|
---|
[14438] | 97 | #endif
|
---|
[57521] | 98 | #ifdef VBOX_WITH_NVME_IMPL
|
---|
| 99 | extern const PDMDEVREG g_DeviceNVMe;
|
---|
| 100 | #endif
|
---|
[78799] | 101 | #ifdef VBOX_WITH_VIRTIO_SCSI
|
---|
| 102 | extern const PDMDEVREG g_DeviceVirtioSCSI;
|
---|
| 103 | #endif
|
---|
[16559] | 104 | #ifdef VBOX_WITH_EFI
|
---|
| 105 | extern const PDMDEVREG g_DeviceEFI;
|
---|
| 106 | #endif
|
---|
[37781] | 107 | #ifdef VBOX_WITH_PCI_PASSTHROUGH_IMPL
|
---|
[34876] | 108 | extern const PDMDEVREG g_DevicePciRaw;
|
---|
[35685] | 109 | #endif
|
---|
[52473] | 110 | extern const PDMDEVREG g_DeviceGIMDev;
|
---|
[71829] | 111 | extern const PDMDEVREG g_DeviceLPC;
|
---|
[52473] | 112 | #ifdef VBOX_WITH_VIRTUALKD
|
---|
| 113 | extern const PDMDEVREG g_DeviceVirtualKD;
|
---|
| 114 | #endif
|
---|
[86032] | 115 | extern const PDMDEVREG g_DeviceQemuFwCfg;
|
---|
[90530] | 116 | #ifdef VBOX_WITH_TPM
|
---|
| 117 | extern const PDMDEVREG g_DeviceTpm;
|
---|
| 118 | #endif
|
---|
[1] | 119 |
|
---|
| 120 | extern const PDMDRVREG g_DrvMouseQueue;
|
---|
| 121 | extern const PDMDRVREG g_DrvKeyboardQueue;
|
---|
| 122 | extern const PDMDRVREG g_DrvVBoxHDD;
|
---|
[2358] | 123 | extern const PDMDRVREG g_DrvVD;
|
---|
[1] | 124 | extern const PDMDRVREG g_DrvHostDVD;
|
---|
| 125 | extern const PDMDRVREG g_DrvHostFloppy;
|
---|
| 126 | extern const PDMDRVREG g_DrvISCSI;
|
---|
| 127 | extern const PDMDRVREG g_DrvISCSITransportTcp;
|
---|
[22396] | 128 | #if defined(RT_OS_LINUX) || defined(RT_OS_FREEBSD)
|
---|
[1] | 129 | extern const PDMDRVREG g_DrvHostInterface;
|
---|
[18068] | 130 | #endif
|
---|
[37198] | 131 | #ifdef VBOX_WITH_UDPTUNNEL
|
---|
| 132 | extern const PDMDRVREG g_DrvUDPTunnel;
|
---|
| 133 | #endif
|
---|
[28406] | 134 | #ifdef VBOX_WITH_VDE
|
---|
| 135 | extern const PDMDRVREG g_DrvVDE;
|
---|
| 136 | #endif
|
---|
[1] | 137 | extern const PDMDRVREG g_DrvIntNet;
|
---|
[28427] | 138 | extern const PDMDRVREG g_DrvDedicatedNic;
|
---|
[100128] | 139 | #ifndef VBOX_WITH_LIBSLIRP
|
---|
[1] | 140 | extern const PDMDRVREG g_DrvNAT;
|
---|
[100128] | 141 | #endif
|
---|
| 142 | #ifdef VBOX_WITH_LIBSLIRP
|
---|
| 143 | extern const PDMDRVREG g_DrvNATlibslirp;
|
---|
| 144 | #endif
|
---|
[40652] | 145 | #ifdef VBOX_WITH_NETSHAPER
|
---|
| 146 | extern const PDMDRVREG g_DrvNetShaper;
|
---|
| 147 | #endif /* VBOX_WITH_NETSHAPER */
|
---|
[91416] | 148 | #ifdef VBOX_WITH_VMNET
|
---|
| 149 | extern const PDMDRVREG g_DrvVMNet;
|
---|
| 150 | #endif /* VBOX_WITH_VMNET */
|
---|
[1] | 151 | extern const PDMDRVREG g_DrvNetSniffer;
|
---|
| 152 | extern const PDMDRVREG g_DrvAUDIO;
|
---|
[62580] | 153 | #ifdef VBOX_WITH_AUDIO_DEBUG
|
---|
| 154 | extern const PDMDRVREG g_DrvHostDebugAudio;
|
---|
| 155 | #endif
|
---|
[64508] | 156 | #ifdef VBOX_WITH_AUDIO_VALIDATIONKIT
|
---|
| 157 | extern const PDMDRVREG g_DrvHostValidationKitAudio;
|
---|
| 158 | #endif
|
---|
[53442] | 159 | extern const PDMDRVREG g_DrvHostNullAudio;
|
---|
[88561] | 160 | extern DECL_HIDDEN_DATA(struct PDMIHOSTAUDIO) const g_DrvHostAudioNull;
|
---|
[56085] | 161 | #if defined(RT_OS_WINDOWS)
|
---|
[50686] | 162 | extern const PDMDRVREG g_DrvHostDSound;
|
---|
[88626] | 163 | extern const PDMDRVREG g_DrvHostAudioWas;
|
---|
[56085] | 164 | #endif
|
---|
[62586] | 165 | #if defined(RT_OS_DARWIN)
|
---|
| 166 | extern const PDMDRVREG g_DrvHostCoreAudio;
|
---|
| 167 | #endif
|
---|
[62585] | 168 | #ifdef VBOX_WITH_AUDIO_OSS
|
---|
[53523] | 169 | extern const PDMDRVREG g_DrvHostOSSAudio;
|
---|
[56085] | 170 | #endif
|
---|
[62585] | 171 | #ifdef VBOX_WITH_AUDIO_ALSA
|
---|
[62056] | 172 | extern const PDMDRVREG g_DrvHostALSAAudio;
|
---|
| 173 | #endif
|
---|
[62585] | 174 | #ifdef VBOX_WITH_AUDIO_PULSE
|
---|
[62056] | 175 | extern const PDMDRVREG g_DrvHostPulseAudio;
|
---|
| 176 | #endif
|
---|
[1] | 177 | extern const PDMDRVREG g_DrvACPI;
|
---|
[25817] | 178 | extern const PDMDRVREG g_DrvAcpiCpu;
|
---|
[1] | 179 | extern const PDMDRVREG g_DrvVUSBRootHub;
|
---|
[49316] | 180 | #ifdef VBOX_WITH_USB_VIDEO_IMPL
|
---|
| 181 | extern const PDMDRVREG g_DrvHostWebcam;
|
---|
| 182 | #endif
|
---|
[1476] | 183 | extern const PDMDRVREG g_DrvChar;
|
---|
| 184 | extern const PDMDRVREG g_DrvNamedPipe;
|
---|
[55259] | 185 | extern const PDMDRVREG g_DrvTCP;
|
---|
[57989] | 186 | extern const PDMDRVREG g_DrvUDP;
|
---|
[19624] | 187 | extern const PDMDRVREG g_DrvRawFile;
|
---|
[3648] | 188 | extern const PDMDRVREG g_DrvHostParallel;
|
---|
[4144] | 189 | extern const PDMDRVREG g_DrvHostSerial;
|
---|
[27559] | 190 | #ifdef VBOX_WITH_DRV_DISK_INTEGRITY
|
---|
[27558] | 191 | extern const PDMDRVREG g_DrvDiskIntegrity;
|
---|
[63689] | 192 | extern const PDMDRVREG g_DrvRamDisk;
|
---|
[27559] | 193 | #endif
|
---|
[38913] | 194 | #ifdef VBOX_WITH_PCI_PASSTHROUGH_IMPL
|
---|
| 195 | extern const PDMDRVREG g_DrvPciRaw;
|
---|
| 196 | #endif
|
---|
[1] | 197 |
|
---|
[3853] | 198 | #ifdef VBOX_WITH_USB
|
---|
| 199 | extern const PDMUSBREG g_UsbDevProxy;
|
---|
[26112] | 200 | extern const PDMUSBREG g_UsbMsd;
|
---|
[26951] | 201 | #endif
|
---|
| 202 | #ifdef VBOX_WITH_VUSB
|
---|
[26473] | 203 | extern const PDMUSBREG g_UsbHid;
|
---|
| 204 | extern const PDMUSBREG g_UsbHidKbd;
|
---|
| 205 | extern const PDMUSBREG g_UsbHidMou;
|
---|
[3853] | 206 | #endif
|
---|
[49316] | 207 | #ifdef VBOX_WITH_USB_VIDEO_IMPL
|
---|
| 208 | extern const PDMUSBREG g_DevWebcam;
|
---|
| 209 | #endif
|
---|
[3853] | 210 |
|
---|
[12565] | 211 | #ifdef VBOX_WITH_SCSI
|
---|
[11502] | 212 | extern const PDMDRVREG g_DrvSCSI;
|
---|
| 213 | #endif
|
---|
| 214 |
|
---|
[82789] | 215 | extern const PDMDRVREG g_DrvIfTrace;
|
---|
[90530] | 216 | #ifdef VBOX_WITH_TPM
|
---|
| 217 | extern const PDMDRVREG g_DrvTpmEmu;
|
---|
[90946] | 218 | # ifdef RT_OS_LINUX
|
---|
| 219 | extern const PDMDRVREG g_DrvTpmHost;
|
---|
| 220 | # endif
|
---|
[91331] | 221 | # ifdef VBOX_WITH_LIBTPMS
|
---|
| 222 | extern const PDMDRVREG g_DrvTpmEmuTpms;
|
---|
| 223 | # endif
|
---|
[93312] | 224 | # ifdef VBOX_WITH_CLOUD_NET
|
---|
| 225 | extern const PDMDRVREG g_DrvCloudTunnel;
|
---|
| 226 | # endif
|
---|
[90530] | 227 | #endif
|
---|
[44514] | 228 |
|
---|
[85816] | 229 | #ifdef VBOX_WITH_IOMMU_AMD
|
---|
| 230 | extern const PDMDEVREG g_DeviceIommuAmd;
|
---|
| 231 | #endif
|
---|
[88153] | 232 | #ifdef VBOX_WITH_IOMMU_INTEL
|
---|
| 233 | extern const PDMDEVREG g_DeviceIommuIntel;
|
---|
| 234 | #endif
|
---|
[85816] | 235 |
|
---|
[101616] | 236 | #ifdef VBOX_WITH_VIRT_ARMV8
|
---|
[99927] | 237 | extern const PDMDEVREG g_DeviceEfiArmV8;
|
---|
[99125] | 238 | extern const PDMDEVREG g_DevicePl011;
|
---|
[99544] | 239 | extern const PDMDEVREG g_DevicePl031Rtc;
|
---|
[99893] | 240 | extern const PDMDEVREG g_DevicePl061Gpio;
|
---|
[99542] | 241 | extern const PDMDEVREG g_DeviceFlashCFI;
|
---|
[99750] | 242 | extern const PDMDEVREG g_DevicePciGenericEcam;
|
---|
[101479] | 243 | extern const PDMDEVREG g_DevicePciGenericEcamBridge;
|
---|
[101320] | 244 | extern const PDMDEVREG g_DevicePlatform;
|
---|
[101618] | 245 |
|
---|
| 246 | extern const PDMDRVREG g_DrvGpioButton;
|
---|
[99125] | 247 | #endif
|
---|
| 248 |
|
---|
[44514] | 249 | /* VBoxAcpi.cpp */
|
---|
| 250 | int acpiPrepareDsdt(PPDMDEVINS pDevIns, void **ppvPtr, size_t *pcbDsdt);
|
---|
| 251 | int acpiCleanupDsdt(PPDMDEVINS pDevIns, void *pvPtr);
|
---|
| 252 | int acpiPrepareSsdt(PPDMDEVINS pDevIns, void **ppvPtr, size_t *pcbSsdt);
|
---|
| 253 | int acpiCleanupSsdt(PPDMDEVINS pDevIns, void *pvPtr);
|
---|
| 254 |
|
---|
[90908] | 255 | #ifdef VBOX_WITH_TPM
|
---|
| 256 | int acpiPrepareTpmSsdt(PPDMDEVINS pDevIns, void **ppvPtr, size_t *pcbSsdt);
|
---|
| 257 | int acpiCleanupTpmSsdt(PPDMDEVINS pDevIns, void *pvPtr);
|
---|
| 258 | #endif
|
---|
| 259 |
|
---|
[20374] | 260 | RT_C_DECLS_END
|
---|
[1] | 261 |
|
---|
[76565] | 262 | #endif /* !VBOX_INCLUDED_SRC_build_VBoxDD_h */
|
---|
[48435] | 263 |
|
---|