Commit Graph

60 Commits

Author SHA1 Message Date
qwang12 70d72ba978 1) StrGather (Build.exe) in compatible mode add a Framework Package Header to replace the original “ArrayLength” generated in the output.
2) VfrCompiler in compatible mode add a Framework Package Header to replace the original “ArrayLength” generated in the output.
3) HII Thunk module nows support Narrow Font registered using Framework New Pack HII interface.
4) Fix a bug in IfrLibCreatePopUp2 by updating the prototype. The previous way of using VA_START to get the address of parameter in the argument list and expecting the parameters that follows will be found using VA_ARG macro is wrong. 


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6672 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-21 15:07:50 +00:00
qwang12 6a179dcaee Add in parameter checking to pass UEFI HII SCT test.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6567 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-17 14:30:47 +00:00
qwang12 725c7e2257 Clean up for GCC tool-chain.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6446 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-10 13:31:37 +00:00
qwang12 98b16b9dad clean up for IPF ICC tool chain.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6445 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-10 13:27:09 +00:00
qwang12 814b5c403e Remove 4 dead files.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6442 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-10 12:49:05 +00:00
qwang12 3a51df1380 Remove the unused include.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6441 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-10 12:47:21 +00:00
qwang12 a9d853203d 1) Add in support for Framework VFR file which specify all VAR Store correctly. This patch enable the ThunkExtractConfig and ThunkRounteConfig to handle more than one VAR Storage based on the VARSTORE ID specified.
2) Remove the unnecessary data structure defined for IFR Parser.
  1) All data structure definition that have nothing to do with IFR Default value scanning (
     required to implement Framework HII's GetDefaultImage ()) is removed.
  2) Ignore the IFR opcode which is invalid for Form Package
     generated using Framework VFR file.
3) Remove unnecessary files.
4) Add in Doxygen function header for all functions.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6440 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-10 12:40:07 +00:00
qwang12 a16d259b86 Coding style and Doxygen update.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6406 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-05 11:59:01 +00:00
qwang12 4dd76ade7d 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@6379 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-04 14:47:21 +00:00
qwang12 8630d2ddf1 Update the comment.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6312 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-30 15:19:52 +00:00
qwang12 7001eaf8e5 Remove SafeFreePool from MemoryAllocationLib as this API's name is misleading. Its implementation only check if a pointer is NULL. If a garbage pointer is passed in, the gBS->FreePool will still ASSERT in debug build and return error code.
It is recommended that module writer should keep track how a pointer is allocated and free it after use.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6307 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-30 08:00:56 +00:00
qwang12 90d6d599d9 Add gEfiHiiFontProtocolGuid AND gEfiFormBrowser2ProtocolGuid into depex as they are quired for this module to work.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5945 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-22 10:37:05 +00:00
lgao4 5a58200d19 Correct CompareGuid function
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5933 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-19 09:26:18 +00:00
lgao4 66df253186 1. Correct CopyMem and CompareMem to CopyGuid and CompareGuid for GUID data
2. Add the missing processor type in DataHubRecords/DataHubSubClassProcessor.h file.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5926 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-18 09:14:00 +00:00
qwang12 b436ed893b Only generate the random GUID if a package list already exist in the database.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5902 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-16 07:56:40 +00:00
lgao4 14085cf071 Fix the build bugs for these three files.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5900 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-16 07:37:57 +00:00
qwang12 bc22641609 Framework code may call PreparePacckage with NULL GUID and both IFR and String Packages.
PackageList = PreparePackages (2, NULL, IfrPack, StringPack);

    mHii->NewPack( mHii, PackageList, &HiiHandle );

Framework HII database make use of the formset GUID as ID to retrieve String using 

EFI_STATUS
GetStringFromToken (
  IN  EFI_GUID                  *ProducerGuid,
  IN  STRING_REF                Token,
  OUT CHAR16                    **String
  )

Update the code to cache the Formset GUID too.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5896 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-16 06:47:08 +00:00
qwang12 bc3fc71a37 Change the status code to EFI_NOT_FOUND for Framework Hii's GetGlyph if EFI_WARN_UNKNOWN_GLYPH is return from GetGlyph i.e. no matching font found and UNKNOWN glyph is returned.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5886 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-12 03:01:01 +00:00
qwang12 f38360fbf0 Add in a temp fix to make UEFI HII SCT can pass with platform built with FrameworkHiiToUefiHiiThunk module.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5829 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-05 07:01:47 +00:00
qwang12 2755d4dd44 Fix a bug.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5827 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-05 01:53:53 +00:00
qwang12 fed39e580e 1) Fix a bug in ASSERT condition.
2) Quit the browser when formset displayed is EFI_FRONT_PAGE_SUBCLASS or EFI_SINGLE_USE_SUBCLASS to comply with the Framework Browser behavior.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5826 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-05 01:19:01 +00:00
qwang12 8ea58c0707 1) Add a stringent check to make sure the package list for UpdateForm call must have IFR packages.
2) Fix a bug for Numeric Opcode creation.
3) Add AssignQuestionId to assign QuestionId to be a non-zero value always.
4) Add in Check in UefiRegisterPackageList to same package list to be registered for more than once. (Framework BDS has this behavior).
5) Fix a bug in HiiNewString


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5822 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-04 10:15:50 +00:00
vanjeff e00e1d4694 clean up the un-suitable ';' location when declaring the functions. The regular is ")[ ]++^p;"
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5821 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-04 09:44:58 +00:00
qwang12 962045a2ab Update FrameworkHiiToUefiHiiThunk to produce Framework HII Protocol and Framework Setup Browser in new GUIDs. This is because the interfaces produced only handle IFR and String packages in UEFI format.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5801 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-03 10:47:00 +00:00
qwang12 59e87364cc Save the type of OneOf question.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5769 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-02 01:25:55 +00:00
qwang12 286f0de74c 1) Remove the hard-code length before building FRAMEWORK_EFI_IFR_DATA_ARRAY.
2) Support data type of EFI_IFR_TYPE_STRING when building FRAMEWORK_EFI_IFR_DATA_ARRAY.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5760 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-01 06:15:02 +00:00
lgao4 64bdb454f0 Fix build warning by replace CompareGuid by CompareMem
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5756 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-29 08:49:57 +00:00
qwang12 4406efb42b OptionMap->Guid may not align on UINT32 baundary.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5755 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-29 06:47:11 +00:00
qwang12 138f2f82d8 GetNextMonotonicCount may not be available when GenerateRandomGuid is called. Add a static variable as a seed.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5752 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-29 01:53:37 +00:00
qwang12 1e22d0b02c Fix a bug in UefiDefaultsToFwDefaults NULL should be returned if no Variable pack is found.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5719 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-23 09:37:32 +00:00
qwang12 b074cb3927 Use correct link list traverse functions.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5713 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-22 14:54:26 +00:00
qwang12 a3318eaf7a 1) Add in support to get only VarStoreId = 1 from Multiple VarStores.
2) Remove ThunkIfrSupportLib.h
3) Update some comments.
4) Add GetAttributesOfFirstFormSet to scan form package to read formset title, class info.
5) Clean up function related to package registration code.
6) Clean up RemovePackNotify

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5705 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-21 07:56:01 +00:00
qwang12 5993016597 1) Add GetAttributesOfFirstFormSet to scan form package to read formset title, class info.
2) Clean up function related to package registration code.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5702 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-21 02:33:00 +00:00
qwang12 d4775f2a4c 1) Add in fix to handle the case when a form is not related to a buffer storage.
2) Allocate Hii Handle from a bitfield array so Framework Hii Handle can be recycled.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5700 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-20 14:17:24 +00:00
qwang12 133a9dfb54 1) Add in code to sync Browser Data with the NvMapOverride that may be updated by Framework Callback.
2) Convert lang code to RFC3066 format in Framework HII's GetSring and NewString 
3) Make sure the default ThunkExtractConfig is able to save the data even if it is not present initially.
4) Enable Framework HII's HiiGetGlyph and HiiGlyphToBlt.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5689 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-19 10:44:50 +00:00
qwang12 0368663fd6 Bug fixes for FrameworkHiiToUefiHiiThunk;
1) Update variable name to better names.
2) Change List Entry in all data structure to "Link".
3) Update to use proper list manipulation functions in BaseLib.
4) Add in more comments and clean up HiiNewString.
5) Clean up for HiiNewPack, HiiRemovePack and the notify functions.
6) Create better name such as GetPackageCount and AssignFrameworkHiiHandle
7) Clean up the InitializeHiiDatabase entry point.
8) Remove the confusing data field in the HII_THUNK_ENTRY HiiDatabase.h.
9) Add in cleanup code for DestoryThunkContext
10) Add in code to handle the save of browser data after invoke callback 
11) Map the UEFI One Of Option code to Framework One Of Option code before calling Framework Callback.
12) Add in CreatePopUp support.
13) Add in SendForm support.
14) HiiGetPrimaryLanguages and HiiGetSecondaryLanguages should support language code in RFC639 format from Caller. Then, they should conver them to 3066 format before calling UEFI HII interfaces.
15) Make ResetStrings a NOP.
16) Remove the unnecessary dependency.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5659 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-18 05:56:23 +00:00
vanjeff dee6b58df6 case UINTN to UINT32.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5457 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-14 02:26:07 +00:00
qhuang8 fd0d281b3c Remove unrecognized chars in comment for all source C/h files.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5354 6f19259b-4bc3-4df7-8a09-765794883524
2008-06-19 11:15:44 +00:00
qwang12 137c54acda Install a Framework SetupBrowser protocol interface. But this interface will return EFI_UNSUPPORTED. This is to satisfy that some platform/chipset code may located this protocol but never invoke either of these two interfaces in the protocol.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5331 6f19259b-4bc3-4df7-8a09-765794883524
2008-06-05 06:19:12 +00:00
qwang12 1668bd49c9 1) Add BufToHexString, HexStringToBuf and IsHexDigit to BaseLib.
2) Remove the duplicated functions implementation  from the modules that reference these APIs 

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5284 6f19259b-4bc3-4df7-8a09-765794883524
2008-05-23 05:31:39 +00:00
qwang12 d7152a15f5 Make the module GCC clean.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5213 6f19259b-4bc3-4df7-8a09-765794883524
2008-05-16 09:43:38 +00:00
qwang12 bcf79fc866 1) Add Doxygen Comments
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5207 6f19259b-4bc3-4df7-8a09-765794883524
2008-05-15 09:17:46 +00:00
qwang12 1a6cdbd9c5 1) Add Doxygen Comments
2) Add some ASSERTs to assist debug.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5206 6f19259b-4bc3-4df7-8a09-765794883524
2008-05-15 09:14:36 +00:00
qwang12 57cbd269f0 Update MapUefiHiiHandles to return EFI_SUCCESS if there is no packages registered in UEFI HII database.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5202 6f19259b-4bc3-4df7-8a09-765794883524
2008-05-14 09:19:06 +00:00
qwang12 b47694b968 1) Use 0xFFEE as the VarId the reason is as follows:
// VARSTORE ID of 0 for Buffer Storage Type Storage is reserved in UEFI IFR form. But VARSTORE ID
// 0 in Framework IFR is the default VarStore ID for storage without explicit declaration. So we have
// to reseved 0xFFEE in UEFI VARSTORE ID to represetn default storage id in Framework IFR.
// Framework VFR has to be ported or pre-processed to change the default VARSTORE to a VARSTORE
// with ID equal to 0xFFEE.

2) Update some comments

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5201 6f19259b-4bc3-4df7-8a09-765794883524
2008-05-14 08:18:48 +00:00
qwang12 63dd6a961c 1) Fix a bug. Before this fix, a Module that calling UEFI HII Interface to get the String Information will fail to locate the Package List based on a Package GUID if a required String Pack is registered using Framework HII NewPack instance.
2) Correct a few other minor issues.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5185 6f19259b-4bc3-4df7-8a09-765794883524
2008-05-08 08:57:58 +00:00
qwang12 ea58467bf7 Add in supports for platform Setup module which is programmed using Framework HII interface.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5175 6f19259b-4bc3-4df7-8a09-765794883524
2008-05-07 08:49:04 +00:00
qwang12 c64feb92ef Fix a bug which cause the thunk code failed to handle creation of "One Of" and "Ordered List" UEFI opcode from Framework counterparts.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5156 6f19259b-4bc3-4df7-8a09-765794883524
2008-04-30 15:51:00 +00:00
vanjeff 22f5582e62 fixed bug for special case.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5154 6f19259b-4bc3-4df7-8a09-765794883524
2008-04-30 07:30:25 +00:00
qwang12 f274810c8d Add in code to support the deletion of opcode from a form.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5153 6f19259b-4bc3-4df7-8a09-765794883524
2008-04-30 06:35:24 +00:00