VirtualBox

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

Last change on this file since 73494 was 73135, checked in by vboxsync, 6 years ago

Serial: Split out the generic UART functionality into a separate module so it can be reused.

Add a PCI Express 16 port UART controller emulation based on the Oxford Semiconductor OXPCIe958
PCI Express to octa UART controller (supports chaining two of those together in a single device
to get up to 16 UARTs). This somewhat revives the incomplete and never enabled PCI UART controller
in the old code. Linux detects the device and apparently configures all 16 UARTs but data transfers
were not tested and the code is pretty incomplete still.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 5.8 KB
Line 
1/* $Id: VBoxDD.h 73135 2018-07-15 16:43:16Z vboxsync $ */
2/** @file
3 * Built-in drivers & devices (part 1) header.
4 */
5
6/*
7 * Copyright (C) 2006-2017 Oracle Corporation
8 *
9 * This file is part of VirtualBox Open Source Edition (OSE), as
10 * available from http://www.virtualbox.org. This file is free software;
11 * you can redistribute it and/or modify it under the terms of the GNU
12 * General Public License (GPL) as published by the Free Software
13 * Foundation, in version 2 as it comes in the "COPYING" file of the
14 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16 */
17
18#ifndef ___build_VBoxDD_h
19#define ___build_VBoxDD_h
20
21#include <VBox/vmm/pdm.h>
22
23RT_C_DECLS_BEGIN
24
25/** The default BIOS logo data. */
26extern const unsigned char g_abVgaDefBiosLogo[];
27extern const unsigned char g_abVgaDefBiosLogoNY[];
28/** The size of the default BIOS logo data. */
29extern const unsigned g_cbVgaDefBiosLogo;
30extern const unsigned g_cbVgaDefBiosLogoNY;
31
32
33extern const PDMDEVREG g_DevicePCI;
34extern const PDMDEVREG g_DevicePciIch9;
35extern const PDMDEVREG g_DevicePcArch;
36extern const PDMDEVREG g_DevicePcBios;
37extern const PDMDEVREG g_DeviceIOAPIC;
38extern const PDMDEVREG g_DevicePS2KeyboardMouse;
39extern const PDMDEVREG g_DeviceI8254;
40extern const PDMDEVREG g_DeviceI8259;
41extern const PDMDEVREG g_DeviceHPET;
42extern const PDMDEVREG g_DeviceSmc;
43extern const PDMDEVREG g_DeviceFlash;
44extern const PDMDEVREG g_DeviceMC146818;
45extern const PDMDEVREG g_DevicePIIX3IDE;
46extern const PDMDEVREG g_DeviceFloppyController;
47extern const PDMDEVREG g_DeviceVga;
48extern const PDMDEVREG g_DeviceVMMDev;
49extern const PDMDEVREG g_DevicePCNet;
50#ifdef VBOX_WITH_E1000
51extern const PDMDEVREG g_DeviceE1000;
52#endif
53#ifdef VBOX_WITH_VIRTIO
54extern const PDMDEVREG g_DeviceVirtioNet;
55#endif
56#ifdef VBOX_WITH_INIP
57extern const PDMDEVREG g_DeviceINIP;
58#endif
59extern const PDMDEVREG g_DeviceICHAC97;
60extern const PDMDEVREG g_DeviceSB16;
61extern const PDMDEVREG g_DeviceHDA;
62extern const PDMDEVREG g_DeviceOHCI;
63extern const PDMDEVREG g_DeviceEHCI;
64extern const PDMDEVREG g_DeviceXHCI;
65extern const PDMDEVREG g_DeviceACPI;
66extern const PDMDEVREG g_DeviceDMA;
67extern const PDMDEVREG g_DeviceFloppyController;
68extern const PDMDEVREG g_DeviceSerialPort;
69#ifdef VBOX_WITH_NEW_SERIAL
70extern const PDMDEVREG g_DeviceOxPcie958;
71#endif
72extern const PDMDEVREG g_DeviceParallelPort;
73#ifdef VBOX_WITH_AHCI
74extern const PDMDEVREG g_DeviceAHCI;
75#endif
76#ifdef VBOX_WITH_BUSLOGIC
77extern const PDMDEVREG g_DeviceBusLogic;
78#endif
79extern const PDMDEVREG g_DevicePCIBridge;
80extern const PDMDEVREG g_DevicePciIch9Bridge;
81#ifdef VBOX_WITH_LSILOGIC
82extern const PDMDEVREG g_DeviceLsiLogicSCSI;
83extern const PDMDEVREG g_DeviceLsiLogicSAS;
84#endif
85#ifdef VBOX_WITH_NVME_IMPL
86extern const PDMDEVREG g_DeviceNVMe;
87#endif
88#ifdef VBOX_WITH_EFI
89extern const PDMDEVREG g_DeviceEFI;
90#endif
91#ifdef VBOX_WITH_PCI_PASSTHROUGH_IMPL
92extern const PDMDEVREG g_DevicePciRaw;
93#endif
94extern const PDMDEVREG g_DeviceGIMDev;
95#ifdef VBOX_WITH_NEW_LPC_DEVICE
96extern const PDMDEVREG g_DeviceLPC;
97#endif
98#ifdef VBOX_WITH_VIRTUALKD
99extern const PDMDEVREG g_DeviceVirtualKD;
100#endif
101
102extern const PDMDRVREG g_DrvMouseQueue;
103extern const PDMDRVREG g_DrvKeyboardQueue;
104extern const PDMDRVREG g_DrvVBoxHDD;
105extern const PDMDRVREG g_DrvVD;
106extern const PDMDRVREG g_DrvHostDVD;
107extern const PDMDRVREG g_DrvHostFloppy;
108extern const PDMDRVREG g_DrvISCSI;
109extern const PDMDRVREG g_DrvISCSITransportTcp;
110#if defined(RT_OS_LINUX) || defined(RT_OS_FREEBSD)
111extern const PDMDRVREG g_DrvHostInterface;
112#endif
113#ifdef VBOX_WITH_UDPTUNNEL
114extern const PDMDRVREG g_DrvUDPTunnel;
115#endif
116#ifdef VBOX_WITH_VDE
117extern const PDMDRVREG g_DrvVDE;
118#endif
119extern const PDMDRVREG g_DrvIntNet;
120extern const PDMDRVREG g_DrvDedicatedNic;
121extern const PDMDRVREG g_DrvNAT;
122#ifdef VBOX_WITH_NETSHAPER
123extern const PDMDRVREG g_DrvNetShaper;
124#endif /* VBOX_WITH_NETSHAPER */
125extern const PDMDRVREG g_DrvNetSniffer;
126extern const PDMDRVREG g_DrvAUDIO;
127#ifdef VBOX_WITH_AUDIO_DEBUG
128extern const PDMDRVREG g_DrvHostDebugAudio;
129#endif
130#ifdef VBOX_WITH_AUDIO_VALIDATIONKIT
131extern const PDMDRVREG g_DrvHostValidationKitAudio;
132#endif
133extern const PDMDRVREG g_DrvHostNullAudio;
134#if defined(RT_OS_WINDOWS)
135extern const PDMDRVREG g_DrvHostDSound;
136#endif
137#if defined(RT_OS_DARWIN)
138extern const PDMDRVREG g_DrvHostCoreAudio;
139#endif
140#ifdef VBOX_WITH_AUDIO_OSS
141extern const PDMDRVREG g_DrvHostOSSAudio;
142#endif
143#ifdef VBOX_WITH_AUDIO_ALSA
144extern const PDMDRVREG g_DrvHostALSAAudio;
145#endif
146#ifdef VBOX_WITH_AUDIO_PULSE
147extern const PDMDRVREG g_DrvHostPulseAudio;
148#endif
149extern const PDMDRVREG g_DrvACPI;
150extern const PDMDRVREG g_DrvAcpiCpu;
151extern const PDMDRVREG g_DrvVUSBRootHub;
152#ifdef VBOX_WITH_USB_VIDEO_IMPL
153extern const PDMDRVREG g_DrvHostWebcam;
154#endif
155extern const PDMDRVREG g_DrvChar;
156extern const PDMDRVREG g_DrvNamedPipe;
157extern const PDMDRVREG g_DrvTCP;
158extern const PDMDRVREG g_DrvUDP;
159extern const PDMDRVREG g_DrvRawFile;
160extern const PDMDRVREG g_DrvHostParallel;
161extern const PDMDRVREG g_DrvHostSerial;
162#ifdef VBOX_WITH_DRV_DISK_INTEGRITY
163extern const PDMDRVREG g_DrvDiskIntegrity;
164extern const PDMDRVREG g_DrvRamDisk;
165#endif
166#ifdef VBOX_WITH_PCI_PASSTHROUGH_IMPL
167extern const PDMDRVREG g_DrvPciRaw;
168#endif
169
170#ifdef VBOX_WITH_USB
171extern const PDMUSBREG g_UsbDevProxy;
172extern const PDMUSBREG g_UsbMsd;
173#endif
174#ifdef VBOX_WITH_VUSB
175extern const PDMUSBREG g_UsbHid;
176extern const PDMUSBREG g_UsbHidKbd;
177extern const PDMUSBREG g_UsbHidMou;
178#endif
179#ifdef VBOX_WITH_USB_VIDEO_IMPL
180extern const PDMUSBREG g_DevWebcam;
181#endif
182
183#ifdef VBOX_WITH_SCSI
184extern const PDMDRVREG g_DrvSCSI;
185#endif
186
187
188/* VBoxAcpi.cpp */
189int acpiPrepareDsdt(PPDMDEVINS pDevIns, void **ppvPtr, size_t *pcbDsdt);
190int acpiCleanupDsdt(PPDMDEVINS pDevIns, void *pvPtr);
191int acpiPrepareSsdt(PPDMDEVINS pDevIns, void **ppvPtr, size_t *pcbSsdt);
192int acpiCleanupSsdt(PPDMDEVINS pDevIns, void *pvPtr);
193
194RT_C_DECLS_END
195
196#endif
197
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