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