/** * Register builtin devices. * * @returns VBox status code. * @param pCallbacks Pointer to the callback table. * @param u32Version VBox version number. */ extern "C" DECLEXPORT(int) VBoxDevicesRegister(PPDMDEVREGCB pCallbacks, uint32_t u32Version) { LogFlow(("VBoxDevicesRegister: u32Version=%#x\n", u32Version)); AssertReleaseMsg(u32Version == VBOX_VERSION, ("u32Version=%#x VBOX_VERSION=%#x\n", u32Version, VBOX_VERSION)); int rc; rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceAPIC); if (RT_FAILURE(rc)) return rc; rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceIOAPIC); if (RT_FAILURE(rc)) return rc; rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceLPC); if (RT_FAILURE(rc)) return rc; return VINF_SUCCESS; }
/** * Register builtin devices. * * @returns VBox status code. * @param pCallbacks Pointer to the callback table. * @param u32Version VBox version number. */ extern "C" DECLEXPORT(int) VBoxDevicesRegister(PPDMDEVREGCB pCallbacks, uint32_t u32Version) { LogFlow(("VBoxDevicesRegister: u32Version=%#x\n", u32Version)); AssertReleaseMsg(u32Version == VBOX_VERSION, ("u32Version=%#x VBOX_VERSION=%#x\n", u32Version, VBOX_VERSION)); int rc; rc = pCallbacks->pfnRegister(pCallbacks, &g_DevicePCI); if (RT_FAILURE(rc)) return rc; rc = pCallbacks->pfnRegister(pCallbacks, &g_DevicePciIch9); if (RT_FAILURE(rc)) return rc; rc = pCallbacks->pfnRegister(pCallbacks, &g_DevicePcArch); if (RT_FAILURE(rc)) return rc; rc = pCallbacks->pfnRegister(pCallbacks, &g_DevicePcBios); if (RT_FAILURE(rc)) return rc; rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceIOAPIC); if (RT_FAILURE(rc)) return rc; rc = pCallbacks->pfnRegister(pCallbacks, &g_DevicePS2KeyboardMouse); if (RT_FAILURE(rc)) return rc; rc = pCallbacks->pfnRegister(pCallbacks, &g_DevicePIIX3IDE); if (RT_FAILURE(rc)) return rc; rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceI8254); if (RT_FAILURE(rc)) return rc; rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceI8259); if (RT_FAILURE(rc)) return rc; rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceHPET); if (RT_FAILURE(rc)) return rc; rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceSmc); if (RT_FAILURE(rc)) return rc; rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceFlash); if (RT_FAILURE(rc)) return rc; #ifdef VBOX_WITH_EFI rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceEFI); if (RT_FAILURE(rc)) return rc; #endif rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceMC146818); if (RT_FAILURE(rc)) return rc; rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceVga); if (RT_FAILURE(rc)) return rc; rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceVMMDev); if (RT_FAILURE(rc)) return rc; rc = pCallbacks->pfnRegister(pCallbacks, &g_DevicePCNet); if (RT_FAILURE(rc)) return rc; #ifdef VBOX_WITH_E1000 rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceE1000); if (RT_FAILURE(rc)) return rc; #endif #ifdef VBOX_WITH_VIRTIO rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceVirtioNet); if (RT_FAILURE(rc)) return rc; #endif #ifdef VBOX_WITH_INIP rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceINIP); if (RT_FAILURE(rc)) return rc; #endif rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceICHAC97); if (RT_FAILURE(rc)) return rc; rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceSB16); if (RT_FAILURE(rc)) return rc; rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceHDA); if (RT_FAILURE(rc)) return rc; #ifdef VBOX_WITH_VUSB rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceOHCI); if (RT_FAILURE(rc)) return rc; #endif #ifdef VBOX_WITH_EHCI_IMPL rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceEHCI); if (RT_FAILURE(rc)) return rc; #endif #ifdef VBOX_WITH_XHCI_IMPL rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceXHCI); if (RT_FAILURE(rc)) return rc; #endif #ifdef VBOX_ACPI rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceACPI); if (RT_FAILURE(rc)) return rc; #endif rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceDMA); if (RT_FAILURE(rc)) return rc; rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceFloppyController); if (RT_FAILURE(rc)) return rc; rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceSerialPort); if (RT_FAILURE(rc)) return rc; rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceOxPcie958); if (RT_FAILURE(rc)) return rc; rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceParallelPort); if (RT_FAILURE(rc)) return rc; #ifdef VBOX_WITH_AHCI rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceAHCI); if (RT_FAILURE(rc)) return rc; #endif #ifdef VBOX_WITH_BUSLOGIC rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceBusLogic); if (RT_FAILURE(rc)) return rc; #endif rc = pCallbacks->pfnRegister(pCallbacks, &g_DevicePCIBridge); if (RT_FAILURE(rc)) return rc; rc = pCallbacks->pfnRegister(pCallbacks, &g_DevicePciIch9Bridge); if (RT_FAILURE(rc)) return rc; #ifdef VBOX_WITH_LSILOGIC rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceLsiLogicSCSI); if (RT_FAILURE(rc)) return rc; rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceLsiLogicSAS); if (RT_FAILURE(rc)) return rc; #endif #ifdef VBOX_WITH_NVME_IMPL rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceNVMe); if (RT_FAILURE(rc)) return rc; #endif #ifdef VBOX_WITH_PCI_PASSTHROUGH_IMPL rc = pCallbacks->pfnRegister(pCallbacks, &g_DevicePciRaw); if (RT_FAILURE(rc)) return rc; #endif rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceGIMDev); if (RT_FAILURE(rc)) return rc; #ifdef VBOX_WITH_NEW_LPC_DEVICE rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceLPC); if (RT_FAILURE(rc)) return rc; #endif #ifdef VBOX_WITH_VIRTUALKD rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceVirtualKD); if (RT_FAILURE(rc)) return rc; #endif return VINF_SUCCESS; }