lzeng14
30522140a1
The unit of Duration for S3BootScriptSaveMemPoll() is us, but not ns, so update BootScriptExecuteMemPoll() to use MicroSecondDelay() instead of NanoSecondDelay(), and update BootScriptWriteMemPoll() to use S3BootScriptSaveMemPoll() correctly with possible minimum deviation.
...
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14048 6f19259b-4bc3-4df7-8a09-765794883524
2013-01-15 05:18:19 +00:00
lzeng14
2a956f7490
Detect some unsupported cases when save boot script, then return error early.
...
1. PciCfg Read/Write doesn't support UINT64 width.
2. PciCfg2 Segment must be zero.
Move CheckParameters () to BootScriptSave.c to check parameter early.
Add code for EfiSmbusBWBRProcessCall operation, and let the SmbusLib instance to decide if it is supported or not.
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14018 6f19259b-4bc3-4df7-8a09-765794883524
2012-12-24 06:58:13 +00:00
lzeng14
0f4e03dae4
Initialize Data.
...
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13998 6f19259b-4bc3-4df7-8a09-765794883524
2012-12-14 06:03:25 +00:00
lzeng14
30f804978a
1. Update IoRead to support UINT64 also.
...
2. To be consistent, update PciCfgRead to support full S3BootScriptWidth(Uint8, FifoUint8 and FullUint8) like PciCfgWrite.
3. Use BuildLoopData() to get the addressStride and BufferStride to do PCI CFG operations.
4. Correct, refine and enhance some comments and debug messages.
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13987 6f19259b-4bc3-4df7-8a09-765794883524
2012-12-10 12:54:02 +00:00
lzeng14
02f49fc23d
1. Duplicate the original boot script data copy, because it may have INSERT boot script at runtime in SMM. If so, we should use original copy to restore data after OS rewrites the ACPINvs region. Or the data inserted may cause some original boot script data lost.
...
2. Sync the change into LockBox for S3BootScriptMoveLastOpcode() at runtime in SMM.
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13986 6f19259b-4bc3-4df7-8a09-765794883524
2012-12-07 07:56:59 +00:00
lzeng14
3aa764ed74
Multi-SMM drivers couldn't save their boot script successfully all at runtime in SMM, one module's boot script will overwrite another module's.
...
Allocate a SMM copy for private data structure, and use a new PCD PcdS3BootScriptTablePrivateSmmDataPtr to transfer and share data between multi-SMM drivers.
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13984 6f19259b-4bc3-4df7-8a09-765794883524
2012-12-06 01:15:40 +00:00
lzeng14
93b21ade88
Fix the issue that S3BootScriptLabel() does not work to insert label when the specified position is not at the end of table.
...
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13979 6f19259b-4bc3-4df7-8a09-765794883524
2012-11-29 05:41:51 +00:00
lzeng14
879dbe18d8
Use mS3BootScriptTablePtr->TableLength + sizeof (EFI_BOOT_SCRIPT_TERMINATE) to get the correct table length.
...
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13977 6f19259b-4bc3-4df7-8a09-765794883524
2012-11-29 01:19:20 +00:00
lzeng14
8e4585bb6c
1. Add S3BootScriptDone Debug message when meeting S3_BOOT_SCRIPT_LIB_TERMINATE_OPCODE.
...
2. Add Label Opcode Debug message.
3. Align Debug message with code.
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13966 6f19259b-4bc3-4df7-8a09-765794883524
2012-11-27 11:26:28 +00:00
lzeng14
d03b313050
Add the memory check to reserve memory for TERMINATE opcode in S3BootScriptGetBootTimeEntryAddAddress.
...
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13965 6f19259b-4bc3-4df7-8a09-765794883524
2012-11-27 11:20:01 +00:00
lzeng14
e7a0d41940
Remove the unsupported SEC PEIM PEI_CORE module type from DxeS3BootScriptLib.
...
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@13898 6f19259b-4bc3-4df7-8a09-765794883524
2012-10-31 03:31:08 +00:00
lzeng14
ce68d3bc68
Add missing braces around initializer.
...
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Qian Ouyang <qian.ouyang@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13817 6f19259b-4bc3-4df7-8a09-765794883524
2012-10-11 02:15:23 +00:00
lgao4
e0e7f80cc3
Update code to pass build on VS2008 with /Od compiler option.
...
Signed-off-by: lgao4
Reviewed-by: rsun3
Reviewed-by: ftian
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12792 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-28 06:19:36 +00:00
jyao1
f6ec0c771a
In BootScriptSaver, put INFORMATION_OPCODE message to LockBox.
...
In BootScriptExecutor, add code to display this INFORMATION_OPCODE message.
Signed-off-by: jyao1
Reviewed-by: rsun3
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12735 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-17 09:35:20 +00:00
jyao1
960729473e
Follow PI1.2c spec, check empty string and return EFI_INVALID_PARAMETER.
...
Clean up comment according to PI1.2c spec.
signed-off-by: jyao1
reviewed-by: rsun3
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12690 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-14 06:28:40 +00:00
jljusten
64d14edfeb
MdeModulePkg: Add PiDxeS3BootScriptLib
...
Signed-off-by: jljusten
Reviewed-by: mdkinney
Reviewed-by: rsun3
Reviewed-by: jyao1
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12224 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-29 22:17:27 +00:00