Hi All,

Thanks for your comments. I add my explanation below:

Only hook ReadyToBoot event is not enough. Different drivers may hook this 
event and some may update string package in their callback function. The order 
to call these callback functions is random, so only hook this event may miss 
some changes.

This feature is described in UEFI spec 2.6 chapter 31.2.11.1. It required to 
export all HiiDatabae data and current configuration data. We add this feature 
because we strongly encourage the export of config data to support 
manageability of platform config both for pre-OS and OS runtime operations. 

Also we collect the performance data from our reference platform(Detail see 
below). The boot performance is small and we can ignore it. This feature cost 
extra 869KB, but we think the size cost is not care because current we use 16M 
size of bios flash.  

HiiDatabase driver data size cost(This feature add in HiiDatabase driver):
        Without this feature: 
                Used data size: 151KB    
        With this feature
                Used data size: 1020 KB   
        PS: This extra size cost mainly depend on how much Hii packages in your 
platform.

Boot Time cost:
        Without this feature:
                Boot Time cost:    1st:3.353s       2nd: 3.035s
        With this feature:
                Boot Time cost:    1st: 3.125s      2nd: 3.126s

Base on the above analysis, we provide this design and prefer to always enable 
this feature instead of use a PCD to control it.

Thanks,
Eric

> -----Original Message-----
> From: El-Haj-Mahmoud, Samer [mailto:samer.el-haj-mahm...@hpe.com]
> Sent: Wednesday, February 17, 2016 2:14 AM
> To: Andrew Fish; Brian J. Johnson
> Cc: Bi, Dandan; edk2-devel@lists.01.org; Dong, Eric; Gao, Liming
> Subject: RE: [edk2] [patch] MdeModulePkg: Make HII configuration settings 
> available to OS runtime
> 
> +1
> 
> I also would add there may be some HII strings that are hidden from user 
> interfaces, and reflect settings for field service or
> troubleshooting, and that a mass export to the OS may expose these settings 
> to OS runtime code and possibly applications.
> 
> 
> 
> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Andrew 
> Fish
> Sent: Tuesday, February 16, 2016 10:37 AM
> To: Brian J. Johnson <bjohn...@sgi.com>
> Cc: Dandan Bi <dandan...@intel.com>; edk2-devel@lists.01.org; Eric Dong 
> <eric.d...@intel.com>; Liming Gao <liming....@intel.com>
> Subject: Re: [edk2] [patch] MdeModulePkg: Make HII configuration settings 
> available to OS runtime
> 
> 
> > On Feb 16, 2016, at 8:33 AM, Brian J. Johnson <bjohn...@sgi.com> wrote:
> >
> > On 02/16/2016 12:58 AM, Dandan Bi wrote:
> >> This feature is aimed to allow OS make use of the HII database during
> >> runtime. In this case, the contents of the HII Database is exported
> >> to a buffer. The pointer to the buffer is placed in the EFI System
> >> Configuration Table, where it can be retrieved by an OS application.
> >>
> >> Export the configuration data and contents of HiiDatabase when driver
> >> add package, update package and remove package.
> >> For string and image may also need to update the contents of
> >> HiiDatabase when NewString/SetString, NewImage/SetImage.
> >>
> >> Cc: Liming Gao <liming....@intel.com>
> >> Cc: Eric Dong <eric.d...@intel.com>
> >> Contributed-under: TianoCore Contribution Agreement 1.0
> >> Signed-off-by: Dandan Bi <dandan...@intel.com> ...
> >
> > Please make this behavior selectable via a PCD.  HII operations are very 
> > expensive, especially on simulators.  I don't want to pay the
> export time every time a package is added or string is changed.  Also, 
> platforms should be able to decide if they want to offer this data to
> the OS.
> >
> 
> +1
> 
> I would want to opt out to NOT take the memory away from the OS if the 
> platform did not care about the feature.
> 
> Thanks,
> 
> Andrew Fish
> 
> > Why not just export the data once, using a "ready to boot" event hook?
> >
> > Thanks,
> > --
> >
> > Brian J. Johnson
> >
> > --------------------------------------------------------------------
> >
> >  My statements are my own, are not authorized by SGI, and do not
> > necessarily represent SGI's positions.
> > _______________________________________________
> > edk2-devel mailing list
> > edk2-devel@lists.01.org
> > https://lists.01.org/mailman/listinfo/edk2-devel
> 
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to