Commit Graph

88 Commits

Author SHA1 Message Date
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 79ec0fac43 Base on PI spec, GetPeiServicesTablePointer is updated to return CONST EFI_PEI_SERVICES**. This is a incompatible changes. All file that reference this must be updated.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6131 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-17 08:53:52 +00:00
qwang12 c30050f5bb Fix a bug to locate the correct PPI.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6113 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-15 02:44:29 +00:00
qwang12 9d5eaca403 Add an ASSERT to make sure this thunk module can only be used together with a PI PEI core, as we
assume PeiServices Pointer Table can be located in a standard way defined in PI spec.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5955 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-24 02:54:40 +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 1e52ce5da8 Delete the unused PEIMs. EDK 2 PEI core now support this feature by gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkFvHobCompatibilitySupport.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5884 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-12 01:56:56 +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
vanjeff 0e667e82c0 Remove unnecessary CONST.
.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5808 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-04 03:17:26 +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 456f6922d3 Name the module based on the rule below
Thunk Module Name = (Produced)To(Consumed)Thunk

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5349 6f19259b-4bc3-4df7-8a09-765794883524
2008-06-17 08:03:36 +00:00
qwang12 79c144086a Name the module based on the rule below
Thunk Module Name = (Produced)To(Consumed)Thunk

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5348 6f19259b-4bc3-4df7-8a09-765794883524
2008-06-17 07:00:08 +00:00
qwang12 d00d0b12ac Rename the module based on the naming rule
Thunk Module Name = (Produced)To(Consumed)Thunk

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5347 6f19259b-4bc3-4df7-8a09-765794883524
2008-06-17 06:56:36 +00:00
qwang12 b6b2bb74df add a comment about why gEfiPeiMemoryDiscoveredPpiGuid is used as dpx.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5346 6f19259b-4bc3-4df7-8a09-765794883524
2008-06-17 06:15:06 +00:00
qwang12 b1a025efdb Add FvHobToFvInfoThunk.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5345 6f19259b-4bc3-4df7-8a09-765794883524
2008-06-17 06:13:38 +00:00
qwang12 9161f07ce2 Remove unused include file.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5344 6f19259b-4bc3-4df7-8a09-765794883524
2008-06-17 06:12:19 +00:00
qwang12 07567c3c32 Add more comments.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5343 6f19259b-4bc3-4df7-8a09-765794883524
2008-06-12 08:56:55 +00:00
qwang12 f21c37708d install mReadOnlyVariableThunkPresent PPI to insure that only one ReadOnlyVariable thunk driver can be present in the platform.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5337 6f19259b-4bc3-4df7-8a09-765794883524
2008-06-10 07:21:00 +00:00
qwang12 185be2e02b Change notification function to the correct protocol.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5336 6f19259b-4bc3-4df7-8a09-765794883524
2008-06-10 06:11:27 +00:00
qwang12 cd28997564 fix a typo.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5335 6f19259b-4bc3-4df7-8a09-765794883524
2008-06-10 06:09:26 +00:00
qwang12 008a518953 change >> to RShiftU64 function call to avoid compiler to insert __aullshr intrinsic.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5332 6f19259b-4bc3-4df7-8a09-765794883524
2008-06-05 06:31:24 +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 2be3c94664 Update to doxygen comments.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5310 6f19259b-4bc3-4df7-8a09-765794883524
2008-05-29 09:02:49 +00:00
qwang12 001d920c76 1) Add in FvFileLoaderToLoadFileThunk.
2) Update some doxygen comments.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5309 6f19259b-4bc3-4df7-8a09-765794883524
2008-05-29 08:50:42 +00:00
qwang12 6ea838c360 Layer AllocateBuffer and FreeBuffer on the PciRootBridgeIo too.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5307 6f19259b-4bc3-4df7-8a09-765794883524
2008-05-29 06:22:28 +00:00