On Mar 6, 2014, at 3:27 AM, Onipchuk Vladimir <v-onipc...@yandex.ru> wrote:

>  Neeraj,
> 
> oh no, I mean checking on the non-problematic platform (DG41TX in my case).
> On the problematic platform, I can't even print debug message at the start of 
> my code. So I think, my driver not executing at the platform initialization 
> stage.

How are you routing your DEBUG prints, or are you using Print()?

If you are using DEBUG() you need to look out for how you implement it. 

These require the console to be connected, which can happen after your driver 
is loaded, or maybe StdErr is not set. 
https://svn.code.sf.net/p/edk2/code/trunk/edk2/MdePkg/Library/UefiDebugLibConOut/
https://svn.code.sf.net/p/edk2/code/trunk/edk2/MdePkg/Library/UefiDebugLibStdErr/

This is not UEFI spec, or even PI spec it is the old Intel Framework, so it 
might not exist everywhere. 
https://svn.code.sf.net/p/edk2/code/trunk/edk2/IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/

Thanks,

Andrew Fish

> "dh" command results (from the UEFI shell) has no mention of my driver.
> 
>  I register following protocols:
> EFI_VERSION
> DRIVER_BINDING
> COMPONENT_NAME
> COMPONENT_NAME2
> 
> Consumed protocol:
> PCIIO
> 
> Prodused protocol:
> BLOCKIO
> 
> Thanks,
> Vladimir
> 
> 06.03.2014, 13:51, "Neeraj Ladkani" <neeraj.ladk...@gmail.com>:
>> Onipchuk,
>> 
>> How do you say "protocol checking completed successfully" during system 
>> boot, if you were able to print the return value, it means your driver was 
>> executing... first please confirm if your driver is not at all executing or 
>> it failing to produce desired protocol ?
>> 
>> Thanks
>> Neeraj
>> 
>> On Thu, Mar 6, 2014 at 2:32 PM, Onipchuk Vladimir <v-onipc...@yandex.ru> 
>> wrote:
>>> 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
>> 
>> --
>> 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