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
RevLine 
[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]36RT_C_DECLS_BEGIN
[1]37
38/** The default BIOS logo data. */
[7759]39extern const unsigned char g_abVgaDefBiosLogo[];
[64960]40extern const unsigned char g_abVgaDefBiosLogoNY[];
[1]41/** The size of the default BIOS logo data. */
[7759]42extern const unsigned g_cbVgaDefBiosLogo;
[64960]43extern const unsigned g_cbVgaDefBiosLogoNY;
[1]44
[19183]45
[1]46extern const PDMDEVREG g_DevicePCI;
[32342]47extern const PDMDEVREG g_DevicePciIch9;
[1]48extern const PDMDEVREG g_DevicePcArch;
49extern const PDMDEVREG g_DevicePcBios;
[61339]50extern const PDMDEVREG g_DeviceIOAPIC;
[1]51extern const PDMDEVREG g_DevicePS2KeyboardMouse;
52extern const PDMDEVREG g_DeviceI8254;
53extern const PDMDEVREG g_DeviceI8259;
[15963]54extern const PDMDEVREG g_DeviceHPET;
[48435]55extern const PDMDEVREG g_DeviceSmc;
[72616]56extern const PDMDEVREG g_DeviceFlash;
[1]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;
[5755]63#ifdef VBOX_WITH_E1000
64extern const PDMDEVREG g_DeviceE1000;
65#endif
[22866]66#ifdef VBOX_WITH_VIRTIO
67extern const PDMDEVREG g_DeviceVirtioNet;
68#endif
[93560]69extern const PDMDEVREG g_DeviceDP8390;
70extern const PDMDEVREG g_Device3C501;
[5849]71#ifdef VBOX_WITH_INIP
72extern const PDMDEVREG g_DeviceINIP;
73#endif
[1]74extern const PDMDEVREG g_DeviceICHAC97;
[6597]75extern const PDMDEVREG g_DeviceSB16;
[64351]76extern const PDMDEVREG g_DeviceHDA;
[1]77extern const PDMDEVREG g_DeviceOHCI;
[5623]78extern const PDMDEVREG g_DeviceEHCI;
[52249]79extern const PDMDEVREG g_DeviceXHCI;
[1]80extern const PDMDEVREG g_DeviceACPI;
81extern const PDMDEVREG g_DeviceDMA;
82extern const PDMDEVREG g_DeviceFloppyController;
83extern const PDMDEVREG g_DeviceSerialPort;
[73135]84extern const PDMDEVREG g_DeviceOxPcie958;
[3648]85extern const PDMDEVREG g_DeviceParallelPort;
[5380]86#ifdef VBOX_WITH_AHCI
87extern const PDMDEVREG g_DeviceAHCI;
88#endif
[11410]89#ifdef VBOX_WITH_BUSLOGIC
90extern const PDMDEVREG g_DeviceBusLogic;
91#endif
[13189]92extern const PDMDEVREG g_DevicePCIBridge;
[32342]93extern const PDMDEVREG g_DevicePciIch9Bridge;
[14438]94#ifdef VBOX_WITH_LSILOGIC
95extern const PDMDEVREG g_DeviceLsiLogicSCSI;
[29326]96extern const PDMDEVREG g_DeviceLsiLogicSAS;
[14438]97#endif
[57521]98#ifdef VBOX_WITH_NVME_IMPL
99extern const PDMDEVREG g_DeviceNVMe;
100#endif
[78799]101#ifdef VBOX_WITH_VIRTIO_SCSI
102extern const PDMDEVREG g_DeviceVirtioSCSI;
103#endif
[16559]104#ifdef VBOX_WITH_EFI
105extern const PDMDEVREG g_DeviceEFI;
106#endif
[37781]107#ifdef VBOX_WITH_PCI_PASSTHROUGH_IMPL
[34876]108extern const PDMDEVREG g_DevicePciRaw;
[35685]109#endif
[52473]110extern const PDMDEVREG g_DeviceGIMDev;
[71829]111extern const PDMDEVREG g_DeviceLPC;
[52473]112#ifdef VBOX_WITH_VIRTUALKD
113extern const PDMDEVREG g_DeviceVirtualKD;
114#endif
[86032]115extern const PDMDEVREG g_DeviceQemuFwCfg;
[90530]116#ifdef VBOX_WITH_TPM
117extern const PDMDEVREG g_DeviceTpm;
118#endif
[1]119
120extern const PDMDRVREG g_DrvMouseQueue;
121extern const PDMDRVREG g_DrvKeyboardQueue;
122extern const PDMDRVREG g_DrvVBoxHDD;
[2358]123extern const PDMDRVREG g_DrvVD;
[1]124extern const PDMDRVREG g_DrvHostDVD;
125extern const PDMDRVREG g_DrvHostFloppy;
126extern const PDMDRVREG g_DrvISCSI;
127extern const PDMDRVREG g_DrvISCSITransportTcp;
[22396]128#if defined(RT_OS_LINUX) || defined(RT_OS_FREEBSD)
[1]129extern const PDMDRVREG g_DrvHostInterface;
[18068]130#endif
[37198]131#ifdef VBOX_WITH_UDPTUNNEL
132extern const PDMDRVREG g_DrvUDPTunnel;
133#endif
[28406]134#ifdef VBOX_WITH_VDE
135extern const PDMDRVREG g_DrvVDE;
136#endif
[1]137extern const PDMDRVREG g_DrvIntNet;
[28427]138extern const PDMDRVREG g_DrvDedicatedNic;
[100128]139#ifndef VBOX_WITH_LIBSLIRP
[1]140extern const PDMDRVREG g_DrvNAT;
[100128]141#endif
142#ifdef VBOX_WITH_LIBSLIRP
143extern const PDMDRVREG g_DrvNATlibslirp;
144#endif
[40652]145#ifdef VBOX_WITH_NETSHAPER
146extern const PDMDRVREG g_DrvNetShaper;
147#endif /* VBOX_WITH_NETSHAPER */
[91416]148#ifdef VBOX_WITH_VMNET
149extern const PDMDRVREG g_DrvVMNet;
150#endif /* VBOX_WITH_VMNET */
[1]151extern const PDMDRVREG g_DrvNetSniffer;
152extern const PDMDRVREG g_DrvAUDIO;
[62580]153#ifdef VBOX_WITH_AUDIO_DEBUG
154extern const PDMDRVREG g_DrvHostDebugAudio;
155#endif
[64508]156#ifdef VBOX_WITH_AUDIO_VALIDATIONKIT
157extern const PDMDRVREG g_DrvHostValidationKitAudio;
158#endif
[53442]159extern const PDMDRVREG g_DrvHostNullAudio;
[88561]160extern DECL_HIDDEN_DATA(struct PDMIHOSTAUDIO) const g_DrvHostAudioNull;
[56085]161#if defined(RT_OS_WINDOWS)
[50686]162extern const PDMDRVREG g_DrvHostDSound;
[88626]163extern const PDMDRVREG g_DrvHostAudioWas;
[56085]164#endif
[62586]165#if defined(RT_OS_DARWIN)
166extern const PDMDRVREG g_DrvHostCoreAudio;
167#endif
[62585]168#ifdef VBOX_WITH_AUDIO_OSS
[53523]169extern const PDMDRVREG g_DrvHostOSSAudio;
[56085]170#endif
[62585]171#ifdef VBOX_WITH_AUDIO_ALSA
[62056]172extern const PDMDRVREG g_DrvHostALSAAudio;
173#endif
[62585]174#ifdef VBOX_WITH_AUDIO_PULSE
[62056]175extern const PDMDRVREG g_DrvHostPulseAudio;
176#endif
[1]177extern const PDMDRVREG g_DrvACPI;
[25817]178extern const PDMDRVREG g_DrvAcpiCpu;
[1]179extern const PDMDRVREG g_DrvVUSBRootHub;
[49316]180#ifdef VBOX_WITH_USB_VIDEO_IMPL
181extern const PDMDRVREG g_DrvHostWebcam;
182#endif
[1476]183extern const PDMDRVREG g_DrvChar;
184extern const PDMDRVREG g_DrvNamedPipe;
[55259]185extern const PDMDRVREG g_DrvTCP;
[57989]186extern const PDMDRVREG g_DrvUDP;
[19624]187extern const PDMDRVREG g_DrvRawFile;
[3648]188extern const PDMDRVREG g_DrvHostParallel;
[4144]189extern const PDMDRVREG g_DrvHostSerial;
[27559]190#ifdef VBOX_WITH_DRV_DISK_INTEGRITY
[27558]191extern const PDMDRVREG g_DrvDiskIntegrity;
[63689]192extern const PDMDRVREG g_DrvRamDisk;
[27559]193#endif
[38913]194#ifdef VBOX_WITH_PCI_PASSTHROUGH_IMPL
195extern const PDMDRVREG g_DrvPciRaw;
196#endif
[1]197
[3853]198#ifdef VBOX_WITH_USB
199extern const PDMUSBREG g_UsbDevProxy;
[26112]200extern const PDMUSBREG g_UsbMsd;
[26951]201#endif
202#ifdef VBOX_WITH_VUSB
[26473]203extern const PDMUSBREG g_UsbHid;
204extern const PDMUSBREG g_UsbHidKbd;
205extern const PDMUSBREG g_UsbHidMou;
[3853]206#endif
[49316]207#ifdef VBOX_WITH_USB_VIDEO_IMPL
208extern const PDMUSBREG g_DevWebcam;
209#endif
[3853]210
[12565]211#ifdef VBOX_WITH_SCSI
[11502]212extern const PDMDRVREG g_DrvSCSI;
213#endif
214
[82789]215extern const PDMDRVREG g_DrvIfTrace;
[90530]216#ifdef VBOX_WITH_TPM
217extern const PDMDRVREG g_DrvTpmEmu;
[90946]218# ifdef RT_OS_LINUX
219extern const PDMDRVREG g_DrvTpmHost;
220# endif
[91331]221# ifdef VBOX_WITH_LIBTPMS
222extern const PDMDRVREG g_DrvTpmEmuTpms;
223# endif
[93312]224# ifdef VBOX_WITH_CLOUD_NET
225extern const PDMDRVREG g_DrvCloudTunnel;
226# endif
[90530]227#endif
[44514]228
[85816]229#ifdef VBOX_WITH_IOMMU_AMD
230extern const PDMDEVREG g_DeviceIommuAmd;
231#endif
[88153]232#ifdef VBOX_WITH_IOMMU_INTEL
233extern const PDMDEVREG g_DeviceIommuIntel;
234#endif
[85816]235
[101616]236#ifdef VBOX_WITH_VIRT_ARMV8
[99927]237extern const PDMDEVREG g_DeviceEfiArmV8;
[99125]238extern const PDMDEVREG g_DevicePl011;
[99544]239extern const PDMDEVREG g_DevicePl031Rtc;
[99893]240extern const PDMDEVREG g_DevicePl061Gpio;
[99542]241extern const PDMDEVREG g_DeviceFlashCFI;
[99750]242extern const PDMDEVREG g_DevicePciGenericEcam;
[101479]243extern const PDMDEVREG g_DevicePciGenericEcamBridge;
[101320]244extern const PDMDEVREG g_DevicePlatform;
[101618]245
246extern const PDMDRVREG g_DrvGpioButton;
[99125]247#endif
248
[44514]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
[90908]255#ifdef VBOX_WITH_TPM
256int acpiPrepareTpmSsdt(PPDMDEVINS pDevIns, void **ppvPtr, size_t *pcbSsdt);
257int acpiCleanupTpmSsdt(PPDMDEVINS pDevIns, void *pvPtr);
258#endif
259
[20374]260RT_C_DECLS_END
[1]261
[76565]262#endif /* !VBOX_INCLUDED_SRC_build_VBoxDD_h */
[48435]263
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use