VirtualBox

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

Last change on this file was 101618, checked in by vboxsync, 7 months ago

Devices/Gpio: Add virtual GPIO button driver to simulate button presses using GPIO, for passing power/sleep button requests to the guest, bugref:10538

  • 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 101618 2023-10-27 12:47:55Z vboxsync $ */
2/** @file
3 * Built-in drivers & devices (part 1) header.
4 */
5
6/*
7 * Copyright (C) 2006-2023 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;
118#endif
119
120extern const PDMDRVREG g_DrvMouseQueue;
121extern const PDMDRVREG g_DrvKeyboardQueue;
122extern const PDMDRVREG g_DrvVBoxHDD;
123extern const PDMDRVREG g_DrvVD;
124extern const PDMDRVREG g_DrvHostDVD;
125extern const PDMDRVREG g_DrvHostFloppy;
126extern const PDMDRVREG g_DrvISCSI;
127extern const PDMDRVREG g_DrvISCSITransportTcp;
128#if defined(RT_OS_LINUX) || defined(RT_OS_FREEBSD)
129extern const PDMDRVREG g_DrvHostInterface;
130#endif
131#ifdef VBOX_WITH_UDPTUNNEL
132extern const PDMDRVREG g_DrvUDPTunnel;
133#endif
134#ifdef VBOX_WITH_VDE
135extern const PDMDRVREG g_DrvVDE;
136#endif
137extern const PDMDRVREG g_DrvIntNet;
138extern const PDMDRVREG g_DrvDedicatedNic;
139#ifndef VBOX_WITH_LIBSLIRP
140extern const PDMDRVREG g_DrvNAT;
141#endif
142#ifdef VBOX_WITH_LIBSLIRP
143extern const PDMDRVREG g_DrvNATlibslirp;
144#endif
145#ifdef VBOX_WITH_NETSHAPER
146extern const PDMDRVREG g_DrvNetShaper;
147#endif /* VBOX_WITH_NETSHAPER */
148#ifdef VBOX_WITH_VMNET
149extern const PDMDRVREG g_DrvVMNet;
150#endif /* VBOX_WITH_VMNET */
151extern const PDMDRVREG g_DrvNetSniffer;
152extern const PDMDRVREG g_DrvAUDIO;
153#ifdef VBOX_WITH_AUDIO_DEBUG
154extern const PDMDRVREG g_DrvHostDebugAudio;
155#endif
156#ifdef VBOX_WITH_AUDIO_VALIDATIONKIT
157extern const PDMDRVREG g_DrvHostValidationKitAudio;
158#endif
159extern const PDMDRVREG g_DrvHostNullAudio;
160extern DECL_HIDDEN_DATA(struct PDMIHOSTAUDIO) const g_DrvHostAudioNull;
161#if defined(RT_OS_WINDOWS)
162extern const PDMDRVREG g_DrvHostDSound;
163extern const PDMDRVREG g_DrvHostAudioWas;
164#endif
165#if defined(RT_OS_DARWIN)
166extern const PDMDRVREG g_DrvHostCoreAudio;
167#endif
168#ifdef VBOX_WITH_AUDIO_OSS
169extern const PDMDRVREG g_DrvHostOSSAudio;
170#endif
171#ifdef VBOX_WITH_AUDIO_ALSA
172extern const PDMDRVREG g_DrvHostALSAAudio;
173#endif
174#ifdef VBOX_WITH_AUDIO_PULSE
175extern const PDMDRVREG g_DrvHostPulseAudio;
176#endif
177extern const PDMDRVREG g_DrvACPI;
178extern const PDMDRVREG g_DrvAcpiCpu;
179extern const PDMDRVREG g_DrvVUSBRootHub;
180#ifdef VBOX_WITH_USB_VIDEO_IMPL
181extern const PDMDRVREG g_DrvHostWebcam;
182#endif
183extern const PDMDRVREG g_DrvChar;
184extern const PDMDRVREG g_DrvNamedPipe;
185extern const PDMDRVREG g_DrvTCP;
186extern const PDMDRVREG g_DrvUDP;
187extern const PDMDRVREG g_DrvRawFile;
188extern const PDMDRVREG g_DrvHostParallel;
189extern const PDMDRVREG g_DrvHostSerial;
190#ifdef VBOX_WITH_DRV_DISK_INTEGRITY
191extern const PDMDRVREG g_DrvDiskIntegrity;
192extern const PDMDRVREG g_DrvRamDisk;
193#endif
194#ifdef VBOX_WITH_PCI_PASSTHROUGH_IMPL
195extern const PDMDRVREG g_DrvPciRaw;
196#endif
197
198#ifdef VBOX_WITH_USB
199extern const PDMUSBREG g_UsbDevProxy;
200extern const PDMUSBREG g_UsbMsd;
201#endif
202#ifdef VBOX_WITH_VUSB
203extern const PDMUSBREG g_UsbHid;
204extern const PDMUSBREG g_UsbHidKbd;
205extern const PDMUSBREG g_UsbHidMou;
206#endif
207#ifdef VBOX_WITH_USB_VIDEO_IMPL
208extern const PDMUSBREG g_DevWebcam;
209#endif
210
211#ifdef VBOX_WITH_SCSI
212extern const PDMDRVREG g_DrvSCSI;
213#endif
214
215extern const PDMDRVREG g_DrvIfTrace;
216#ifdef VBOX_WITH_TPM
217extern const PDMDRVREG g_DrvTpmEmu;
218# ifdef RT_OS_LINUX
219extern const PDMDRVREG g_DrvTpmHost;
220# endif
221# ifdef VBOX_WITH_LIBTPMS
222extern const PDMDRVREG g_DrvTpmEmuTpms;
223# endif
224# ifdef VBOX_WITH_CLOUD_NET
225extern const PDMDRVREG g_DrvCloudTunnel;
226# endif
227#endif
228
229#ifdef VBOX_WITH_IOMMU_AMD
230extern const PDMDEVREG g_DeviceIommuAmd;
231#endif
232#ifdef VBOX_WITH_IOMMU_INTEL
233extern const PDMDEVREG g_DeviceIommuIntel;
234#endif
235
236#ifdef VBOX_WITH_VIRT_ARMV8
237extern const PDMDEVREG g_DeviceEfiArmV8;
238extern const PDMDEVREG g_DevicePl011;
239extern const PDMDEVREG g_DevicePl031Rtc;
240extern const PDMDEVREG g_DevicePl061Gpio;
241extern const PDMDEVREG g_DeviceFlashCFI;
242extern const PDMDEVREG g_DevicePciGenericEcam;
243extern const PDMDEVREG g_DevicePciGenericEcamBridge;
244extern const PDMDEVREG g_DevicePlatform;
245
246extern const PDMDRVREG g_DrvGpioButton;
247#endif
248
249/* VBoxAcpi.cpp */
250int acpiPrepareDsdt(PPDMDEVINS pDevIns, void **ppvPtr, size_t *pcbDsdt);
251int acpiCleanupDsdt(PPDMDEVINS pDevIns, void *pvPtr);
252int acpiPrepareSsdt(PPDMDEVINS pDevIns, void **ppvPtr, size_t *pcbSsdt);
253int acpiCleanupSsdt(PPDMDEVINS pDevIns, void *pvPtr);
254
255#ifdef VBOX_WITH_TPM
256int acpiPrepareTpmSsdt(PPDMDEVINS pDevIns, void **ppvPtr, size_t *pcbSsdt);
257int acpiCleanupTpmSsdt(PPDMDEVINS pDevIns, void *pvPtr);
258#endif
259
260RT_C_DECLS_END
261
262#endif /* !VBOX_INCLUDED_SRC_build_VBoxDD_h */
263
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use