Commit Graph

101 Commits

Author SHA1 Message Date
bxing a3ab2a47d9 Integrated FV memory map into R9
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2158 6f19259b-4bc3-4df7-8a09-765794883524
2006-12-31 09:55:05 +00:00
lgao4 af9e69ff19 Add debug info when allocate pages failed in PeiMain.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2141 6f19259b-4bc3-4df7-8a09-765794883524
2006-12-26 10:43:20 +00:00
lgao4 e75ac0cce3 Add debug info when decompress failed in DxeIpl and allocate pages failed in PeiMain.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2140 6f19259b-4bc3-4df7-8a09-765794883524
2006-12-26 10:00:18 +00:00
jwang36 1d67f00e73 Fixed the issue in which local variable "Status" is used but not defined.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2132 6f19259b-4bc3-4df7-8a09-765794883524
2006-12-22 09:56:35 +00:00
qhuang8 e2d56e0a59 Optimize to preallocate big bigs to avoid latter allocations.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2131 6f19259b-4bc3-4df7-8a09-765794883524
2006-12-22 08:11:47 +00:00
rsun3 3d109491d6 In original DxeIpl64 PEIM, Creating page table is performed before sending End Of PEI Phase signal in order to improve performance. But after merging DxeIpl and DxeIpl64, Creating page table is performed after sending End Of PEI Phase signal, which has great negative impact on Woodcrest based platforms, which rely on turning on PEI FV cache to compensate Woodcrest's bad flash access performance.
This fix revert to the way of original DxeIpl64.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2129 6f19259b-4bc3-4df7-8a09-765794883524
2006-12-22 03:13:56 +00:00
bbahnsen e641608bcc Remove some non-existent files from msa files.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2111 6f19259b-4bc3-4df7-8a09-765794883524
2006-12-19 00:09:48 +00:00
mdkinney ce4bed083d Remove commented out inclusion of SalApi.h
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2110 6f19259b-4bc3-4df7-8a09-765794883524
2006-12-18 22:46:25 +00:00
mdkinney 020a9a5b78 Only include SAL related definitions if the CPU Arch is IPF
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2109 6f19259b-4bc3-4df7-8a09-765794883524
2006-12-18 20:03:44 +00:00
lgao4 3ec2611d34 Merge R8->R9 tracker 5935 and 7080 to update runtime arch protocol to DxeCis 0.91. Update DxeCore and Runtime driver to follow new definitions.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2101 6f19259b-4bc3-4df7-8a09-765794883524
2006-12-14 10:14:24 +00:00
xgu3 4629ca40b7 Fix the bug that could make gMemoryTypeInformation unavailable when gMemoryTypeInformation is filled to EfiMaxMemoryType.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2080 6f19259b-4bc3-4df7-8a09-765794883524
2006-12-11 02:06:19 +00:00
lgao4 4afc6a7bf2 (1) Using EfiCompress in place of TianoCompress as EFI_STANDARD_COMPRESSION type to conform to spec.
(2) Remove unused library class EdkPeCoffLoaderX64Lib and library instance EdkPeCoffLoaderX64Lib, because current BasePeCoffLib can supports IA32, EBC,
  & X64 images all.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2069 6f19259b-4bc3-4df7-8a09-765794883524
2006-12-07 11:32:26 +00:00
bbahnsen 19ca33cba1 Fix static data initializer syntax for array of union.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2043 6f19259b-4bc3-4df7-8a09-765794883524
2006-11-30 19:03:58 +00:00
zliu3 53f491d326 Added the StatusCode protocol installation for the IPF architecture; removed the CapsuleArchProtocol checking for the IPF architecture
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2036 6f19259b-4bc3-4df7-8a09-765794883524
2006-11-29 13:29:14 +00:00
mdkinney 838c84ec7e 1) Fix buffer overflow in JUMP_BUFFER in the DXE Core StartImage()
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2035 6f19259b-4bc3-4df7-8a09-765794883524
2006-11-29 03:05:46 +00:00
lgao4 b32a39b328 Output DxeCore Entrypoint in DxeIpl module, and make dxecore module can correctly output >4G module entry point address.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2033 6f19259b-4bc3-4df7-8a09-765794883524
2006-11-29 02:54:20 +00:00
qhuang8 3112de21e5 Fix a typo in yesterday's check in.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2032 6f19259b-4bc3-4df7-8a09-765794883524
2006-11-29 02:40:28 +00:00
qhuang8 f40793becf Make DxeIpl "assembly-free" to avoid the undesired LongMode.obj code in image even if we do not choose to switch to long mode.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2031 6f19259b-4bc3-4df7-8a09-765794883524
2006-11-29 01:49:26 +00:00
qhuang8 e7953f39bf Set default value of DxeIplBuildShareCodeHob to FALSE.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2029 6f19259b-4bc3-4df7-8a09-765794883524
2006-11-28 08:05:03 +00:00
qhuang8 9667d62eb3 Remove this file for no usage.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2027 6f19259b-4bc3-4df7-8a09-765794883524
2006-11-28 08:01:47 +00:00
qhuang8 657d3918fe • Set the default value of PcdDxeIplSwitchToLongMode to TRUE.
•	Make access to PcdDxeIplSwitchToLongMode to Ia32 specific code.
•	Introduce another feature flag named PcdDxeIplBuildShareCodeHobs to define whether to build hobs to DXE core to share code.
•	Remove the #progma bug 

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2026 6f19259b-4bc3-4df7-8a09-765794883524
2006-11-28 07:59:59 +00:00
mdkinney 6f4f08890d Add JumpBuffer field to the static structure
Align all Jump Context buffers according to the CPU specific alignment requirements


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2024 6f19259b-4bc3-4df7-8a09-765794883524
2006-11-28 02:45:20 +00:00
mdkinney d57427a7f7 Add JumpBuffer field that records the allocated pool address that may be different that the Jump Context address
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2023 6f19259b-4bc3-4df7-8a09-765794883524
2006-11-28 02:44:20 +00:00
mdkinney 62332e5da3 Align the top of the stack correctly when the PEI Core calls SwitchStack()
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2022 6f19259b-4bc3-4df7-8a09-765794883524
2006-11-28 02:42:44 +00:00
qhuang8 abb26634f2 Introduce PcdDxeIplSwitchToLongMode to DxeIplPeim and remove DxeIplX64Peim.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2018 6f19259b-4bc3-4df7-8a09-765794883524
2006-11-27 10:14:02 +00:00
klu2 f5103f2a21 The performance data for PEI phase should be collected from pre-memory, so move PERF_START macro to correct place.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2015 6f19259b-4bc3-4df7-8a09-765794883524
2006-11-27 02:20:22 +00:00
lgao4 25549f698d Use global variable gInMemory in place of gInMemoryGuid ppi in DxeIplX64 module to point this module is shadowed or not for size reduction.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1987 6f19259b-4bc3-4df7-8a09-765794883524
2006-11-21 03:01:52 +00:00
lgao4 b00c892423 In core\dxe\Dispatcher\Dispatcher.c uses CoreLoadImage with TRUE parameter of BootPolicy. But according to CoreLoadImage comments, BootPolicy is TRUE indicates that the request originates from the boot manager. Dispatcher driver is from memory, not from boot manager. So it should call CoreLoadImage with FALSE parameter of BootPolicy.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1981 6f19259b-4bc3-4df7-8a09-765794883524
2006-11-20 03:59:14 +00:00
bbahnsen 3219f9742b Start to port the LongMode stuff to gnu asm.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1974 6f19259b-4bc3-4df7-8a09-765794883524
2006-11-17 19:49:28 +00:00
bbahnsen 0cc82df1eb Fix gcc warnings -- please review affected files.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1972 6f19259b-4bc3-4df7-8a09-765794883524
2006-11-17 17:38:32 +00:00
lgao4 5ab95f33d1 Fix gcc build break for this module.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1941 6f19259b-4bc3-4df7-8a09-765794883524
2006-11-13 10:32:22 +00:00
lgao4 3e97cd8b87 Fix build break error.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1937 6f19259b-4bc3-4df7-8a09-765794883524
2006-11-13 07:16:11 +00:00
lgao4 3e025b6993 Add comments about why pre-allocate 32 bytes for load 64bit dxe core and Add code to make sure the stack is aligned to 16 bytes.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1935 6f19259b-4bc3-4df7-8a09-765794883524
2006-11-13 07:10:54 +00:00
lgao4 9723bdde15 Fix to pre-allocate 32bytes in stack to Load X64 Image.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1929 6f19259b-4bc3-4df7-8a09-765794883524
2006-11-10 09:01:25 +00:00
mdkinney 4a50184986 Fix build break from CPU_STACK_ALIGNMENT update.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1927 6f19259b-4bc3-4df7-8a09-765794883524
2006-11-09 22:18:41 +00:00
mdkinney 5a0c25f817 Use CPU_STACK_ALIGNMENT to align stack allocated for used in the DXE Phase.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1925 6f19259b-4bc3-4df7-8a09-765794883524
2006-11-09 22:05:07 +00:00
mdkinney 395859376e Use CPU_STACK_ALIGNMENT to align stack allocated for used in the DXE Phase.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1924 6f19259b-4bc3-4df7-8a09-765794883524
2006-11-09 22:04:33 +00:00
mikewuping c91eaa3d55 I fixed following bugs in EDKII.
1. In AsmFuncs.asm, DebugSupport, Vect2Desc() function will use hardcode CS to fill the IDT. 20h for Ia32.If the system CS is changed by CPU driver, this driver can not work. System maybe crash.
2. In EBC, RegisterExceptionCallback() can not restore the environment and I add some enhancements.
3. In Image.c, CoreLoadImageCommon never return EFI_SECURITY_VIOLATION when SecurityStatus == EFI_SECURITY_VIOLATION.
4. In Variable.c, 1. There're additional unnecessary loop. All blocks will be gone through even if all the data has been written. We should check the "CurrWriteSize" to see if there's no more data to write, and stop the for loop immediately. 2 "if.else." can be merged to save lines of code.
5. in FvbServices,c, Checksum calculation error.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1891 6f19259b-4bc3-4df7-8a09-765794883524
2006-11-03 03:34:43 +00:00
cwu11 511710d68f 1. Add the fix for the following Bugs:
i)	BMM_FAKE_NV_DATA definition inconsistent in bm.vfr and BootMain.h
        (EdkNt32Pkg\Dxe\PlatformBdsDxe\Generic\BootMaint\BootMain.h)
ii)	Change some files’ EOL(end of line) format to DOS. Some file use even mixed style EOL.
   (EdkModulePkg\Universal\DevicePath\Dxe\DevicePath.c, DevicepathFromText.c, DevicePathUtilities.c;
EdkModulePkg\Universal\Disk\DiskIo\Dxe\diskIo.c; MdePkg\Library\UefiLib\UefiNotTiano.c)
iii)    Change some illegal characters in many files, the problem is mainly connected with people using Chinese Input method to input symbols such as ' " - ?, etc. Multiple files are influenced.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1890 6f19259b-4bc3-4df7-8a09-765794883524
2006-11-03 02:47:43 +00:00
lgao4 d66974717c Enhance DxeIpl module to support EFI_FV_FILETYPE_FIRMWARE_VOLUME_IMAGE ffs type, and Enhance DxeIpl module decompression function to load the decompressed FvImage to the memory address aligned at FvImage required alignment.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1875 6f19259b-4bc3-4df7-8a09-765794883524
2006-10-31 08:22:25 +00:00
mikewuping d4f397c031 1. In event.c, a function's name is not spelled correctly, a typo.
2. In Graphics.c, Memory Leak in Graphics Library, ConvertBmpToUgaBlt().
3. In HobLib.c, PeiBuildHobModule and three other functions do not zero hob reserved data area according to HOB spec v0.9.
4. In statuscode.h, the number of definition of EFI_SW_PEIM_PC_CAPSULE_START is equal to EFI_SW_PEIM_PC_CAPSULE_LOAD.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1861 6f19259b-4bc3-4df7-8a09-765794883524
2006-10-30 07:47:44 +00:00
lgao4 b5ace64c27 Fix one bugger in Image.c in PeiCore module to get the correct module name for debug output.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1852 6f19259b-4bc3-4df7-8a09-765794883524
2006-10-30 03:26:07 +00:00
ajfish e47b06c339 MAX_POOL_SIZE was hardcoded to 0xFFFFFF00. MAX_POOL_SIZE was replaced with MAX_ADDRESS and POOL_OVERHEAD. MAX_POOL_SIZE is used to prevent a large allocation from passing since adding the POOL_OVERHAD to the allocation (done internally) could cause the size to wrap around and be small. This would cause a return value of success that was an error.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1833 6f19259b-4bc3-4df7-8a09-765794883524
2006-10-24 01:20:09 +00:00
mikewuping 3114b33496 I fixed following bugs.
1. In dependency.c, DXE Dispatcher doesn't check the dependency expression boundary correctly.
2. In page.c, a misspelling code in DXE core memory service code, duplicate code.
3. In gcd.c, according to DXE CIS 0-91 spec, When GcdAllocateType is EfiGcdAllocateMaxAddressSearchBottomUp or EfiGcdAllocateMaxAddressSearchTopDown, then the GCD memory space map is searched from the lowest address up to BaseAddress (or from BaseAddress down to the lowest address) looking for unallocated memory ranges of Length bytes. Here, BaseAddress itself is inclusive, that is, any range in [0, BaseAddress] is allowable. But current code BaseAddress to be exclusive.
4. In Ebcinit.c, EbcDebugRegisterPeriodicCallback() not check whether it is already registered.
5. In Ebcinit.c, EbcDebugRegisterExceptionCallback() not check whether it is already registered.
6. In Ebcinit.c, EbcDebugSignalException() does not assign value to EbcContext.ControlFlags.
7. In Ebcinit.c, EBC: StatusCodeValue should use EFI_SOFTWARE_EBC_EXCEPTION.
8. In Ebcinit.c, EbcDebugRegisterExceptionCallback() does not check ExceptionType
9. In ElTorito.c, BlockIo and DiskIo failed in SCT when there is CD in CD-ROM.
10. In Mbr.c, MBR code can't handle some situations. That is when there are 3 partitions in HD, if delete the first partition, it will not be able to recognize the other two partitions, and if delete the second partition, it will not be able to recognize the third partition. 


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1749 6f19259b-4bc3-4df7-8a09-765794883524
2006-10-16 02:48:19 +00:00
klu2 2ea767cc94 Set Hob type for FvMainCompactFv to EFI_HOB_TYPE_UNUSED after decompressed. The can improve the performance of Dxe dispatcher.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1706 6f19259b-4bc3-4df7-8a09-765794883524
2006-10-10 09:59:34 +00:00
klu2 217f1d11c3 Add pair of performance macro function to measure the whole PEI phase's performance.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1704 6f19259b-4bc3-4df7-8a09-765794883524
2006-10-10 07:30:40 +00:00
klu2 b1288fcac3 Add PERF_START function for collecting performance data for DXE_OK tag.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1688 6f19259b-4bc3-4df7-8a09-765794883524
2006-10-08 08:15:12 +00:00
lgao4 542834ce80 Remove the duplicated Copy Right in msa header.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1634 6f19259b-4bc3-4df7-8a09-765794883524
2006-09-27 09:26:40 +00:00
qhuang8 e4e7fed9be Optimize the algorithm of creating page table to enhance boot performance and save code size.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1628 6f19259b-4bc3-4df7-8a09-765794883524
2006-09-26 07:22:33 +00:00
mdkinney e29d70965d Add PCD Feature Flags to control which decompression method(s) are included in the DXE IPL. The choices are any combination of EFI, Tiano, and Custom decompression.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1569 6f19259b-4bc3-4df7-8a09-765794883524
2006-09-19 19:10:41 +00:00