Commit Graph

69 Commits

Author SHA1 Message Date
qwang12 a235abd2c9 Following UEFI spec to do auto booting after a time-out. This feature is implemented
in Framework Setup Browser and moved to MdeModulePkg/Universal/BdsDxe. The auto booting is
moved here in HII Thunk module. 

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7062 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-17 06:41:02 +00:00
qhuang8 a3a83173fe 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@7054 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-16 15:32:50 +00:00
qwang12 dee207ee01 1) Keep the original Varstore Name when replacing it with L"Setup" to allow Framework HII module get variable which is saved by UEFI Setup Browser.
2) Fix a bug in UefiDefaultsToFwDefaults to correctly update the VariablePackList on output.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7045 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-16 13:09:12 +00:00
qwang12 73d1dcbb46 Add in code to convert the Default VarStore name to be L"Setup" based on Framework HII's assumption.
VARSTORE ID of 0 for Buffer Storage Type Storage is defined as invalid in UEFI 2.1 HII. VARSTORE ID
0 is the default VarStore ID for storage without explicit declaration in Framework HII 0.92. EDK II UEFI VFR compiler
in compatible mode will assign 0x0001 as UEFI VARSTORE ID to this default storage id in Framework VFR without
VARSTORE declaration.

In addition, the Name of Default VarStore is assumed to be L"Setup" for those storage without explicit VARSTORE declaration in the formset
by Framework HII. EDK II UEFI VFR compiler in compatible mode hard-coded L"Setup" as VARSTORE name.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7040 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-16 05:27:24 +00:00
qwang12 03254710db 1) Fix a bug of DefaultVarStoreId of the Form Set should be used when Framework IfrSupportLib create new opcode.
2) Remove the unnecessary OpcodeCreation.h 
3) Update the doxygen function header.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6787 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-01 07:16:55 +00:00
xli24 88b6bcec9d Clean ECP for build failure.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6760 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-27 07:58:15 +00:00
qwang12 e24d48ac46 1) Initialize return value for UefiOp for all execution path.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6748 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-27 02:43:22 +00:00
qwang12 5990ace9f5 ICC IA32 Cleanup.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6746 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-27 02:22:59 +00:00
qwang12 3321fa09f0 1) Add in SharingStringPack to make UpdateString only create/update string token in the String Packages that shares String Package with each other. For a String Token to be updated in a Package, TagGUID must be the same and SharingStringPack need to be true too.
If a package list has both String Package and Form Package registered, the Create/Update of String Token will only be done in this Package List.
2) Add in Doxygen Function headers.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6736 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-26 11:02:31 +00:00
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