rsun3
35f9e94ed4
Add a missing parameter description in the function header for CoreFindFreePagesI().
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10589 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-17 07:18:53 +00:00
mdkinney
2345e7d4a4
1) Improve how memory usage is tracked in DXE Core
...
2) Update GetMemoryMap() to merge adjacent memory descriptors with identical types and attributes.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10579 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-14 23:21:26 +00:00
lgao4
0e4483bc69
Fix DxeCore Dispatch Issue that DXE drivers may not be dispatched if they depend on the protocols produced by SMM driver.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10491 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-14 08:27:28 +00:00
mdkinney
ef05e06350
1) Fix IPF ICC 11.1 issue when /Ox is used related to the use of local variables and parameter across the transition when TEMP RAM is disabled.
...
2) Update the logic that computes the offset of the heap and stack from TEMP RAM to Permanent RAM to handle all possible offsets values.
3) Minor cleanups to the PEI_CORE_INSTANCE structure
4) Simplify the logic that manages the TEMP RAM to PERM RAM transition and clean up the related DEBUG() messages.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10481 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-11 22:11:31 +00:00
xdu2
c16f9cc33d
Minor comment update.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10477 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-10 02:49:38 +00:00
mdkinney
4da3058929
Fix ICC 11.1 build break
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10467 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-07 23:25:20 +00:00
lgao4
d7aaf1dcb5
Use new API GetSectionFromAnyFvByFileType() of MdePkg DxeServicesLib library to get PE data of SMM_CORE driver.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10457 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-05 01:58:36 +00:00
hhtian
cd5ebaa06d
Update the copyright notice format
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10420 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-24 09:49:11 +00:00
niruiyu
3140ceda76
Fix a bug that FV->ReadSection cannot get the EFI_SECTION_GUID_DEFINED type section data.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10384 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-21 02:40:36 +00:00
klu2
c5d00b30c1
Fix the issue that GCC treat enum type as unsigned int which incompatible with UEFI spec's INT32.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10347 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-07 02:33:16 +00:00
jljusten
b295dfd486
MdeModulePkg: Fix warning with VS2005 toolchain on IA32
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10338 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-05 03:43:36 +00:00
jgong5
38c7df9848
Avoid DEBUG_CLEAR_MEMORY clearing MemoryMap internal structure.
...
In CoreFreePages(), the following sequence might break the MemoryMap internal structure:
CoreConvertPages() -> CoreFreeMemoryMapStack() -> AllocateMemoryMapEntry() -> CoreAllocatePoolPages() -> DEBUG_CLEAR_MEMORY()
CoreConvertPages() will call CoreFreeMemoryMapStack() after it adds the freed memory range, so the latter might use the just freed memory range when calling AllocateMemoryMapEntry(). But CoreFreePages() will call DEBUG_CLEAR_MEMORY() after CoreConvertPages(). This might clear up the memory map entry structure.
The fix calls DEBUG_CLEAR_MEMORY() just after freed memory range is added in CoreConvertPages(), which is safe.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10335 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-03 05:34:16 +00:00
jyao1
ab780ebf90
Change BufferSize from UINTN * to UINTN to eliminate pointer to pointer in SmmCore for security consideration.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10299 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-21 04:17:16 +00:00
jgong5
a5ca8fa772
Hold Memory Lock until DEBUG_CLEAR_MEMORY called in CoreFreePages().
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10284 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-19 04:22:35 +00:00
vanjeff
213fecefbb
1. update the definitions in debug agent library, rename DEBUG_AGENT_INIT_DXE to DEBUG_AGENT_INIT_DXE_CORE and add DEBUG_AGENT_INIT_S3.
...
2. disable debug timer interrupt in ExitBootServices().
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10239 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-13 16:52:46 +00:00
jchen20
b7250b714a
Fixed a bug in LMFA code
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10233 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-12 04:35:00 +00:00
vanjeff
df7aaeb998
roll back IDT_ENTRY counter to 32
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10229 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-11 02:04:04 +00:00
jchen20
9bfb494096
The patch attached is to fix the issue that LMFA feature is failed on OVMF. The root cause is that OVMF platform reserved 128k top memory range for EMU variable range before PEI memory range re-locate to specified memory range, which is quite different from real platform. The original implementation has an assumption that AllocatePage will NOT be invoked until PEI memory range is re-located to preassigned memory range, , which is TRUE in most real platform, but FALSE on OVMF platform. So This patch is to enhanced the memory resource HOB re-organization algorithm to eliminate the assumption.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10225 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-10 02:47:05 +00:00
qhuang8
4237d40b77
Minor update comment to remove unprintable character in source file.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10214 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-09 05:58:00 +00:00
jgong5
40e8cca588
Fix the SMRAM caching range base and size. The original code uses the biggest SMRAM range base and size to set the cache attribute by gDS->SetMemorySpaceAttributes(). This is not correct because the platform code might split the TSEG into several ranges. The fix searches and joins all the adjacent ranges to the biggest SMRAM range into a cacheable range so that TSEG can be cached as a whole.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10213 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-09 05:47:41 +00:00
rsun3
2d5ac15435
Fix a bug that a NULL pointer may be dereferenced.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10178 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-04 05:42:44 +00:00
jchen20
def75b5dad
Fix a bug in load modules at fixed address which may potentially impact OS S3.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10175 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-04 03:16:55 +00:00
jchen20
f73b3df815
Fix a bug in LMFA which may potentially impact OS S3.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10174 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-04 03:10:41 +00:00
hhuan13
1fc17d768f
Remove Size==0 branch in SmmAllocatePool()
...
The background is :
The SmmMemoryAllocationLib of one of the instance of MemoryAllocation library class. As in MdePkg comment for AllocatePool() : “If AllocationSize is 0, then a valid buffer of 0 size is returned.”,the SMM library implements AllocatePool by SMST service SmmAllocatePool which does NOT support the zero size.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10171 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-04 01:48:52 +00:00
rsun3
60cf9cfc14
Minor bug fix and robustness check improvement.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10168 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-03 09:40:16 +00:00
jchen20
3c447c2760
Enable "Load Module At fixed Address" feature in SMM Core
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10166 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-03 05:45:50 +00:00
jyao1
06b07ce37c
Change the minimal SMM core size from 1MB to 256KB-4K.
...
Some platforms only enable 1MB, after reserve 1 page for SMM S3. There is at most 1MB-4KB for SMM core.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10158 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-03 02:04:37 +00:00
hhuan13
52c0d06b94
Fix K8 scan issues
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10151 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-02 02:58:03 +00:00
klu2
ccf0f68d73
Add checking whether FvCount is overflow when new unknown FvInfoPpi is dispatched.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10146 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-01 08:59:00 +00:00
rsun3
2292758d5c
Minor coding style fix.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10145 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-01 08:38:46 +00:00
jchen20
77215d10c0
update DxeIpl to use EFI_S3_RESUME2_PPI instead of EFI_S3_RESUME_PPI
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10138 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-01 07:11:28 +00:00
mdkinney
3df4b6e7e9
Update PI SMM Core to ignore memory ranges from SMRAM Descriptors that are already allocated or not tested or not ECC initialized yet
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10132 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-01 05:32:59 +00:00
hhuan13
3c5963cf29
Update PiSmmCore:
...
1. Update PiSmmIpl.c DoCommunicate() to prevent exception in case call SmiManage directly if SMRAM is closed or locked. That case causes exception.
2. Update PiSmmCore.c SmmEntryPoint(). It is not required to save/restore InSmm. Because SMM is non-reentrant.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10131 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-01 04:29:21 +00:00
vanjeff
e7af83aece
1. Refine debug agent library.
...
2. DxeCore and DxeIpl consume debug agent library.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10119 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-27 17:04:12 +00:00
geekboy15a
3978f5d92b
Fixed GCC build issue caused by converting a pointer to an integer of a larger size.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10115 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-26 19:17:16 +00:00
xli24
64ca68027b
Add parameter checking for PEI service AllocatePages(), according to PI1.2 errata A.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10112 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-26 09:26:52 +00:00
rsun3
d2fbaaab17
Add more code robustness check for modules under MdeModulePkg.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10108 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-26 08:53:27 +00:00
jchen20
4fb720763c
Fix a bug in "Load module At fixed address" to enable it on IPF platform
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10106 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-26 07:43:00 +00:00
hhuan13
5b422a7bbd
Clean up PiSmmCore to pass K8 scan
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10098 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-26 04:35:23 +00:00
jgong5
34f60e4d77
Add EfiCpuArchProtocol dependency for PiSmmIpl module. The reason to add this is PiSmmIpl will call gDS->SetMemorySpaceAttributes() which will locate CPU Arch Protocol to set MTRRs. Without this dependency, the locate might fail and MTRRs are never set in this case.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10097 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-26 03:35:47 +00:00
mdkinney
e42e94041f
Add PI SMM IPL and PI SMM Core
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10094 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-25 23:41:19 +00:00
klu2
8976547970
Clean up EFI_SPECIFICATION_VERSION and PI_SPECIFICATION_VERSION.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10072 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-25 16:31:22 +00:00
vanjeff
b6d539c869
roll back changing on save and restore interrupt status, it needn't doing.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10060 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-24 08:30:53 +00:00
rsun3
12fbc893e4
Minor comment fix.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10058 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-24 08:09:39 +00:00
jgong5
f505090909
Avoid shadowing PE image read function on IPF
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10057 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-24 07:00:37 +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
cd539d485d
Fix comment
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10048 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-23 17:59:48 +00:00
jgong5
25973fc3ea
Enhance memory copy logic for PEI core image read. The change uses CopyMem() library function for unshadowed version and uses inline implementation for a shadowed version. This reduces PE image reading time to 1/5 - 1/10 when code cache is disabled. The change also fixed a memory leak when allocating shadow space for image read function.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10038 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-22 05:48:06 +00:00
andrewfish
3351d21fe1
Cleanup HOB DEBUG prints
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10020 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-17 01:12:55 +00:00
mdkinney
74e44290e2
1) Fix build issues
...
2) Change ARCHITECTURAL_PROTOCOL_ENTRY name to EFI_CORE_PROTOCOL_NOTIFY_ENTRY so it can be used for both Architectural Protocols and optional protocols that the DXE Core may use. Also remove BOOLEAN ArchitecturalProtocol field, so it is back to its original form.
3) Put mArchProtocols[] back to its original form, but add a NULL entry at the end so the end of the table can be easily detected in loops
4) Add mOptionalProtocols[] that at this time only has the SMM Base 2 Protocol in it.
5) Add NULL entry to mMissingProtocols[] so the end of the table can be easily detected.
6) Update all loops on mArchProtocols[], mOptionalProtocols, and mMissingProtocols[] to remove Index(s) and simply looks for a NULL ProtocolGuid to find the end of the table.
7) Update protocol notify events to pass the associated EFI_CORE_PROTOCOL_NOTIFY_ENTRY * as the Context parameter. This simplifies GenericProtocolNotify() by completely eliminating the search loop.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10016 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-16 20:59:57 +00:00