Boot options is different from executing an EFI image.

If you create a boot option and add it to BootOrder, the boot manager will
execute it for you.

If you want to immediately execute an EFI image and you have the device
path or a pointer to the file, then you use LoadImage() and StartImage().


On Tue, Oct 1, 2013 at 9:08 AM, ASM <[email protected]> wrote:

> Hi folks!
>
> I apologize for the stupid questions, but I really can not understand
> how it works.
> Please help me.
>
> I need to make new boot item, and boot from it. Loading do
> using specific getting image, and startimage with specific
> preparation. Load using LOAD_FILE PROTOCOL from MyLoad function.
>
> For this goals I read UEFI_2_4 spec and MdeModulePkg PxeBcDriver.
>
> I do to achieve the goal:
> * I make DXE driver.
> * I load it from ROM.
> * DXE Driver:
> ** Creates (On entry point) new Boot### variable in NvRam. It make
> description "BootForMe" and EFI_DEVICE_PATH_PROTOCOL instance  with
> MESSAGING_DEVICE_PATH (HW_VENDOR_DP).
> ** Driver call  EfiLibInstallDriverBindingComponentName2() for registering.
>
> >From EFI_DRIVER_BINDING_PROTOCOL.Start() I add to DeviceHandle new
> protocol: EFI_LOAD_FILE_PROTOCOL. For it I use
> gBS->InstallMultipleProtocolInterfaces().
>
> EFI_LOAD_FILE_PROTOCOL contains pointer to MyLoad function.
>
> How I understand in EFI firmware must be created EFI_HANDLER * Device,
> which will support bootoption DEVICE_PATH_PROTOCOL. I need detect it
> device in EFI_DRIVER_BINDING_PROTOCOL.Supported(), and add to it
> EFI_LOAD_FILE_PROTOCOL support for boot manager. Boot Manager get
> Device from DEVICE_PATH_PROTOCOL, and call LoadImage, StartImage
> after.
>
> Am I right to do and understand? If yes, how to create EFI_HANDLER *
> Device?
>
> I just need to do is start image from new boot option. Image get from
> MyLoad function. Start image from MyStart. Maybe this can be get
> easier?
>
>
> Thank you.
> ---
> Best regards,
> Leonid Myravjev
>
>
> ------------------------------------------------------------------------------
> October Webinars: Code for Performance
> Free Intel webinars can help you accelerate application performance.
> Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most
> from
> the latest Intel processors and coprocessors. See abstracts and register >
> http://pubads.g.doubleclick.net/gampad/clk?id=60134791&iu=/4140/ostg.clktrk
> _______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>
------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60134791&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to