fix: correct loading L0 loader functions

on Windows use getModuleHandleA with proper module name
don't load ze_loader.dll from file system

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
Mateusz Jablonski
2024-10-16 17:52:41 +00:00
committed by Compute-Runtime-Automation
parent deb27d0363
commit 9c7b3c5e19
37 changed files with 167 additions and 86 deletions

View File

@@ -208,8 +208,9 @@ FirmwareUtilImp::~FirmwareUtilImp() {
FirmwareUtil *FirmwareUtil::create(uint16_t domain, uint8_t bus, uint8_t device, uint8_t function) {
FirmwareUtilImp *pFwUtilImp = new FirmwareUtilImp(domain, bus, device, function);
UNRECOVERABLE_IF(nullptr == pFwUtilImp);
NEO::OsLibrary::loadFlagsOverwrite = &FirmwareUtilImp::fwUtilLoadFlags;
pFwUtilImp->libraryHandle = NEO::OsLibrary::loadFunc(FirmwareUtilImp::fwUtilLibraryName);
NEO::OsLibraryCreateProperties properties(FirmwareUtilImp::fwUtilLibraryName);
properties.customLoadFlags = &FirmwareUtilImp::fwUtilLoadFlags;
pFwUtilImp->libraryHandle = NEO::OsLibrary::loadFunc(properties);
if (pFwUtilImp->libraryHandle == nullptr || pFwUtilImp->loadEntryPoints() == false || pFwUtilImp->fwDeviceInit() != ZE_RESULT_SUCCESS) {
if (nullptr != pFwUtilImp->libraryHandle) {
delete pFwUtilImp->libraryHandle;