Ruiyu Ni
780e05caec
MdeModulePkg: Add Platform recovery support
...
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com >
Reviewed-by: Sunny Wang <sunnywang@hpe.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18859 6f19259b-4bc3-4df7-8a09-765794883524
2015-11-17 10:11:44 +00:00
Ruiyu Ni
ccb66799e3
MdeModulePkg: Support to expand File device path
...
To support platform recovery, File device path expanding capability
is added.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com >
Reviewed-by: Sunny Wang <sunnywang@hpe.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18858 6f19259b-4bc3-4df7-8a09-765794883524
2015-11-17 10:10:54 +00:00
Ruiyu Ni
121300c452
MdeModulePkg: Use BmForEachVariable to collect all key options
...
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com >
Reviewed-by: Sunny Wang <sunnywang@hpe.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18857 6f19259b-4bc3-4df7-8a09-765794883524
2015-11-17 10:10:16 +00:00
Ruiyu Ni
f9a24380b8
MdeModulePkg: Use BM_OPTION_NAME_LEN instead of sizeof L"Boot####"
...
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com >
Reviewed-by: Sunny Wang <sunnywang@hpe.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18856 6f19259b-4bc3-4df7-8a09-765794883524
2015-11-17 10:09:25 +00:00
Ruiyu Ni
418e8cd924
MdeModulePkg: Use BmCharToUint in BmIsKeyOptionVariable
...
The patch also moves the BmCharToUint to BmMisc.c because it
belongs to misc functions.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com >
Reviewed-by: Sunny Wang <sunnywang@hpe.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18855 6f19259b-4bc3-4df7-8a09-765794883524
2015-11-17 10:08:40 +00:00
Ruiyu Ni
d95ff8e8d8
MdeModulePkg: Add Bm prefix for internal functions
...
Change VARIABLE_VISITOR to BM_VARIABLE_VISITOR
Change ForEachVariable to BmForEachVariable
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com >
Reviewed-by: Sunny Wang <sunnywang@hpe.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18854 6f19259b-4bc3-4df7-8a09-765794883524
2015-11-17 10:07:43 +00:00
Sunny Wang
fad21b7c57
MdeModulePkg: Fix memory leak issues
...
Fix memory leak issues
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Sunny Wang <sunnywang@hpe.com >
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18722 6f19259b-4bc3-4df7-8a09-765794883524
2015-11-03 02:58:30 +00:00
Sunny Wang
5d3a9896f0
MdeModulePkg: Make the BmFindLoadOption function public
...
Make the BmFindLoadOption function public
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Sunny Wang <sunnywang@hpe.com >
Reviewed-by: Samer El-Haj-Mahmoud <elhaj@hpe.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18662 6f19259b-4bc3-4df7-8a09-765794883524
2015-10-26 04:49:08 +00:00
Star Zeng
2f931dda52
MdeModulePkg UefiBootManagerLib: Do not assume perf entry count has no change
...
Current implementation assumes the performance entry count has no change from
multiple GetPerformanceMeasurement() while loops, it may cause the allocated buffer
for PerfEntriesAsDxeHandle at the first loop to be overflowed if the following loop has
the count changed.
This patch is also to sync the change at
commit R17851 "IntelFrameworkModulePkg GenericBdsLib: Resolve array size mismatch".
Cc: Ruiyu Ni <ruiyu.ni@intel.com >
Cc: Liming Gao <liming.gao@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com >
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18561 6f19259b-4bc3-4df7-8a09-765794883524
2015-09-30 04:29:50 +00:00
Ruiyu Ni
88cbb6be4e
MdeModulePkg: Fix a performance data buffer overrun issue
...
The mBmPerfHeader.Count isn't reset to 0 in BmWriteBootToOsPerformanceData()
so when the actual performance data entry count exceeds the LimitCount,
the performance data collection breaks on condition
if (mBmPerfHeader.Count == LimitCount), but 2nd time calling this function
will not break on condition if (mBmPerfHeader.Count == LimitCount) because
the mBmPerfHeader.Count always bigger than LimitCount, which results buffer
overrun.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com >
Reviewed-by: Star Zeng <star.zeng@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18417 6f19259b-4bc3-4df7-8a09-765794883524
2015-09-09 05:43:44 +00:00
Sunny Wang
4982ea57d9
MdeModulePkg: Remove unused variables from both UefiBootManagerLib and BdsDxe to fix GCC build.
...
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Sunny Wang <sunnywang@hpe.com >
Reviewed-by: Eric Dong <eric.dong@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18350 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-28 05:41:06 +00:00
Eric Dong
cf34f86bc2
MdeModulePkg: Replace deprecated function.
...
Replace GetEfiGlobalVariable with GetEfiGlobalVariable2.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com >
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18332 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-27 04:52:24 +00:00
Ruiyu Ni
5e8df1ba6d
MdeModulePkg: Fix UefiBootManagerLib.inf license header.
...
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18298 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-25 06:27:01 +00:00
Ruiyu Ni
d948fe96a5
MdeModulePkg: Make boot option description unique
...
When there are multiple network boot options, user will see multiple
"UEFI Network" boot options. It's hard to distinguish them using the
description.
The patch enhances the boot option generation logic to append " 2"
/" 3"/" 4"/... number suffix to the non-first network boot options.
So the 2nd one becomes "UEFI Network 2".
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com >
Cc: Eric Dong <eric.dong@intel.com >
Reviewed-by: Eric Dong <eric.dong@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18062 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-26 08:07:15 +00:00
Ruiyu Ni
ebf735f119
MdeModulePkg: Update UefiBootManagerLib to support HTTP boot option creation
...
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com >
Reviewed-by: Siyuan Fu <siyuan.fu@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17849 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-07 05:43:00 +00:00
Qiu Shumin
0ec2bfc857
MdeModulePkg: Use StrnCpyS instead of StrCpyS to indicate the copy length from the source.
...
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <shumin.qiu@intel.com >
Reviewed-by: Hao Wu <hao.a.wu@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17841 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-07 03:01:07 +00:00
Liming Gao
de6c0eff30
MdeModulePkg: UefiBootManagerLib to handle LoadFile DevicePath
...
UEFI Spec HTTP Boot Device Path, after retrieving the boot resource
information, the BootURI device path node will be updated to include
the BootURI information. It means the device path on the child handle
will be updated after the LoadFile() service is called.
To handle this case, UefiBootManagerLib BmGetLoadOptionBuffer API
is updated as the below:
1) Get Device handle based on Device Path
2) Call LoadFile() service (GetFileBufferByFilePath() API) to get Load File Buffer.
3) Retrieve DevicePath from Device handle
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17798 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-02 04:27:54 +00:00
Qiu Shumin
b6344b37c9
MdeModulePkg/Library/UefiBootManagerLib: Use safe string functions to refine code.
...
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <shumin.qiu@intel.com >
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17782 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-01 08:21:16 +00:00
Ruiyu Ni
6c988d346b
MdeModulePkg/UefiBootManagerLib: Add gEfiFormBrowser2ProtocolGuid reference in INF file
...
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17614 6f19259b-4bc3-4df7-8a09-765794883524
2015-06-11 02:01:26 +00:00
Ruiyu Ni
f41c71d26a
MdeModulePkg: Provide EfiBootManagerRegisterBootDescriptionHandler
...
This API can be used for platform to customize the boot description other than using core provided boot description.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com >
Reviewed-by: Eric Dong <eric.dong@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17547 6f19259b-4bc3-4df7-8a09-765794883524
2015-06-02 09:03:38 +00:00
Ruiyu Ni
eef538572f
MdeModulePkg: Add assertion to make code easier for read.
...
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17483 6f19259b-4bc3-4df7-8a09-765794883524
2015-05-20 07:41:01 +00:00
Ruiyu Ni
1fb0dab6aa
MdeModulePkg: Add UNI file for UefiBootManagerLib library.
...
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17455 6f19259b-4bc3-4df7-8a09-765794883524
2015-05-15 08:47:31 +00:00
Ruiyu Ni
833a8349c1
MdeModulePkg: Fix build failure in UefiBootManagerLib
...
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17444 6f19259b-4bc3-4df7-8a09-765794883524
2015-05-14 02:09:59 +00:00
Ruiyu Ni
067ed98a73
MdeModulePkg: Fix EOL to be DOS format.
...
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17421 6f19259b-4bc3-4df7-8a09-765794883524
2015-05-13 02:23:44 +00:00
Ruiyu Ni
182ac39771
MdeModulePkg: Fix a typo to resolve legacy boot failure.
...
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17419 6f19259b-4bc3-4df7-8a09-765794883524
2015-05-12 09:49:28 +00:00
Ruiyu Ni
1634214dbb
MdeModulePkg: Process Sys Prep load options in BdsDxe driver.
...
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com >
Reviewed-by: Eric Dong <eric.dong@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17403 6f19259b-4bc3-4df7-8a09-765794883524
2015-05-11 06:33:45 +00:00
Ruiyu Ni
a4b833e573
MdeModulePkg: Fix SortLib library class name typo.
...
BaseSortLib is the library instance name not the class name.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17398 6f19259b-4bc3-4df7-8a09-765794883524
2015-05-11 04:51:38 +00:00
Ruiyu Ni
c705cd5a11
MdeModulePkg: BaseSortLib and UefiBootManagerLib support DXE_RUNTIME_DRIVER.
...
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com >
Reviewed-by: Eric Dong <eric.dong@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17341 6f19259b-4bc3-4df7-8a09-765794883524
2015-05-06 10:41:05 +00:00
Ruiyu Ni
1d11222925
MdeModulePkg: Add UefiBootManagerLib
...
UefiBootManagerLib provides:
load option library functions;
hot key library functions;
boot library functions;
connect and disconnect library functions;
driver health library functions.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com >
Reviewed-by: Eric Dong <eric.dong@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17327 6f19259b-4bc3-4df7-8a09-765794883524
2015-05-06 04:47:02 +00:00