Commit Graph

246 Commits

Author SHA1 Message Date
vanjeff 74f895276a 1. Consume Debug Agent Library to support debugging AP code based on PI MP protocol.
2. Copy LVT Timer setting from old BSP to new BSP when SwitchBsp() to make sure debug timer worked after bsp switched.
3. Save and restore old BSP's TSC value to new one.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10698 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-27 07:40:20 +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
jljusten 124969632b EdkCompatibilityPkg: Fix EFIAPI usage inconsistencies
These inconsistencies cause a build error for GCC 4.4 X64.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10587 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-15 02:46:49 +00:00
jljusten 19e2bfe8f0 ECP MpServicesOnFrameworkMpServicesThunk: Fix build with GCC
Add definitions for IdtrProfile (IA32) and IdtrLocation (X64) into
GCC assembly code files.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10586 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-15 02:46:22 +00:00
vanjeff de243ee444 1.Restore BSP IDT table to AP when AP wakeup.
2.Restore Virtual wire mode on AP when AP wakeup.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10575 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-11 08:24:01 +00:00
li-elvin 2788ff5116 Fix the issue that if OEM SMBIOS data includes string, it will cause SmbiosFldMiscTypeOEM buffer overflow.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10569 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-09 02:04:12 +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
lgao4 35a895c9f8 Remove the unnecessary top level header files in protocol header file.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10326 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-01 02:29:35 +00:00
lgao4 0cf8c2096e 1. Remove the duplicated contents from source files and INF file of PiSmmStatusCodeOnFrameworkSmmStatusCodeThunk module.
2. Add PiSmmStatusCodeOnFrameworkSmmStatusCodeThunk module into EdkCompatibilityPkg.dsc to verify its build on package level. 

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10319 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-27 05:21:43 +00:00
rsun3 dc2b05a200 Add PI SMM Status Code Protocol on Framework SMM Status Code Protocol thunk driver. This thunk driver produces PI SMM Status Code Protocol and SMM Report Status Code Handler Protocol and it registers a status code handler within itself to route status codes into Framework SMM Status Code Protocol.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10317 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-26 08:44:36 +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
xli24 50684330f5 Ensure GDT for APs is under 4G, in order to secure that APs can safely use it to switch from real mode to protected mode, as well as from protected mode to long mode.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10290 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-19 09:22:28 +00:00
rsun3 1329da4417 Add parameter check in SmmBase.Communicate().
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10289 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-19 08:39:40 +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
xli24 2ae0d1205f Refine Legacy Region thunk to comply with PI 1.2.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10279 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-18 08:37:20 +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
myronporter 5a65741f26 Correction to remove Apple lines from Disclaimers. These were introduced after r10220, indicating the copies of disclaimer with Apple lines are a corruption.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10247 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-15 16:37:21 +00:00
lgao4 eebe3bb831 Fix a issue to support the callback related to framework IFR REF opcode. Its callback type is EFI_IFR_TYPE_UNDEFINED according to the latest UEFI spec.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10241 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-14 07:09:37 +00:00
lgao4 61a2420125 Support Framework IFR SELECT OP code.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10240 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-14 07:07:46 +00:00
myronporter 634366733d Grammatical and disclaimer changes (does not follow internal C coding stds.)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10238 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-13 01:03:39 +00:00
hhuan13 1fafcca8b4 Update this module from DXE_DRIVER to DXE_RUNTIME_DRIVER and convert mSmmControl pointer upon GoVirtual().
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10227 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-10 07:15:40 +00:00
lgao4 8967d989f0 Add description for the added BootState guid.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10220 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-10 02:17:49 +00:00
niruiyu 6a18d37477 Add the BootState GUID to EdkCompatibilityPkg.dec and the accordingly GUID header file.
It’s to let the ECP platform boot in minimal mode in the non-first boot.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10217 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-10 00:29:47 +00:00
lgao4 59aefb7e0d Update HiiConfigAccess.ExtractConfig interface to support NULL request string and ConfigHdr request string.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10180 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-04 06:48:52 +00:00
lgao4 545312ad92 1. Correct coding comments.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10176 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-04 04:52:41 +00:00
lgao4 de558d9dfe Fix non-boolean comparison expression.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10165 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-03 05:40:19 +00:00
xli24 45590862be Add parameter checking for MP Services Protocol Thunk driver.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10147 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-01 09:50:10 +00:00
lgao4 8c5983b739 Add the missing check for NULL pointer before use it.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10140 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-01 07:56:48 +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
lgao4 771ececd12 Add the missing check for NULL pointer before use it.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10116 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-27 09:04:11 +00:00
klu2 b6624796ab Clean up EFI_SPECIFICATION_VERSION and PI_SPECIFICATION_VERSION.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10083 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-25 17:10:19 +00:00
xli24 2d7b3c0316 Add parameter checking for MP Services Protocol Thunk driver.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10070 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-25 10:37:09 +00:00
lgao4 234980f6e9 Add more check to avoid code enter into wrong state.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10068 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-25 10:08:54 +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 6a8241983d Add new HII FormMap Opcode support
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10065 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-25 03:10:54 +00:00
lgao4 2cc3055dd9 Correct Copyright year format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10053 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-24 01:41:56 +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 f5501a6512 Change RegisterProtocolNotify for dependent protocols to [Depex] expression
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10036 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-21 20:55:00 +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
lgao4 548dda8f74 Support Name/Value Storage in UEFI2.1 HII driver.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9976 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-11 02:31:18 +00:00
rsun3 fb03ca1a3e Per Framework SMM CIS spec, SMM Base Protocol.Communicate() is availabe in runtime. In SmmBaseOnSmmBase2Thunk driver, implementation of Communicate() uses SMM Communication Protocol. The thunk driver caches a pointer to SMM Communication Protocol. This pointer needs to be converted on Virtual Address Change Event.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9966 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-10 08:30:51 +00:00
lgao4 995c594047 Correct BlockSize when call ConfigToBlock API.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9953 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-09 06:29:37 +00:00