Commit Graph

330 Commits

Author SHA1 Message Date
jljusten 4ad9d87d7a * MdeModulePkg/Core/Pei/Dependency/Dependency.h
Decrease MAX_GRAMMAR_SIZE from 256 to 64.

In Dependency.c => PeimDispatchReadiness, a local variable 'EvalStack'
makes an array of EVAL_STACK_ENTRY structures to store a stack for
processing the dependency expression.

Due to alignment considerations, sizeof (EVAL_STACK_ENTRY) is 16 bytes 
on 64 bit architectures.  This means the size of the EvalStack local
variable in PeimDispatchReadiness grows to 4kb.

In the PEI phase, the stack area may be very small, and therefore 4kb is 
much to large.  Reducing MAX_GRAMMAR_SIZE to 64 will lower the size
of EvalStack to 1kb.

While reducing this to 1kb solves an issue seen with GCC on X64, it is
still a large usage of stack for the PEI phase, and future improvements
may still need to be made.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7514 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-12 17:15:08 +00:00
eric_tian 525aded947 add assert logic to avoid Klocwork fake report
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7512 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-12 06:39:01 +00:00
eric_tian fbbb42115c clean K8.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7492 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-10 09:56:23 +00:00
lgao4 276a49b699 Clean up FaultTolerantWriteDxe to remove the duplicated definition.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7471 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-06 09:03:12 +00:00
eric_tian 311a71b299 Cleanup K8 warning.
We need judge return status of CoreGetMemorySpaceMap() to avoid the generation of NULL pointer of MemorySpaceMap.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7448 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-06 03:58:04 +00:00
mdkinney 7cf027141f Use UEFI macros for PE/COFF image types
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7441 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-05 19:34:49 +00:00
lgao4 657abcff30 Enhance DxeCore to handle the all block sized allowed by the PI Specification and remove the assumption that the FV block size is always larger than the size of an FV Header.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7426 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-04 03:37:14 +00:00
eric_tian 57dfc48f93 enhance the condition branch to handle Unix style file path. and avoid array overflow
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7394 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-02 08:01:35 +00:00
lgao4 96827f1756 Correct FeatureFlagExpress PCD format based on INF spec.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7327 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-21 07:25:23 +00:00
eric_tian 29dd3b04b0 Fix Klocwork warning. We should directly return EFI_INVALID_PARAMETER when BufferSize is NULL.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7323 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-21 04:56:24 +00:00
gikidy 7bfc66a284 Meta-data review.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7319 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-20 08:27:13 +00:00
gikidy f50cf5032a Meta-data review.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7312 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-20 03:01:44 +00:00
eric_tian f34aec3bc8 coding style
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7311 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-20 03:01:41 +00:00
qwang12 90e128e28a Fix a bug which print new stack size and old stack size wrongly.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7285 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-15 08:50:24 +00:00
qhuang8 b364eeb012 Apply code to avoid security warnings.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7279 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-15 03:00:00 +00:00
lgao4 f497011482 Correct /FAcs option to /FAsc
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7191 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-06 05:09:27 +00:00
qhuang8 48557c6550 Code scrub DxeIpl, Runtime, DevicePath, FvbServicesLib, DiskIo, Partition, English, EBC.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7105 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-23 16:20:43 +00:00
jji4 7df7393feb check the usage of %d,%x,%ld,%lx and so on in debug print statement.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7080 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-18 08:48:36 +00:00
qhuang8 f3f2e05db8 Clean up to update the reference of the these macros:
EFI_SIGNATURE_16 -> SIGNATURE_16
  EFI_SIGNATURE_32 -> SIGNATURE_32
  EFI_SIGNATURE_64 -> SIGNATURE_64
  EFI_FIELD_OFFSET -> OFFSET_OF
  EFI_MAX_BIT      -> MAX_BIT
  EFI_MAX_ADDRESS  -> MAX_ADDRESS
These macros are not defined in UEFI spec. It makes more sense to use the equivalent macros in Base.h to avoid alias.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7056 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-16 15:34:21 +00:00
lgao4 57dba20b29 Change EFI_OPTIONAL_POINTER to EFI_OPTIONAL_PTR
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7015 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-12 08:51:57 +00:00
gikidy d7db090280 Fix some typo.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7008 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-12 06:04:02 +00:00
jji4 6f3156155b INF head modified
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7002 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-12 01:27:36 +00:00
mdkinney 857c841016 Move NEXT_MEMORY_DESCRIPTOR() from UefiSpec.h to UEFI Library
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6898 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-07 22:49:44 +00:00
mdkinney 50d7ebad92 Change _CR() to BASE_CR() to follow naming convention
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6888 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-06 01:23:24 +00:00
mdkinney 4e2dd553a6 Simplify call to FUNCTION_ENTRY_POINT() based on updates to that macro
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6884 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-05 23:26:01 +00:00
xli24 84828cd260 Fix the build break caused by update of FUNCTION_ENTRY_POINT macro.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6869 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-05 08:35:38 +00:00
gikidy cfc8865f17 Remove some useless EDK_RELEASE_VERSION, EFI_SPECIFICATION_VERSION ,and review VALID_ARCHITECTURES in inf files with DSC file.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6818 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-03 09:08:05 +00:00
jji4 aa79b0b379 Global variables have been moved backward ahead of functions.
Only a few cases were left due to its module structure.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6816 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-03 08:52:39 +00:00
lgao4 a55caa5335 Update PEIM entry point to follow PEIM entry point.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6755 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-27 05:24:29 +00:00
xli24 310bc7635c Add necessary CONST modifier.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6751 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-27 05:01:58 +00:00
jljusten d9b834afbf Move call to CoreDisplayDiscoveredNotDispatched to be before the
ASSERT_EFI_ERROR (CoreAllEfiServicesAvailable ());
statement, since this ASSERT can force the system to hang.  Since
drivers not loading may be the reason that not all EFI services are
available, it is helpful to display the non-dispatched driver list
before using the ASSERT.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6687 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-24 00:19:49 +00:00
jljusten 9490351076 Add useful DEBUG message for determining the when drivers are
being loaded and dispatched.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6686 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-24 00:14:27 +00:00
mdkinney 7b3381a232 Clean up
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6676 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-22 00:51:51 +00:00
qwang12 b10a05d6c3 ECC clanup: Update the doxygen comment.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6641 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-20 02:02:16 +00:00
qhuang8 c2efc4b060 Split Ebc from x64 implementation since x64 version supports to create x64 mode page tables in memory.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6618 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-19 03:06:02 +00:00
lgao4 111e48f32a Update comments for PeiCore
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6552 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-17 02:41:18 +00:00
mdkinney f3b33289f0 Create X64 mode page tables in memory even when PEI is already X64
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6550 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-15 23:59:07 +00:00
qhuang8 187f1a5b3a Rename PiLibInstallFvInfoPpi() to PeiServicesInstallFvInfoPpi() and remove the reference of PeiPiLib, it has been merged to PeiServicesLib
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6522 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-13 09:17:38 +00:00
klu2 1232b21473 1, Add <Library/DevicePathLib.h> for all source that use device path utility macros
2, Add DevicePathLib library class to module's INF that use device path utility macros

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6456 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-11 15:42:40 +00:00
klu2 9142689461 Remove over specific library class
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6387 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-05 04:57:52 +00:00
klu2 0a97e5ccf6 Remove over specific library class
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6386 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-05 04:42:19 +00:00
klu2 7d7d5739ed Remove over specific library class
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6385 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-05 02:28:20 +00:00
klu2 0ddec2cfde Remove over specific Guid
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6384 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-05 02:25:26 +00:00
qhuang8 da06ac1c70 Add missing TimerLib class since DxeMain directly use TimerLib API.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6345 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-31 04:53:07 +00:00
qhuang8 0d5163977b Use #include "XXX.h" for module internal header files.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6333 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-31 04:35:02 +00:00
jji4 fe1e36e550 Patch to remove STATIC modifier. This is on longer recommended by EFI Framework coding style. All duplicated symbols has been renamed accordingly.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6296 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-30 06:05:06 +00:00
mdkinney 7cff25d649 Measure time spent in Driver Binding Supported() calls
Update time measurement of StartImage() calls to properly record the handle of the started Image


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6292 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-30 04:03:59 +00:00
mdkinney 008d4018f6 Measure time spent in SEC
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6291 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-30 04:02:44 +00:00
mdkinney 4bf952d181 Images loaded by the DXE IPL should allocate memory of type EfiBootServicesCode, not EfiBootServicesData
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6283 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-29 03:28:03 +00:00
eric_tian e34ecc8a1e Remove unnessary UEFI_SPECIFICATION_VERSION and PI_SPECIFICATION_VERSION in INF file
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6281 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-29 03:17:21 +00:00