VirtualBox

source: vbox/trunk/src/VBox/Devices/build/VBoxDD.h@ 106129

Last change on this file since 106129 was 106061, checked in by vboxsync, 2 months ago

Copyright year updates by scm.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 7.7 KB
Line 
1/* $Id: VBoxDD.h 106061 2024-09-16 14:03:52Z vboxsync $ */
2/** @file
3 * Built-in drivers & devices (part 1) header.
4 */
5
6/*
7 * Copyright (C) 2006-2024 Oracle and/or its affiliates.
8 *
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
26 */
27
28#ifndef VBOX_INCLUDED_SRC_build_VBoxDD_h
29#define VBOX_INCLUDED_SRC_build_VBoxDD_h
30#ifndef RT_WITHOUT_PRAGMA_ONCE
31# pragma once
32#endif
33
34#include <VBox/vmm/pdm.h>
35
36RT_C_DECLS_BEGIN
37
38/** The default BIOS logo data. */
39extern const unsigned char g_abVgaDefBiosLogo[];
40extern const unsigned char g_abVgaDefBiosLogoNY[];
41/** The size of the default BIOS logo data. */
42extern const unsigned g_cbVgaDefBiosLogo;
43extern const unsigned g_cbVgaDefBiosLogoNY;
44
45
46extern const PDMDEVREG g_DevicePCI;
47extern const PDMDEVREG g_DevicePciIch9;
48extern const PDMDEVREG g_DevicePcArch;
49extern const PDMDEVREG g_DevicePcBios;
50extern const PDMDEVREG g_DeviceIOAPIC;
51extern const PDMDEVREG g_DevicePS2KeyboardMouse;
52extern const PDMDEVREG g_DeviceI8254;
53extern const PDMDEVREG g_DeviceI8259;
54extern const PDMDEVREG g_DeviceHPET;
55extern const PDMDEVREG g_DeviceSmc;
56extern const PDMDEVREG g_DeviceFlash;
57extern const PDMDEVREG g_DeviceMC146818;
58extern const PDMDEVREG g_DevicePIIX3IDE;
59extern const PDMDEVREG g_DeviceFloppyController;
60extern const PDMDEVREG g_DeviceVga;
61extern const PDMDEVREG g_DeviceVMMDev;
62extern const PDMDEVREG g_DevicePCNet;
63#ifdef VBOX_WITH_E1000
64extern const PDMDEVREG g_DeviceE1000;
65#endif
66#ifdef VBOX_WITH_VIRTIO
67extern const PDMDEVREG g_DeviceVirtioNet;
68#endif
69extern const PDMDEVREG g_DeviceDP8390;
70extern const PDMDEVREG g_Device3C501;
71#ifdef VBOX_WITH_INIP
72extern const PDMDEVREG g_DeviceINIP;
73#endif
74extern const PDMDEVREG g_DeviceICHAC97;
75extern const PDMDEVREG g_DeviceSB16;
76extern const PDMDEVREG g_DeviceHDA;
77extern const PDMDEVREG g_DeviceOHCI;
78extern const PDMDEVREG g_DeviceEHCI;
79extern const PDMDEVREG g_DeviceXHCI;
80extern const PDMDEVREG g_DeviceACPI;
81extern const PDMDEVREG g_DeviceDMA;
82extern const PDMDEVREG g_DeviceFloppyController;
83extern const PDMDEVREG g_DeviceSerialPort;
84extern const PDMDEVREG g_DeviceOxPcie958;
85extern const PDMDEVREG g_DeviceParallelPort;
86#ifdef VBOX_WITH_AHCI
87extern const PDMDEVREG g_DeviceAHCI;
88#endif
89#ifdef VBOX_WITH_BUSLOGIC
90extern const PDMDEVREG g_DeviceBusLogic;
91#endif
92extern const PDMDEVREG g_DevicePCIBridge;
93extern const PDMDEVREG g_DevicePciIch9Bridge;
94#ifdef VBOX_WITH_LSILOGIC
95extern const PDMDEVREG g_DeviceLsiLogicSCSI;
96extern const PDMDEVREG g_DeviceLsiLogicSAS;
97#endif
98#ifdef VBOX_WITH_NVME_IMPL
99extern const PDMDEVREG g_DeviceNVMe;
100#endif
101#ifdef VBOX_WITH_VIRTIO_SCSI
102extern const PDMDEVREG g_DeviceVirtioSCSI;
103#endif
104#ifdef VBOX_WITH_EFI
105extern const PDMDEVREG g_DeviceEFI;
106#endif
107#ifdef VBOX_WITH_PCI_PASSTHROUGH_IMPL
108extern const PDMDEVREG g_DevicePciRaw;
109#endif
110extern const PDMDEVREG g_DeviceGIMDev;
111extern const PDMDEVREG g_DeviceLPC;
112#ifdef VBOX_WITH_VIRTUALKD
113extern const PDMDEVREG g_DeviceVirtualKD;
114#endif
115extern const PDMDEVREG g_DeviceQemuFwCfg;
116#ifdef VBOX_WITH_TPM
117extern const PDMDEVREG g_DeviceTpm;
118extern const PDMDEVREG g_DeviceTpmPpi;
119#endif
120
121extern const PDMDRVREG g_DrvMouseQueue;
122extern const PDMDRVREG g_DrvKeyboardQueue;
123extern const PDMDRVREG g_DrvVBoxHDD;
124extern const PDMDRVREG g_DrvVD;
125extern const PDMDRVREG g_DrvHostDVD;
126extern const PDMDRVREG g_DrvHostFloppy;
127extern const PDMDRVREG g_DrvISCSI;
128extern const PDMDRVREG g_DrvISCSITransportTcp;
129#if defined(RT_OS_LINUX) || defined(RT_OS_FREEBSD)
130extern const PDMDRVREG g_DrvHostInterface;
131#endif
132#ifdef VBOX_WITH_UDPTUNNEL
133extern const PDMDRVREG g_DrvUDPTunnel;
134#endif
135#ifdef VBOX_WITH_VDE
136extern const PDMDRVREG g_DrvVDE;
137#endif
138extern const PDMDRVREG g_DrvIntNet;
139extern const PDMDRVREG g_DrvDedicatedNic;
140#ifndef VBOX_WITH_LIBSLIRP
141extern const PDMDRVREG g_DrvNAT;
142#endif
143#ifdef VBOX_WITH_LIBSLIRP
144extern const PDMDRVREG g_DrvNATlibslirp;
145#endif
146#ifdef VBOX_WITH_NETSHAPER
147extern const PDMDRVREG g_DrvNetShaper;
148#endif /* VBOX_WITH_NETSHAPER */
149#ifdef VBOX_WITH_VMNET
150extern const PDMDRVREG g_DrvVMNet;
151#endif /* VBOX_WITH_VMNET */
152extern const PDMDRVREG g_DrvNetSniffer;
153extern const PDMDRVREG g_DrvAUDIO;
154#ifdef VBOX_WITH_AUDIO_DEBUG
155extern const PDMDRVREG g_DrvHostDebugAudio;
156#endif
157#ifdef VBOX_WITH_AUDIO_VALIDATIONKIT
158extern const PDMDRVREG g_DrvHostValidationKitAudio;
159#endif
160extern const PDMDRVREG g_DrvHostNullAudio;
161extern DECL_HIDDEN_DATA(struct PDMIHOSTAUDIO) const g_DrvHostAudioNull;
162#if defined(RT_OS_WINDOWS)
163extern const PDMDRVREG g_DrvHostDSound;
164extern const PDMDRVREG g_DrvHostAudioWas;
165#endif
166#if defined(RT_OS_DARWIN)
167extern const PDMDRVREG g_DrvHostCoreAudio;
168#endif
169#ifdef VBOX_WITH_AUDIO_OSS
170extern const PDMDRVREG g_DrvHostOSSAudio;
171#endif
172#ifdef VBOX_WITH_AUDIO_ALSA
173extern const PDMDRVREG g_DrvHostALSAAudio;
174#endif
175#ifdef VBOX_WITH_AUDIO_PULSE
176extern const PDMDRVREG g_DrvHostPulseAudio;
177#endif
178extern const PDMDRVREG g_DrvACPI;
179extern const PDMDRVREG g_DrvAcpiCpu;
180extern const PDMDRVREG g_DrvVUSBRootHub;
181#ifdef VBOX_WITH_USB_VIDEO_IMPL
182extern const PDMDRVREG g_DrvHostWebcam;
183#endif
184extern const PDMDRVREG g_DrvChar;
185extern const PDMDRVREG g_DrvNamedPipe;
186extern const PDMDRVREG g_DrvTCP;
187extern const PDMDRVREG g_DrvUDP;
188extern const PDMDRVREG g_DrvRawFile;
189extern const PDMDRVREG g_DrvHostParallel;
190extern const PDMDRVREG g_DrvHostSerial;
191#ifdef VBOX_WITH_DRV_DISK_INTEGRITY
192extern const PDMDRVREG g_DrvDiskIntegrity;
193extern const PDMDRVREG g_DrvRamDisk;
194#endif
195#ifdef VBOX_WITH_PCI_PASSTHROUGH_IMPL
196extern const PDMDRVREG g_DrvPciRaw;
197#endif
198
199#ifdef VBOX_WITH_USB
200extern const PDMUSBREG g_UsbDevProxy;
201extern const PDMUSBREG g_UsbMsd;
202#endif
203#ifdef VBOX_WITH_VUSB
204extern const PDMUSBREG g_UsbHid;
205extern const PDMUSBREG g_UsbHidKbd;
206extern const PDMUSBREG g_UsbHidMou;
207#endif
208#ifdef VBOX_WITH_USB_VIDEO_IMPL
209extern const PDMUSBREG g_DevWebcam;
210#endif
211
212#ifdef VBOX_WITH_SCSI
213extern const PDMDRVREG g_DrvSCSI;
214#endif
215
216extern const PDMDRVREG g_DrvIfTrace;
217#ifdef VBOX_WITH_TPM
218extern const PDMDRVREG g_DrvTpmEmu;
219# ifdef RT_OS_LINUX
220extern const PDMDRVREG g_DrvTpmHost;
221# endif
222# ifdef VBOX_WITH_LIBTPMS
223extern const PDMDRVREG g_DrvTpmEmuTpms;
224# endif
225# ifdef VBOX_WITH_CLOUD_NET
226extern const PDMDRVREG g_DrvCloudTunnel;
227# endif
228#endif
229
230#ifdef VBOX_WITH_IOMMU_AMD
231extern const PDMDEVREG g_DeviceIommuAmd;
232#endif
233#ifdef VBOX_WITH_IOMMU_INTEL
234extern const PDMDEVREG g_DeviceIommuIntel;
235#endif
236
237#ifdef VBOX_WITH_VIRT_ARMV8
238extern const PDMDEVREG g_DeviceEfiArmV8;
239extern const PDMDEVREG g_DevicePl011;
240extern const PDMDEVREG g_DevicePl031Rtc;
241extern const PDMDEVREG g_DevicePl061Gpio;
242extern const PDMDEVREG g_DeviceFlashCFI;
243extern const PDMDEVREG g_DevicePciGenericEcam;
244extern const PDMDEVREG g_DevicePciGenericEcamBridge;
245extern const PDMDEVREG g_DevicePlatform;
246
247extern const PDMDRVREG g_DrvGpioButton;
248#endif
249
250/* VBoxAcpi.cpp */
251int acpiPrepareDsdt(PPDMDEVINS pDevIns, void **ppvPtr, size_t *pcbDsdt);
252int acpiCleanupDsdt(PPDMDEVINS pDevIns, void *pvPtr);
253int acpiPrepareSsdt(PPDMDEVINS pDevIns, void **ppvPtr, size_t *pcbSsdt);
254int acpiCleanupSsdt(PPDMDEVINS pDevIns, void *pvPtr);
255
256#ifdef VBOX_WITH_TPM
257int acpiPrepareTpmSsdt(PPDMDEVINS pDevIns, void **ppvPtr, size_t *pcbSsdt);
258int acpiCleanupTpmSsdt(PPDMDEVINS pDevIns, void *pvPtr);
259#endif
260
261RT_C_DECLS_END
262
263#endif /* !VBOX_INCLUDED_SRC_build_VBoxDD_h */
264
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