Laszlo Ersek
beca921d98
EdkCompatibilityPkg: SmmBaseHelper: remove set but unused variables
...
This patch also eliminates an AsmReadCr3() call in PageFaultHandler(), but
that should not be a problem.
Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
2016-03-25 10:52:13 +01:00
Liming Gao
dd62310aaf
EdkCompatibilityPkg: Fix GCC error to avoid the duplicated global variables
...
SmmBaseHelper uses the same name global variables to the one in
SmmMemoryAllocateLib. Update SmmBaseHelper to use SmmMemLib
SmmIsBufferOutsideSmmValid().
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19337 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-18 02:28:18 +00:00
Star Zeng
071586ee47
EdkCompatibilityPkg SmmBaseHelper: Unregister profile image correctly.
...
Call UnregisterSmramProfileImage() before image buffer freed.
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@17599 6f19259b-4bc3-4df7-8a09-765794883524
2015-06-09 09:42:15 +00:00
Star Zeng
09fc7dbb94
EdkCompatibilityPkg: Add UEFI memory and SMRAM profile support.
...
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@16336 6f19259b-4bc3-4df7-8a09-765794883524
2014-11-12 03:30:11 +00:00
Tian, Hot
2b53e39435
Fix CRLF format
...
Signed-off-by: Tian, Hot <hot.tian@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15172 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-23 05:27:14 +00:00
lzeng14
9d00d20ed4
1. Use the check IsAddressValid() to prevent SMM communication buffer overflow in SmmVariable, FtwSmm, FpdtSmm, SmmCorePerformance and SmmBaseHelper, and add check to prevent InfoSize overflows in SmmVariableHandler.
...
2. Refine the debug message.
3. Add check to make sure the input VariableName is A Null-terminated string.
4. Use local variable to hold StrSize (VariableName) to avoid duplicated StrSize calculation.
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Reviewed-by: Chao Zhang <chao.b.zhang@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14317 6f19259b-4bc3-4df7-8a09-765794883524
2013-04-25 10:49:45 +00:00
vanjeff
53c76a6478
Save/Restore missing volatile registers (XMM0-5) save/restore in Page Fault handler.
...
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13974 6f19259b-4bc3-4df7-8a09-765794883524
2012-11-28 04:49:48 +00:00
rsun3
d5bcf13e1d
EdkCompatibilityPkg SmmBaseHelper: In SmmHandlerEntry(), add check to ensure CommBuff+CommBuffSize is outside of SMRAM.
...
Signed-off by: Sun Rui <rui.sun@intel.com>
Reviewed-by: Yao Jiewen <jiewen.yao@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13472 6f19259b-4bc3-4df7-8a09-765794883524
2012-06-26 05:37:34 +00:00
rsun3
743ee63f93
EdkCompatibilityPkg SmmBaseHelper: Fix PageFaultHandlerHook assembly code to use AL register for return value from PageFaultHandler().
...
Signed-off-by: rsun3
Reviewed-by: vanjeff
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12466 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-28 09:00:06 +00:00
rsun3
2e7c8ac41d
Enhance the SmmBaseHelper driver to support changing SMBASE/IORestart/AutoHALTRestart CPU Save State registers for Framework SMM driver.
...
Signed-off-by: rsun3
Reviewed-by: jfan12
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12230 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-30 09:12:43 +00:00
andrewfish
271d2c7f99
EdkCompatabilityPkg: Fix build issues with X64 clang
...
Removed passing VA_LIST and some assembly language compatability issues. Did not fix ReportStatusCode passing VA_LIST (non-ANSI C Code), and some of the assembler was not not ported and int 3 was inserted, as it likely is not needed.
signed-off-by: andrewfish
reviewed-by: lgao4
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12006 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-12 02:57:30 +00:00
rsun3
5b9fc2f089
SmmBaseHelper: Update MP state in Framework SMST before transferring control to Framework SMM driver entry point.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10802 6f19259b-4bc3-4df7-8a09-765794883524
2010-08-17 09:43:50 +00:00
rsun3
6a60f8cb11
Fix a bug in SmmBaseHelper driver that the JMP instruction which jumps to the original page fault handler is incorrect.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10681 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-22 06:29:29 +00:00
hhtian
584d565227
Update the copyright notice format
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10419 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-24 09:48:54 +00:00
lgao4
983ae8cee2
Add the correct check for the return value before use them.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10396 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-22 02:59:29 +00:00
lgao4
9af300fc22
Correct data conversion from pointer to integer.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10358 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-12 02:49:28 +00:00
lgao4
e319b2ded9
Add the blank line at the end of file to pass ICC compiler.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10357 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-12 02:12:28 +00:00
lgao4
e9ba23c77d
1. Add the missing function headers.
...
2. Update local variable name to match coding style.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10355 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-09 09:15:50 +00:00
jgong5
097e25cbaf
Add function comments and refine function parameter IN OUT.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10329 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-02 02:53:41 +00:00
jgong5
ff443d3ebd
Use on-demand paging for CpuSaveStates read/write. It was measured about 200us for either read or write the PI CpuSaveStates to framework, ~400us in total on a platform with 80 CPUs with original for loop implementation. So with on-demand paging, if the framework SMI handler doesn’t read/write CpuSaveStates, ~400us will be saved. If the handler happens to use CpuSaveStates, there will be about 20us overhead for either read or write a page which contains 5 continuous CpuSaveStates.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10328 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-02 01:39:19 +00:00
rsun3
8edfbe027c
Security enhancement to SMM Base thunk drivers: Framework SMM drivers can't be loaded after SMRAM is locked.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10316 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-26 08:41:06 +00:00
rsun3
33f30f1ee3
NumberOfCpus and SmmStartupThisAp field in Framework SMST should be updated per PI SMST at SMM runtime context. These two fields in PI SMST are not guaranteed to be valid at SMM initialization phase.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10285 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-19 06:49:00 +00:00
rsun3
18e7892763
Update SmmBase Communicate Thunk behaivor to be compatible with Framework implemenation.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10271 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-18 02:01:32 +00:00
rsun3
673c149801
Remove the implementation limitation in the SmmBaseHelper driver that it assumes the Framework SMM driver to be loaded has a copy in memory.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10258 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-17 02:06:04 +00:00
lgao4
26a76fbcb2
Update code to match EDKII coding style.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10130 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-01 03:26:19 +00:00
rsun3
bade9bf5b2
Fix the bug that SMM Base Protocol.Communicate() does not work.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10067 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-25 09:23:44 +00:00
lgao4
6bfbb5f0e0
1. Correct File header to ## @file
...
2. Remove unnecessary .common] postfix on section.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10052 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-24 00:21:16 +00:00
mdkinney
e906eae4a5
Add [depex] on gEfiMpServiceProtocolGuid so the number of CPUs is known
...
Add [depex] on gEfiSmmCpuIo2Protocol so we know that the SMM CPU I/O 2 Protocol in the PI SMST is valid
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10037 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-21 20:56:40 +00:00
mdkinney
27af6f9d0a
Use Memory Allocation Library instance for modules of type DXE_SMM_DRIVER
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10015 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-16 04:07:39 +00:00
mdkinney
a7932d9a1a
Clean up module to use SMM CPU Save State Protocol definitions from IntelFrameworkPkg instead of duplicating definitions in this module.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9843 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-27 23:11:00 +00:00
rsun3
17d2c9a3af
Coding style fix.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9689 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-07 13:43:40 +00:00
rsun3
f76edcfd29
Fix bugs in SmmBaseHelper driver.
...
1. Should use sizeof(EFI_SMM_CPU_SAVE_STATE) instead of sizeof (EFI_SMI_CPU_SAVE_STATE) to allocate buffer for CpuSaveState in Framework SMST;
2. The type of Width parameter for ReadSaveState() and WriteSaveState() functions of SMM CPU Protocol is UINTN instead of an enumeration type.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9678 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-05 09:28:48 +00:00
rsun3
d338a721cb
Remove dependency on include file in package outside of EKD2.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9658 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-31 09:07:19 +00:00
rsun3
9e62071910
Add 4 Framework/PI SMM thunk drivers. Combined use of these drivers can support usage model of PI SMM infrastructure + Framework Chipset SMM code + Framework platform SMM code in ECP platforms.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9657 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-31 08:42:28 +00:00