Re: [edk2] PCI OpROM driver

Subject: Re: [edk2] PCI OpROM driver

From: Onipchuk Vladimir <v-onipchuk@yandex.ru>

To: "edk2-devel@lists.sourceforge.net" <edk2-devel@lists.sourceforge.net>

Date: 2014-03-06 21:02:01

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" :
> 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  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  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 loadingsuccessfully 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
>>
>> --
>> ThanksNeeraj
>>
>> ------------------------------------------------------------------------------
>> 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