Thanks for the help, Andrew and Jaben!  When I'm back at my office
tomorrow, I'll try loading those two items and let everyone know if it
worked.  If it doesn't work, I'll just have to require that users have UEFI
2.1+.

Thomas Rognon


On Tue, Mar 12, 2013 at 4:38 PM, Andrew Fish <[email protected]> wrote:

> So Hii got added to UEFI 2.1, there was an older not backward compatible
> version in the Intel Framework specs. The Framework specs eventually turned
> into the PI specs.
>
> So if a system is older than UEFI 2.1 then it will not have the Hii
> related protocols.
>
> It seems the newer shell and some of the newer libraries don't like
> systems that don't support the current Hii protocols.
>
> I seem to remember doing something like this a while ago and I think if I
> loaded (from the old shell):
>
> https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/MdeModulePkg/Universal/HiiDatabaseDxe/
>
> https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/MdeModulePkg/Universal/DevicePathDxe/
>
> I was able to the get the new shell running on an old platform.
>
> Thanks,
>
> Andrew Fish
>
> PS It is possible that the platform in question is using this this version
> of Hii
> https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/IntelFrameworkPkg/Include/Protocol/FrameworkHii.h
> .
>
> There are some compatibility driver here:
> https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/EdkCompatibilityPkg/Compatibility/
> But unfortunately not the one you need.
>
> On Mar 12, 2013, at 2:03 PM, "Carsey, Jaben" <[email protected]>
> wrote:
>
> Given the code in that constructor, I would say that you are EFI 2.0
> compliant, but that is not enough for this library.  I copied the
> constructor below, which just returns an error.****
>
> EFI_STATUS****
> EFIAPI****
> HandleParsingLibConstructor (****
>   IN EFI_HANDLE        ImageHandle,****
>   IN EFI_SYSTEM_TABLE  *SystemTable****
>   )****
> {****
>   mHandleParsingHiiHandle = HiiAddPackages (&gHandleParsingHiiGuid,
> gImageHandle, UefiHandleParsingLibStrings, NULL);****
>   if (mHandleParsingHiiHandle == NULL) {****
>     return (EFI_DEVICE_ERROR);****
>   }****
>
>   return (EFI_SUCCESS);****
> }****
>
>
> *From:* Thomas Rognon [mailto:[email protected]]
> *Sent:* Tuesday, March 12, 2013 1:45 PM
> *To:* [email protected]
> *Subject:* Re: [edk2] Driver dependencies****
> ** **
> Awesome, thanks.  I'll read those now.****
> ** **
> Right now, one of my test machine is asserting after calling
> HandleParsingLibConstructor.  This machine has far fewer drivers than my
> development machine, so I still haven't figured out what I'm missing yet.
>  Here's more detailed info:****
> ** **
> Here is the debug output:****
> ** **
> ASSERT_EFI_ERROR (Status = Device Error)****
> ASSERT c:\...\AutoGen.c(368) !EFI_ERROR (Status)****
> ** **
> Here is the code that is asserted on in AutoGen.c:****
> ** **
> VOID****
> EFIAPI****
> ProcessLibraryConstructorList (****
>   IN EFI_HANDLE  ImageHandle,****
>   IN EFI_SYSTEM_TABLE  *SystemTable****
>   )****
> {****
>   ...****
>   Status = HandleParsingLibConstructor (ImageHandle, SystemTable);****
>   ASSERT_EFI_ERROR (Status);****
>   ...****
> }****
> ** **
> Here is the output of "drivers" on my test machine:****
> ** **
>             T   D****
> D           Y C I****
> R           P F A****
> V  VERSION  E G G #D #C DRIVER NAME                         IMAGE NAME****
> == ======== = = = == == ===================================
> ===================****
> 1C 00000010 ? - -  -  - Usb Wdm Driver                      TDTUsbWdm****
> 1E 00000010 ? - -  -  - PCI Serial Driver                   PciSerial****
> 1F 00000001 ? - -  -  - AMI Tekoa IDE-R Controller Driver   IDER****
> 3B 00000001 B - -  1  1 AMI SB Driver                       SBDXE****
> 41 00000010 B - -  1  3 AMI Generic LPC Super I/O Driver    CORE_DXE****
> 4B 00010000 D - -  2  - AMI File System Driver              FileSystem****
> 4D 00020101 B - -  1 17 <UNKNOWN>                           PciBus****
> 4E 00000001 D - -  2  - AMI SB IDE Controller Driver        SBIDE****
> 4F 00000001 ? - -  -  - <UNKNOWN>                           SBAHCI****
> 51 00000001 ? - -  -  - AMI AHCI BUS Driver                 AHCI****
> 57 00000010 ? - -  -  - <UNKNOWN>                           BIOSBLKIO****
> 58 00000024 B - -  1  1 BIOS[INT10] Video Driver            CsmVideo****
> 59 00000010 ? - -  -  - <UNKNOWN>                           <UNKNOWN>****
> 5B 00010001 ? - -  -  - AMI ISO9660 File System Driver      FsIso9660****
> 5F 00000010 ? - -  -  - AMI Terminal Driver                 Terminal****
> 67 00000010 D - -  2  - NTFS File System Driver
> 394D7D54-2346-4CF5****
> 80 00000088 D - -  2  - AMI USB2.0 Driver                   UHCD****
> 82 00000088 B - -  2  5 USB bus                             UHCD****
> 83 00000001 D - -  1  - USB Keyboard driver                 UHCD****
> 84 00000002 D - -  1  - USB Mouse driver                    UHCD****
> 85 00000001 D - -  1  - USB Mass Storage driver             UHCD****
> 94 00000010 D - -  7  - <UNKNOWN>                           CORE_DXE****
> 95 00000010 D - -  1  - <UNKNOWN>                           CORE_DXE****
> 96 00000010 B - -  3  3 <UNKNOWN>                           CORE_DXE****
> 98 00000010 B - -  2  5 <UNKNOWN>                           CORE_DXE****
> 99 00000010 D - -  2  - AMI PS/2 Driver                     CORE_DXE****
> 9A 00000010 ? - -  -  - AMI Floppy Driver                   CORE_DXE****
> 9B 00000001 B - -  2  1 AMI IDE BUS Driver                  CORE_DXE****
> ** **
> Here is the output of "ver" on my test machine:****
> ** **
> EFI Specification Revision : 2.0****
> EFI Vendor                 : American Megatrends****
> EFI Revision               : 4.635****
>
> ** **
>
> ** **
> On Tue, Mar 12, 2013 at 3:16 PM, Andrew Fish <[email protected]> wrote:****
> Thomas,****
> ** **
> The edk2 is an example of a UEFI implementation, but many can exist. ****
> ** **
> I think you should read UEFI 2.3.1 (http://www.uefi.org/specs/) section
> 2.6 to understand what a UEFI system is required to do. ****
> ** **
> I'd also point that something like a Firmware Volume is not UEFI, but PI (UEFI
> Platform Initialization Specification 
> 1.2.1<http://www.uefi.org/specs/platform_agreement>).
> A UEFI system is not required to implement PI. ****
> ** **
> Also in the UEFI world some things have gotten obsoleted over time, so
> there may be a way to fallback to and older version gracefully. If you let
> the list know some of the protocols you are depending on we may be able to
> give you some advice on the list.****
> ** **
> Andrew Fish****
>
>
>
> ** **
> ** **
> On Mar 12, 2013, at 1:03 PM, Thomas Rognon <[email protected]> wrote:****
> ** **
>
> I haven't yet come across a computer that has all, or even most, of the
> drivers included in edk2.  This is a problem because my UEFI application
> depends on some of these drivers.****
> ** **
> I need to deploy my application as efi files and not interfere with the
> vendor's firmware volumes, so creating my own firmware volumes and
> replacing the vendor firmware volumes is not an option.****
> ** **
> My solution is to have copies of all the required drivers for my
> application alongside of my application and have a script load them all and
> then start my application.****
> ** **
> My problem is finding what drivers are needed and in what order they need
> to be loaded.  It's been very hit and miss so far.  Half of the time, the
> drivers won't even load, they will crash the computer (I'm assuming because
> they require other drivers to be present first).****
> ** **
> Does anyone know a good way to figure out what drivers are required and in
> what order for an arbitrary application?  Also, even though most UEFI
> systems don't --provide-- all of the edk2 drivers, are all UEFI systems
> guaranteed to --support-- all of the edk2 drivers?****
>
> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
>
> http://p.sf.net/sfu/appdyn_d2d_mar_______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/edk2-devel****
>
> ** **
>
>
>
> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_d2d_mar
> _______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/edk2-devel****
> ** **
>
> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
>
> http://p.sf.net/sfu/appdyn_d2d_mar_______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>
>
>
>
> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_d2d_mar
> _______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>
>
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to