Commit Graph

40 Commits

Author SHA1 Message Date
Dandan Bi 8a45f80eda MdeModulePkg: Make HII configuration settings available to OS runtime
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.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Brian J. Johnson <bjohnson@sgi.com>
Cc: Andrew Fish <afish@apple.com>
Cc: El-Haj-Mahmoud Samer <samer.el-haj-mahmoud@hpe.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
2016-03-04 14:04:43 +08:00
Dandan Bi 91af324da0 MdeModulePkg: Refine function comments in Keyword Handler Protocol
Refine the function comments in ConfigKeywordHandler.c and
HiiDatabase.h.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2016-02-16 17:56:11 +08:00
Eric Dong 87bfeb11f8 MdeModulePkg: Implement UEFI25 HII Config keyword handler protocol.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Samer El-Haj-Mahmoud <samer.el-haj-mahmoud@hp.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17428 6f19259b-4bc3-4df7-8a09-765794883524
2015-05-13 08:35:29 +00:00
Eric Dong 22031c4f6b Enable two form packages share one hii handle.
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14790 6f19259b-4bc3-4df7-8a09-765794883524
2013-10-21 05:22:01 +00:00
Eric Dong c0a3c3da98 Refine the comments and code to follow spec.
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14573 6f19259b-4bc3-4df7-8a09-765794883524
2013-08-20 07:13:28 +00:00
Eric Dong 82e8c1380f Update HiiDataBase and UefiHiiLib to support Name/Value varstore.
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14451 6f19259b-4bc3-4df7-8a09-765794883524
2013-07-02 07:53:35 +00:00
ydong10 e7fd76d180 Patch includes:
1. Support get default value for ref opcode logic.
2. Correct the sample for ref opcode with default value.
3. Refine logic about processing device path info in ref value. 
Signed-off-by: ydong10
Reviewed-by: lgao4

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12774 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-24 08:47:57 +00:00
ydong10 eb5e7d3e7a Update code to follow coding style. Mainly change about:
1. Remove duplicate lib
2. Refine the name for enum member.
Signed-off-by: ydong10
Reviewed-by: lgao4
Reviewed-by: gdong1
Reviewed-by: vanjeff


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12767 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-23 09:20:57 +00:00
ydong10 ef40f0f6d6 Patch for:
1. Get default value base on the priority: default opcode has highest priority and get from minimum or first option has lowest.
2. When default value saved in expression, not set default value for this question.
Signed-off-by: ydong10
Reviewed-by: lgao4

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12738 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-18 07:05:17 +00:00
lgao4 c8ad2d7a29 Clean up the private GUID definition in module Level.
0. Remove the unused private GUID from module source files.
1. Use gEfiCallerIdGuid replace of the private module GUID.
2. Add the public header files to define HII FormSet and PackageList GUID used in every HII driver.
3. Move two EBC protocols for debug purpose from EBC driver to MdeModulePkg Include directory. 

Signed-off-by: lgao4
Reviewed-by: ydong10 gdong1 tye jfan12 wli12 rsun3 jyao1



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12373 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-18 12:21:01 +00:00
lzeng14 4f0779023c String Reference Cleanup.
Signed-off-by: lzeng14
Reviewed-by: lgao4

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11762 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-08 05:53:18 +00:00
ydong10 81b618fe85 Update ALTCFG reference from default name token to default ID.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11558 6f19259b-4bc3-4df7-8a09-765794883524
2011-04-19 03:04:06 +00:00
lgao4 b0bdc7ba21 Update HiiCompareLanguage to support case that language in String package is "en" and the input language is "en-US".
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11356 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-08 08:50:26 +00:00
lgao4 f6cf5cf800 Support proportional Font and Font output flags.
1. Abstract the maximum baseline and character height in Proportional Font package as its baseline and line height, and use fixed height as base line and line height for simple font packages.
  2. Update logic to handle string without EFI_HII_OUT_FLAG_CLIP_CLEAN_Y flag when string height exceeds the line height, and handle the string without EFI_HII_OUT_FLAG_CLIP_CLEAN_X flag when string wide exceeds the screen wide.
  3. Calculate Origin point by adding BaseLine on Starting position, and calculate the left-top corner of character by Origin point and CELL information. 



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11270 6f19259b-4bc3-4df7-8a09-765794883524
2011-01-24 04:58:45 +00:00
ydong10 e5c861ac2e Fixed HiiSetString failed. Tracker NUM:204479
Reason:
    When call function HiiSetString to update the string which has no old string exist for one language, it will failed.
Solution:
    When no old string exist, update with new string.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11257 6f19259b-4bc3-4df7-8a09-765794883524
2011-01-20 02:51:09 +00:00
hhtian e5eed7d364 Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10418 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-24 09:33:45 +00:00
lgao4 d6a82eaf8d Update HiiString Protocol and HiiSetString Api in HiiLib
1. Reserve the unique string identifier for all languages in the package list. 
2. Track MaxStringId to do the simple check for the requested StringId > MaxStringId, which can improve performance.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9954 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-09 07:12:35 +00:00
rsun3 b1a803d153 Some HII related definitions change. Note these changes are inconsistent with current UEFI 2.3 spec. They are supposed to be in later errata document.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9744 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-14 05:38:29 +00:00
rsun3 f324bf4dbe Roll back changes to apply GetBestLanguage() in HiiDataBase. Exact language match should be used in HiiDatabase.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8384 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-26 03:48:50 +00:00
lgao4 6e3f5b2aa9 Fix K8 and Sct failure.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8337 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-19 09:30:21 +00:00
lgao4 8567300ae4 Fix K8 issues in HiiDataBase
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8325 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-18 12:12:56 +00:00
lgao4 84f9a9ec8f 1. Update the implementation of HII ConfigRouting Protocol in HiiDataBase module to follow new ECRs.
1) ConfigRouting Protocol ExtractConfig interface must return the default values built in IFR that were not returned by ConfigAccess.ExtractConfig.
  2) The parameters of ConfigRouting Protocol interfaces are clarified to the specific configuration string syntax.
2. Implement the last two HiiLib interfaces: HiiSetToDefaults and HiiValidateSettings.
3. Update DriverSample driver to use these two APIs.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8313 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-14 07:06:06 +00:00
rsun3 844390f7d5 Update HiiDataBase driver to use GetBestLanguage() for matching RFC 4646 languages.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8262 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-08 05:39:24 +00:00
lgao4 e34e769924 Remove unused IfrSupportLib
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8064 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-12 03:18:19 +00:00
lgao4 63d55bb98a Replace BufToHexString by UnicodeValueToString
Replace HexStringToBuf by StrHexToUint64

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8034 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-08 00:56:51 +00:00
vanjeff 9937b36506 1. retired console control protocol.
2. removed NULL console device from consplitter module.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7995 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-01 02:52:17 +00:00
lgao4 b998288321 Correct typo in comments, clean IfrSupportLib.h
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7494 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-10 13:32:19 +00:00
qhuang8 f3f2e05db8 Clean up to update the reference of the these macros:
EFI_SIGNATURE_16 -> SIGNATURE_16
  EFI_SIGNATURE_32 -> SIGNATURE_32
  EFI_SIGNATURE_64 -> SIGNATURE_64
  EFI_FIELD_OFFSET -> OFFSET_OF
  EFI_MAX_BIT      -> MAX_BIT
  EFI_MAX_ADDRESS  -> MAX_ADDRESS
These macros are not defined in UEFI spec. It makes more sense to use the equivalent macros in Base.h to avoid alias.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7056 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-16 15:34:21 +00:00
qhuang8 8db9d51d78 Make HiiDatabase module not depend on HiiLib; otherwise it will inherit HII_DATABASE_PROTOCOL to its own dependency.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6764 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-27 13:15:24 +00:00
qhuang8 11e9250309 Add GetCurrentLanguage() to HiiLib in MdeModulePkg
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6758 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-27 07:43:56 +00:00
qwang12 8d00a0f195 Sync in bug fix from EDK I:
1) issue with setup browser and IFR refresh opcode
2) [HII]HIIConfigRoutingExportConfig generate error format of <MultiConfigAltResp>
3) [HII] ConfigRouting->ExtractConfig() will cause overflow
4) [Hii Database] EFI_HII_DATABASE_NOTIFY should be invoked when a string package is created internally when a new String Token is created
5) [PT]HIIConfigAccessProtocolTest fail on NT32uefi
6) Incorrect HII package types in EDK

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6378 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-04 14:28:08 +00:00
qwang12 c27eb35861 HiiLibGetCurrentLanguage returns the current UEFI variable "PlatformLang" (if this variable does not exist, a default value is returned). This function is called by HiiDatabase itself. Now, HiiLibGetCurrentLanguage is in HiiLib. Because of this, we can't add location of Hii protoocol in the library constructor of HiiLib. This cause Hii Database driver never get loaded (circular dependency).
By moving HiiLibGetCurrentLanguage to UefiLib, library constructor (depex) can be added back to HiiLib to make sure the execution order is correct.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5939 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-21 08:51:15 +00:00
vanjeff ed66e1bc0d clean up the un-suitable ';' location when declaring the functions.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5820 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-04 09:37:28 +00:00
lgao4 60c93673b3 The driver and library in MdePkg, MdeModulePkg and Nt32Pkg that don't depend on PI spec should include Uefi.h not PiDxe.h.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5758 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-30 14:09:38 +00:00
qwang12 e94358a3fe Use two PCDs to replace _DISABLE_UNUSED_HII_PROTOCOLS_ macro.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5498 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-16 09:36:33 +00:00
qwang12 e90b081afa Clean up HiiDatabase for Doxygen comments requirement.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5467 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-15 06:29:27 +00:00
qwang12 813acf3a9a Merged in the following trackers from EDK:
EDK1145 Cursor mising in shell in some case 
EDK1099: Dell - [HII] HiiGetFontInfo() not retrieve the system font by FoFontInfoMask
EDK1127: [UEFI 2.10] Keyboard layout support 
EDK1129: [UEFI HII] GUID is represented wrongly in Config String
And some other fixes such as
*[UEFI HII] HiiGetAltCfg is generating "Name=" sub string in the wrong format 
*UEFI HII: GetUnicodeStringTextOrSize() doesn't handle NULL StringDest properly
*GetFontInfo() need be updated to avoid iteration 
*HIIStringProtocolTest failed on multiple platform
*[Uefi 2.1] Comply with latest Hii ECR 
* GetFontInfo() need be updated to avoid iteration


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5361 6f19259b-4bc3-4df7-8a09-765794883524
2008-06-23 09:41:33 +00:00
qhuang8 ac64461468 De-unicode in comment for all source files.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5302 6f19259b-4bc3-4df7-8a09-765794883524
2008-05-27 03:24:01 +00:00
qwang12 30d27d1542 Pass GCC build.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5287 6f19259b-4bc3-4df7-8a09-765794883524
2008-05-23 06:26:23 +00:00
qwang12 93e3992d1e UEFI HII: Merge UEFI HII support changes from branch.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4599 6f19259b-4bc3-4df7-8a09-765794883524
2008-01-21 14:39:56 +00:00