Commit Graph

12 Commits

Author SHA1 Message Date
Star Zeng 201d2d21bd IntelFrameworkModulePkg GenericBdsLib: 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 R18417 "MdeModulePkg: Fix a performance data buffer overrun issue".

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@18562 6f19259b-4bc3-4df7-8a09-765794883524
2015-09-30 04:30:34 +00:00
Hao Wu cce50970ce IntelFrameworkModulePkg GenericBdsLib: Resolve array size mismatch
Match the size of array GaugeString defined in function
WriteBootToOsPerformanceData() with the size of field 'Token' defined in
struct PERF_DATA in MdeModulePkg\Include\Guid\Performance.h.

Doing so will ensure the size consistency when doing StrCpyS() between
PERF_DATA.Token and GaugeString (like here in Performance.c).

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17851 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-07 06:13:53 +00:00
Hao Wu ed6d22e0f2 IntelFrameworkModulePkg GenericBdsLib: Use safe string functions
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17733 6f19259b-4bc3-4df7-8a09-765794883524
2015-06-30 06:25:54 +00:00
lzeng14 f6c07313d1 Move the memory allocation and variable set to BdsEntry, use VariableLock protocol to lock the L”PerfDataMemAddr” variable and prevent malware to update it.
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14386 6f19259b-4bc3-4df7-8a09-765794883524
2013-05-23 02:56:41 +00:00
lzeng14 26c0ba7799 Align the perf data between FPDT and DP.
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13461 6f19259b-4bc3-4df7-8a09-765794883524
2012-06-19 14:43:33 +00:00
hhtian 180a5a35cb Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10414 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-23 16:28:26 +00:00
jgong5 07341a33f2 Assume Tick value 1 as the beginning time of boot.
This is part of the fix of #202075 to make sure the usage model below doesn’t break:
PERF_START (0, “Token1”, “Module1”, 1);
PERF_END (0, “Token1”, Module1”, 0);


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9943 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-08 02:12:47 +00:00
jgong5 b5a144ec6a Performance.c in GenericBdsLib is updated not to filter log entries that don’t contain DXE handles.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9928 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-04 04:32:09 +00:00
qhuang8 02c9c47027 1. Log performance data below 4G
2. Reuse the allocated data region if it's already allocated

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9072 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-14 05:58:46 +00:00
qhuang8 d32fb62383 Do not use EfiACPIReclaimMemory type to log performance data because some OS might reuse that memory. Maybe EfiReservedMemoryType is the best solution for that usage model.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9053 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-11 16:15:29 +00:00
qhuang8 6055758f87 Update for the performance infrastructure changes:
1. Use raw string for performance tokens
2. Reuse gPerformanceProtocolGuid as performance variable paring GUID

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7576 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-23 03:15:57 +00:00
klu2 5c08e11737 Move BdsDxe and GenericBdsLib to IntelFrameworkModulePkg, these modules need dependent on gEfiLegacyBiosProtocol to provide legacy boot support. But legacy boot is not described by PI/UEFI specification.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7354 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-23 07:24:55 +00:00