BusAssignmentManager.cpp revision 8af676a2588a2b1eb143f1a47abd295c1499cd2f
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync * VirtualBox bus slots assignment manager
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync * Copyright (C) 2010 Oracle Corporation
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync * available from http://www.virtualbox.org. This file is free software;
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync * you can redistribute it and/or modify it under the terms of the GNU
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync * General Public License (GPL) as published by the Free Software
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync typedef std::map <PciBusAddress, PciDeviceRecord > PciMap;
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync HRESULT autoAssign(const char* pszName, PciBusAddress& Address);
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsyncHRESULT BusAssignmentManager::State::init(ChipsetType_T chipsetType)
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsyncHRESULT BusAssignmentManager::State::autoAssign(const char* pszName, PciBusAddress& Address)
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync // unimplemented yet
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsyncbool BusAssignmentManager::State::checkAvailable(PciBusAddress& Address)
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsyncBusAssignmentManager* BusAssignmentManager::pInstance = NULL;
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsyncBusAssignmentManager* BusAssignmentManager::getInstance(ChipsetType_T chipsetType)
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync delete this;
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsyncDECLINLINE(HRESULT) InsertConfigInteger(PCFGMNODE pCfg, const char* pszName, uint64_t u64)
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsyncHRESULT BusAssignmentManager::assignPciDevice(const char* pszDevName, PCFGMNODE pCfg,
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync rc = InsertConfigInteger(pCfg, "PCIBusNo", Address.iBus);
b84a3f2aac9529d5c5840512b12d81bc62d0e665vboxsync rc = InsertConfigInteger(pCfg, "PCIDeviceNo", Address.iDevice);
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync rc = InsertConfigInteger(pCfg, "PCIFunctionNo", Address.iFn);