summaryrefslogtreecommitdiffstats
path: root/IntelFrameworkModulePkg/Library/GenericBdsLib/Performance.c
Commit message (Collapse)AuthorAgeFilesLines
* IntelFrameworkModulePkg/GenericBdsLib: Remove the useless Perf codesDandan Bi2018-02-121-313/+0
| | | | | | | | | | | | | | Our new performance infrastructure (edk2 trunk commit hash value: SHA-1: 73fef64f14d1b97ae9bd4705df3becc022391eba ~ SHA-1: 115eae650bfd2be2c2bc37360f4a755065e774c4) can support to dump performance date form ACPI table in OS. So we can remove the old perf code to write performance data to OS. Cc: Liming Gao <liming.gao@intel.com> Cc: Star Zeng <star.zeng@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
* IntelFrameworkModulePkg GenericBdsLib: Do not assume perf entry count has no ↵Star Zeng2015-09-301-78/+33
| | | | | | | | | | | | | | | | | | | | 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
* IntelFrameworkModulePkg GenericBdsLib: Resolve array size mismatchHao Wu2015-07-071-4/+4
| | | | | | | | | | | | | | | 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
* IntelFrameworkModulePkg GenericBdsLib: Use safe string functionsHao Wu2015-06-301-5/+5
| | | | | | | | | 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
* Move the memory allocation and variable set to BdsEntry, use VariableLock ↵lzeng142013-05-231-41/+20
| | | | | | | | | 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
* Align the perf data between FPDT and DP.lzeng142012-06-191-34/+55
| | | | | | | 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
* Update the copyright notice formathhtian2010-04-231-2/+2
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10414 6f19259b-4bc3-4df7-8a09-765794883524
* Assume Tick value 1 as the beginning time of boot.jgong52010-02-081-0/+12
| | | | | | | | | 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
* Performance.c in GenericBdsLib is updated not to filter log entries that ↵jgong52010-02-041-4/+30
| | | | | | don’t contain DXE handles. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9928 6f19259b-4bc3-4df7-8a09-765794883524
* 1. Log performance data below 4Gqhuang82009-08-141-25/+29
| | | | | | 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
* Do not use EfiACPIReclaimMemory type to log performance data because some OS ↵qhuang82009-08-111-1/+1
| | | | | | 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
* Update for the performance infrastructure changes:qhuang82009-02-231-2/+2
| | | | | | | 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
* Move BdsDxe and GenericBdsLib to IntelFrameworkModulePkg, these modules need ↵klu22009-01-231-0/+316
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