Commit Graph

235 Commits

Author SHA1 Message Date
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
erictian d60c5b3127 remove unreasonable package dependency relationship.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9929 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-04 09:17:15 +00:00
rsun3 d2f9134515 Fix a bug in HII thunk that ThunkCallback does not support callback for a text tag with interactive flag in a Framework form.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9895 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-01 04:06:24 +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
jchen20 ba9978cff2 fix the typo error for the name of BootScriptSaveOnS3SaveStateThunk thunk driver
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9813 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-26 01:15:26 +00:00
jchen20 2f73ba81f9 fix the typo error for the name of BootScriptSaveOnS3SaveStateThunk thunk driver
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9812 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-26 01:09:32 +00:00
jchen20 52cbe44918 Add BootScriptSaveOnS3SaveStateTunk thunk driver to Integrated S3 thunk code. .
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9808 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-25 09:31:22 +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
lgao4 6d207823bf Only check the unsupported IFR opcode for framework HII form package.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9659 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-31 10:36:54 +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