Thanks Igor and Neeraj for your answers.

Device ID passed in EfiRom = Device ID in the PCI config space. 
Protocols checking completed successfully.

Maybe platform skips option ROMs? 
Or platform must check all OpRom drivers (and execute entrypoints) ?

06.03.2014, 00:04, "Igor Sharovar" <igor.sharo...@gmail.com>:
> Another problem could be that you not correctly report Device ID in efirom 
> utility. Some UEFI BIOS implementation don't care about Device ID, reported 
> in a OptionalRom image, but some does. You should check what you report when 
> execute efirom.
> Igor Sharovar
>
> On Wed, Mar 5, 2014 at 5:54 AM, Neeraj Ladkani <neeraj.ladk...@gmail.com> 
> wrote:
>> if you are trying to locate a specific protocol from your driver, it might 
>> not installed during boot process so it doesn't work,  but when you execute 
>> it from shell the consumed protocol might already been loaded by some other 
>> driver so it works.
>>
>> please check the protocol you are trying to locate in your driver and and 
>> print the return value after LocateProtocol, you should be able to confirm 
>> it.
>>
>> On Wed, Mar 5, 2014 at 6:05 PM, Onipchuk Vladimir <v-onipc...@yandex.ru> 
>> wrote:
>>> Hi All,
>>> I have problems with the my PCI OpRom device driver on some platforms.
>>>
>>> Driver executing successfully on the old DG41TX motherboard, but on the 
>>> DH67BL and on the some new HP motherboards driver does not loading from 
>>> OpRom on the PCIe card (probably, even entrypoint does not executing).
>>> Boot process not freezing and UEFI Shell from USB pen loading successfully 
>>> after platform initialization.
>>>
>>> With "loadpcirom" command from UEFI shell my driver executing successfully 
>>> on any platforms.
>>>
>>> Thanks, Vladimir.
>>>
>>> My entrypoint code:
>>>
>>> EFI_STATUS EFIAPI PciDriverEntryPoint
>>> ( IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable )
>>> {
>>> EFI_STATUS Status;
>>> DEBUG ((EFI_D_INFO, "DRIVER ENTRYPOINT\n"));
>>> //
>>> // Install UEFI Driver Model protocol(s).
>>> //
>>>
>>> Status = EfiLibInstallDriverBindingComponentName2 ( ImageHandle,
>>> SystemTable,
>>> &gPciDriverBinding,
>>> ImageHandle,
>>> &gPciComponentName,
>>> &gPciComponentName2
>>> );
>>>
>>> ASSERT_EFI_ERROR (Status);
>>> //
>>> // Install UEFI DriverSupportedEfiVersion Model protocol(s).
>>> //
>>> Status = gBS->InstallMultipleProtocolInterfaces (
>>> &ImageHandle,
>>> &gEfiDriverSupportedEfiVersionProtocolGuid,
>>> &gPciDriverSupportedEfiVersion, // EFI_2_40_SYSTEM_TABLE_REVISION NULL
>>> );
>>> ASSERT_EFI_ERROR (Status);
>>> return Status;
>>> }
>>>
>>> ------------------------------------------------------------------------------
>>> Subversion Kills Productivity. Get off Subversion & Make the Move to 
>>> Perforce.
>>> With Perforce, you get hassle-free workflows. Merge that actually works.
>>> Faster operations. Version large binaries.  Built-in WAN optimization and 
>>> the
>>> freedom to use Git, Perforce or both. Make the move to Perforce.
>>> http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
>>> _______________________________________________
>>> edk2-devel mailing list
>>> edk2-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>>
>> --
>> Thanks Neeraj
>>
>> ------------------------------------------------------------------------------
>> Subversion Kills Productivity. Get off Subversion & Make the Move to 
>> Perforce.
>> With Perforce, you get hassle-free workflows. Merge that actually works.
>> Faster operations. Version large binaries.  Built-in WAN optimization and the
>> freedom to use Git, Perforce or both. Make the move to Perforce.
>> http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
>> _______________________________________________
>> edk2-devel mailing list
>> edk2-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>
> ,
> ------------------------------------------------------------------------------
> Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce.
> With Perforce, you get hassle-free workflows. Merge that actually works.
> Faster operations. Version large binaries.  Built-in WAN optimization and the
> freedom to use Git, Perforce or both. Make the move to Perforce.
> http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
> ,
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/edk2-devel

------------------------------------------------------------------------------
Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works. 
Faster operations. Version large binaries.  Built-in WAN optimization and the
freedom to use Git, Perforce or both. Make the move to Perforce.
http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to