summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Library
AgeCommit message (Collapse)Author
2016-07-07MdeModulePkg DxeSmmPerformanceLib: Add missing UefiLib in *.inf at de2459dStar Zeng
Cc: Jiewen Yao <jiewen.yao@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: Jiewen Yao <jiewen.yao@intel.com> (cherry picked from commit fd3fac0fb29dd093fc89cdbdd5de925a82595c5b)
2016-07-07MdeModulePkg: Replace UnicodeStrToAsciiStr/AsciiStrToUnicodeStrStar Zeng
It is the follow up of 3ab41b7a325ca11a12b42f5ad1661c4b6791cb49 to replace UnicodeStrToAsciiStr/AsciiStrToUnicodeStr with UnicodeStrToAsciiStrS/AsciiStrToUnicodeStrS. (We integrate the change for FrontPageCustomizedUiSupport.c in commit b68ccac17c7e6340ab7b3654ea51c86ad6b4201d on master to FrontPage.c on UDK2015 branch) (We integrate the change for BmBootDescription.c in commit b68ccac17c7e6340ab7b3654ea51c86ad6b4201d on master to BmBoot.c on UDK2015 branch) Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Eric Dong <eric.dong@intel.com> Cc: Feng Tian <feng.tian@intel.com> Cc: Ruiyu Ni <ruiyu.ni@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> (cherry picked from commit b68ccac17c7e6340ab7b3654ea51c86ad6b4201d)
2016-07-06MdeModulePkg PiDxeS3BootScriptLib: Use a specific name for mSmstStar Zeng
When a driver also uses a same name, there will be a link error: one or more multiply defined symbols found. Use a specific name for mSmst to avoid the link error. Cc: Jiewen Yao <jiewen.yao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> (cherry picked from commit a7636346cb59538c70be301c60c0cb0a320abb95)
2016-07-06MdeModulePkg DxeS3BootScriptLib: Check (mSmst != NULL) before freeing SMRAMStar Zeng
There is static scan tool reports BootScriptSave.c:628:'mSmst' is explicitly dereferenced. The patch is to check (mSmst != NULL) before freeing SMRAM at BootScriptSave.c:628. Cc: Shumin Qiu <shumin.qiu@intel.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Shumin Qiu <shumin.qiu@intel.com> (cherry picked from commit d6f38e374ece00f1f8176007c9d3e8eff1f2308f)
2016-07-06MdeModulePkg DxeS3BootScriptLib: Add DESTRUCTOR S3BootScriptLibDeinitializeStar Zeng
PiDxeS3BootScriptLib has a constructor S3BootScriptLibInitialize() that registers ready-to-lock callback S3BootScriptSmmEventCallBack() and several more. The library is linked to SMM modules. If the module entry-point function returns error (because of lack of resources, unsupported, whatever), the module will be unloaded and the notify callback pointers will point to undefined memory. On ready-to-lock exception occurs when calling S3BootScriptSmmEventCallBack(), and probably all the other callbacks registered by the constructor would also cause exception. This patch is to implement library Destructor to free the resources allocated by S3BootScriptLibInitialize() and unregister callbacks. Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Tested-by: Laszlo Ersek <lersek@redhat.com> (cherry picked from commit cfd79783d603bb2db98ffa0a370bea572724d51c)
2016-07-06MdeModulePkg SmmLockBoxSmmLib: Add DESTRUCTOR SmmLockBoxSmmDestructorStar Zeng
SmmLockBoxSmmLib is linked to SMM modules. If the module entry-point function returns error, the module will be unloaded and the global variables will point to undefined memory. This patch is to add DESTRUCTOR SmmLockBoxSmmDestructor to uninstall SmmLockBoxCommunication configuration table if it has been installed in Constructor. Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Tested-by: Laszlo Ersek <lersek@redhat.com> (cherry picked from commit 738df706c1192a546bd88f017dc00d263f2bc1c2)
2016-07-06MdeModulePkg SmmLockBoxSmmLib: Fix typo in SmmLockBoxSmmConstructuorStar Zeng
SmmLockBoxSmmConstructuor should be SmmLockBoxSmmConstructor. Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Tested-by: Laszlo Ersek <lersek@redhat.com> (cherry picked from commit da9d39c28ee24dde172616fe05ce3c252223b01c)
2016-07-06MdeModulePkg-FPDT(4): Use fixed buffer for SMM_PERF_COMMUNICATE in PerfLib.Liming Gao
This patch enhance performance data SMM communication by using fixed SMM communication buffer. Update PerformanceLib to use fixed SMM communication buffer to get performance data by SMM_PERF_COMMUNICATE API. This is designed to meet Microsoft WSMT table definition on FIXED_COMM_BUFFERS requirement. Cc: Liming Gao <liming.gao@intel.com> Cc: Feng Tian <feng.tian@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Feng Tian <feng.tian@intel.com> (cherry picked from commit de2459d66d87eb526e3a21f1e6682fac8e1926c5)
2016-05-19MdeModulePkg: Revert 54707a6bc7a627660f742c1111763d9e093184a6Jeff Fan
MdeModulePkg: VarCheckUefiLib: Add DeployedMode/AuditMode var check logic DeployedMode & AuditMode are UINT8 Global variable according to Enable Secure Boot feature defined in UEFI2.5 Mantis 1263. Add them to var check list. https://mantis.uefi.org/mantis/view.php?id=1263 (Sync patch r19131 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Chao Zhang <chao.b.zhang@intel.com> Reviewed-by: Zeng Star <star.zeng@intel.com>
2016-03-04MdeModulePkg/PciHostBridgeLib: Correct the function header commentsRuiyu Ni
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Shumin Qiu <shumin.qiu@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Qiu Shumin <shumin.qiu@intel.com> (cherry picked from commit eea222ced0f8b40b2b02e9da31cca33ca6688faf)
2016-03-04MdeModulePkg: PciHostBridgeLibNull: rewrap source to 79 charactersLaszlo Ersek
Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Marcel Apfelbaum <marcel@redhat.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com> (cherry picked from commit 9b6b938538076116768ee9b8e4d52d0cb51dcc8c)
2016-03-03MdeModulePkg PiDxeS3BootScriptLib: Use PcdSet64S to instead of PcdSet64Star Zeng
PcdSet## has no error status returned, then the caller has no idea about whether the set operation is successful or not. PcdSet##S were added to return error status and PcdSet## APIs were put in ifndef DISABLE_NEW_DEPRECATED_INTERFACES condition. To adopt PcdSet##S and further code development with DISABLE_NEW_DEPRECATED_INTERFACES defined, we need to Replace PcdSet## usage with PcdSet##S. Normally, DynamicDefault PCD set is expected to be success, but DynamicHii PCD set failure is a legal case. For this case, PcdS3BootScriptTablePrivateDataPtr and PcdS3BootScriptTablePrivateSmmDataPtr are expected to be DynamicDefault, so use PcdSet64S to instead of PcdSet64 and assert when set failure. Cc: Jiewen Yao <jiewen.yao@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: Jiewen Yao <jiewen.yao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18599 6f19259b-4bc3-4df7-8a09-765794883524 (cherry picked from commit ca49b6f9bfcf74da90bf500f3f81d702aa4be6cc)
2016-02-23MdeModulePkg: Add PciHostBridgeLibNullRuiyu Ni
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Feng Tian <feng.tian@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19656 6f19259b-4bc3-4df7-8a09-765794883524 (cherry picked from commit 7ff66d3c4a38435e045aa07714ffe69e25d2ff70)
2015-12-23MdeModulePkg: Add SmmIpmiLibSmmIpmiProtocol Library Instance.Daocheng Bu
Add SmmIpmiLibSmmIpmiProtocol Library Instance based on Ipmi smm protocol in SMM mode. In V5, change for code style. (Sync patch r19490 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Daocheng Bu <daocheng.bu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19499 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-23MdeModulePkg: Add DxeIpmiLibIpmiProtocol Library Instance.Daocheng Bu
Add DxeIpmiLibIpmiProtocol Library Instance based on Ipmi Protocol in DXE phase. In V5,change for coding style. (Sync patch r19489 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Daocheng Bu <daocheng.bu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19498 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-23MdeModulePkg: Add PeiIpmiLibIpmiPpi Library Instance.Daocheng Bu
Add PeiIpmiLibIpmiPpi Library Instance based on Ipmi Ppi. In V5, change for code style. (Sync patch r19488 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Daocheng Bu <daocheng.bu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19497 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-23MdeModulePkg: Add BaseIpmiLib Null Library Instance.Daocheng Bu
Add BaseIpmiLib Null Library Instance for BMC-LESS platform. In V5, change for coding style. (Sync patch r19487 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Daocheng Bu <daocheng.bu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19496 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-21MdeModulePkg: Clean code to follow C Coding style.Zhang Lubo
Clean code to follow C Coding style. (Sync patch r18943 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Zhang Lubo <lubo.zhang@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19426 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-17MdeModulePkg:Fix a bug HttpLib can't parse last chunked data wellZhang Lubo
When HttpLib parsing the last chunked data down, the Http NextMsg pointer in the HttpBodyParserCallback function should point to the character after '/n' flag. (Sync patch r19310 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Zhang Lubo <lubo.zhang@intel.com> Reviewed-by: Fu Siyuan <siyuan.fu@intel.com> Reviewed-by: Ye Ting <ting.ye@intel.com> Reviewed-by: Wu Jiaxin <jiaxin.wu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19324 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-10MdeModulePkg: VarCheckUefiLib: Add DeployedMode/AuditMode var check logicChao Zhang
DeployedMode & AuditMode are UINT8 Global variable according to Enable Secure Boot feature defined in UEFI2.5 Mantis 1263. Add them to var check list. https://mantis.uefi.org/mantis/view.php?id=1263 (Sync patch r19131 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Chao Zhang <chao.b.zhang@intel.com> Reviewed-by: Zeng Star <star.zeng@intel.com> Reviewed-by: Long Qin <qin.long@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19187 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-01MdeModulePkg/BDS: Do not pass unnecessary option to boot optionRuiyu Ni
BDS puts a special GUID in boot option optional data for auto-discovered boot option. But when launching that boot option, the BDS core unconditionally pass the special GUID to the executable. A good written application/OS loader can ignore the unexpected parameters, but BDS core should still avoid passing the unnecessary GUID. (Sync patch r19007 from main trunk.) 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/branches/UDK2015@19072 6f19259b-4bc3-4df7-8a09-765794883524
2015-11-30MdeModulePkg BaseSerialPortLib16550:Implement Get(Set)Control/SetAttributesStar Zeng
(Sync patch r18965 from main trunk.) Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Feng Tian <feng.tian@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19015 6f19259b-4bc3-4df7-8a09-765794883524
2015-11-30MdeModulePkg BaseSerialPortLib16550: Fix typo in SerialPortWrite()Star Zeng
The "read" word in SerialPortWrite() header comment block should be "write". (Sync patch r18910 from main trunk.) Cc: Michael D Kinney <michael.d.kinney@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: Michael D Kinney <michael.d.kinney@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19011 6f19259b-4bc3-4df7-8a09-765794883524
2015-11-25MdeModulePkg/UefiBootManagerLib: Always create MemoryTypeInfo variableRuiyu Ni
Align to old BDS behavior (IntelFrameworkModulePkg/BDS) to always create MemoryTypeInfo variable regardless of the PcdResetOnMemoryTypeInformationChange value. (Sync patch r18926 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Michael Kinney <michael.d.kinney@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@18939 6f19259b-4bc3-4df7-8a09-765794883524
2015-11-20Rollback the changes from r18879 - r18886.Jeff Fan
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Fan <jeff.fan@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@18911 6f19259b-4bc3-4df7-8a09-765794883524
2015-11-18MdeModulePkg: Change BootLogoEnableLogo use INTN for minus valueRuiyu Ni
The parameter name is also changed from Coordinate* to Offset* to reflect that it's the offset to the location specified by Attribute. For example, when the Attribute is Center, OffsetX and OffsetY are used to specify the offset to the Center. OffsetX = 100 means 100 pixels right to the Center. (Sync patch r18867 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Feng Tian <feng.tian@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@18886 6f19259b-4bc3-4df7-8a09-765794883524
2015-11-18MdeModulePkg/BmpImageDecoderLib: Support ImageFormatUnknown typeRuiyu Ni
Enhance the library to handle unknown image format. (Sync patch r18774 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Feng Tian <feng.tian@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@18884 6f19259b-4bc3-4df7-8a09-765794883524
2015-11-18MdeModulePkg: Add BootLogoLib to provide interfaces about logo display.Ruiyu Ni
(Sync patch r18772 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Feng Tian <feng.tian@intel.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@18882 6f19259b-4bc3-4df7-8a09-765794883524
2015-11-18MdeModulePkg: Add BmpImageDecoderLib to provide BMP decoding capabilityRuiyu Ni
(Sync patch r18771 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Feng Tian <feng.tian@intel.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@18881 6f19259b-4bc3-4df7-8a09-765794883524
2015-11-18MdeModulePkg: Add ImageDecoderLib to provide image decoding service.Ruiyu Ni
The library itself doesn't provide any image decoding capabilities but manages the different image decoders. (Sync patch r18770 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Feng Tian <feng.tian@intel.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@18880 6f19259b-4bc3-4df7-8a09-765794883524
2015-11-18MdeModulePkg:Fix a bug that HttpLib can not parse Ipv6 address correctly.Zhang Lubo
When parsing the authority component of the input URL, it can not distinguish the ":" is the flag that indicates the port or the separator between the ipv6 address. (Sync patch r18744 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Zhang Lubo <lubo.zhang@intel.com> Reviewed-by: Fu Siyuan <siyuan.fu@intel.com> Reviewed-by: Wu Jiaxin <jiaxin.wu@intel.com> Reviewed-by: Gary Ching-Pang Lin <glin@suse.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@18875 6f19259b-4bc3-4df7-8a09-765794883524
2015-11-16MdeModulePkg VarCheckLib: R18611 was thoughtless for property setStar Zeng
R18611 only updated the logic to return correct property when no property set to variable with wildcard name. But VariablePropertySet needs the pointer of property data for set. So roll back the change in VariablePropertyGetWithWildcardName at R18611, and check the property revision first in VariablePropertyGet and SetVariableCheck before using the property data. (Sync patch r18626 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@18802 6f19259b-4bc3-4df7-8a09-765794883524
2015-11-16MdeModulepkg VarCheckLib: Return NULL when no property setStar Zeng
to variable with wildcard name. VarCheckLib has zeroed property for variable with wildcard name and is waiting for property set. The code should return NULL when no property set to variable with wildcard name, but not return the zeroed property that will impact the functionality of SetVariableCheck. The issue does not appear with VarCheckUefiLib linked as the library just has the expected property set. (Sync patch r18611 from main trunk.) Cc: Jiewen Yao <jiewen.yao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@18796 6f19259b-4bc3-4df7-8a09-765794883524
2015-11-16MdeModulePkg UefiBootManagerLib: Do not assume perf entry count has no changeStar Zeng
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". (Sync patch r18561 from main trunk.) 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/branches/UDK2015@18789 6f19259b-4bc3-4df7-8a09-765794883524
2015-11-16MdeModulePkg: Add SMBIOS 3.0 support in NetLibGetSystemGuid.Samer El-Haj-Mahmoud
NetLibGetSystemGuid gets the UUID from SMBIOS table to use as the System GUID (in DHCP and other network use cases). This change adds support to get the UUID from either SMBIOS 2.x or 3.0, since SMBIOS 3.0 uses a different GUID in the System Configuration Table. (Sync patch r18559 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Samer El-Haj-Mahmoud <samer.el-haj-mahmoud@hpe.com> Reviewed-by: Fu Siyuan <siyuan.fu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@18787 6f19259b-4bc3-4df7-8a09-765794883524
2015-09-17MdeModulePkg:Fix the bug the incorrect change of StrCpyS functionDandan Bi
The pointer to the destination string changed,the max length also changed.Previous change neglect this point. And base on the code logic,we can use StrCatS to replace StrCpyS.Now this patch is to fix this bug. (Sync patch r18497 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Eric Dong <eric.dong@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@18498 6f19259b-4bc3-4df7-8a09-765794883524
2015-09-15MdeModulePkg PiDxeS3BootScriptLib: Remove a hidden assumption.Star Zeng
What to do: 1. Remove a hidden assumption "No SMM driver writes BootScript between SmmReadyToLock and S3SleepEntryCallback". 1.1. Use SmmExitBootServices and SmmLegacyBoot notification to record AtRuntime flag. 1.2. Use mBootScriptDataBootTimeGuid LockBox to save boot time boot script data to handle potential INSERT boot script at runtime in SMM. 2. Do not depend on OS to help restore ACPINvs data and use EfiReservedMemoryType instead of EfiACPIMemoryNVS. 2.1. Use mBootScriptSmmPrivateDataGuid LockBox to save boot script SMM private data with BackFromS3 = TRUE at runtime. S3 resume will help restore it to tell the Library the system is back from S3. Why to do: 1. The hidden assumption "No SMM driver writes BootScript between SmmReadyToLock and S3SleepEntryCallback" will cause confusion to the library's consumer and block the usage of "SMM driver writes BootScript after SmmReadyToLock". So Remove the assumption. 2. In original code, there might be a corner case that malicious code patch ACPINvs boot TableLength field same as SMM boot script. So that it can skip the table restore. The impact is that BootScript in SMM may be overridden by malicious code. -------------------- CopyMem ((VOID*)&TableHeader, (VOID*)mS3BootScriptTablePtr->TableBase, sizeof(EFI_BOOT_SCRIPT_TABLE_HEADER)); if (mS3BootScriptTablePtr->TableLength + sizeof(EFI_BOOT_SCRIPT_TERMINATE) != TableHeader.TableLength) { // TableLength is in NVS ...... // // NOTE: We should NOT use TableHeader.TableLength, because it is already updated to be whole length. // mS3BootScriptTablePtr->TableLength = (UINT32)(mLockBoxLength - sizeof(EFI_BOOT_SCRIPT_TERMINATE)); ? This line can be skipped. -------------------- So use EfiReservedMemoryType instead of EfiACPIMemoryNVS as the code has been updated to not depend on OS to help restore ACPINvs data. (Sync patch r18467 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@18474 6f19259b-4bc3-4df7-8a09-765794883524
2015-09-09MdeModulePkg: Fix a performance data buffer overrun issueRuiyu Ni
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. (Sync patch r18417 from main trunk.) 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/branches/UDK2015@18420 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-28MdeModulePkg: Remove unused variables from both UefiBootManagerLib and ↵Sunny Wang
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-28MdeModulePkg: Add the missing module UNI files.Liming Gao
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Feng Tian <feng.tian@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18342 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-27MdeModulePkg: Replace deprecated function.Eric Dong
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-27MdeModulePkg: Convert the UNIX to DOS end of line formatJiaxin Wu
Convert the UNIX to DOS end of line format. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18324 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-25MdeModulePkg: Fix UefiBootManagerLib.inf license header.Ruiyu Ni
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-25MdeModulePkg: Add PlatformVarCleanupLib libraryStar Zeng
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18295 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-25MdeModulePkg: Add VarCheckPcdLib NULL class libraryStar Zeng
The check will be based on PcdVarCheck binary that generated by BaseTools. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18294 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-25MdeModulePkg: Add VarCheckHiiLib NULL class libraryStar Zeng
The check will be based on VarCheckHiiBin that generated from FV and Hii Database. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18293 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-25MdeModulePkg: Add VarCheckUefiLib NULL class libraryStar Zeng
What to do: Implement VarCheckUefiLib NULL class library instance. The code logic are separated from Variable driver, and it will consume VarCheckLib to register var check handler and variable property set for UEFI defined variables. Why to do: Share code. Separate variable check UEFI code from Variable driver in MdeModulePkg. We are going to separate generic software logic code from Variable Driver to benefit other variable driver implementation. Auth services has been done to be AuthVariableLib, now to cover variable check service. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18279 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-25MdeModulePkg: Add VarCheckLib libraryStar Zeng
What to do: 1. Add VarCheckLib LibraryClass definitions. 2. Implement VarCheckLib library instance. The code logic are separated from Variable driver. Why to do: Share code. Separate variable check service from Variable driver in MdeModulePkg. We are going to separate generic software logic code from Variable Driver to benefit other variable driver implementation. Auth services has been done to be AuthVariableLib, now to cover variable check service. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18278 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-12MdeModulePkg: Add codes to support trailer parse in HttpLib.Zhang Lubo
In HttpLib, the Event BodyParseComplete should return to the callback function when the whole message body has been parsed including the trailer if it has. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Zhang Lubo <lubo.zhang@intel.com> Reviewed-by: Ye Ting <ting.ye@intel.com> Reviewed-by: Wu Jiaxin <jiaxin.wu@intel.com> Reviewed-by: Fu Siyuan <siyuan.fu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18213 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-07MdeModulePkg: Use monotonic count to initialize the NetLib random seed.Fu Siyuan
NetRandomInitSeed() function use current time to initialize the random seed, while in some platform the time service is not accuracy that make the random seed collision. This patch add the monotonic count to the seed to avoid this. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Fu Siyuan <siyuan.fu@intel.com> Reviewed-by: Jiaxin Wu <jiaxin.wu@intel.com> Reviewed-by: Ye Ting <ting.ye@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18185 6f19259b-4bc3-4df7-8a09-765794883524