summaryrefslogtreecommitdiffstats
path: root/UefiCpuPkg
Commit message (Collapse)AuthorAgeFilesLines
* Add missing braces around initializer.lzeng142012-10-111-1/+1
| | | | | | | | | | | 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
* Add missing parameter in functions header.vanjeff2012-10-101-3/+3
| | | | | | | | signed-off-by: Jeff Fan <jeff.fan@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13815 6f19259b-4bc3-4df7-8a09-765794883524
* Save and disable CPU interrupt before programming MTRR settings, and restore ↵vanjeff2012-09-271-39/+50
| | | | | | | | | | | | the CPU interrupt after programming MTRR setting. signed-off-by: Kinney, Michael D <michael.d.kinney@intel.com> reviewed-by: Bjorge, Erik C <erik.c.bjorge@intel.com> reviewed-by: Jeff Fan <jeff.fan@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13749 6f19259b-4bc3-4df7-8a09-765794883524
* Add type cast to avoid sign extension on x64 tip.vanjeff2012-09-101-1/+1
| | | | | | | signed-off-by: Jeff Fan <jeff.fan@intel.com> reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13709 6f19259b-4bc3-4df7-8a09-765794883524
* Fix comparisons of enumerated types which may cause warnings for some compilers.rsun32012-08-283-6/+6
| | | | | | | | Signed-off-by: Sun Rui <rui.sun@intel.com> Reviewed-by: Gao Liming <liming.gao@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13686 6f19259b-4bc3-4df7-8a09-765794883524
* Only disable Debug Timer for x64 platforms in S3RestoreConfig2().vanjeff2012-08-281-5/+14
| | | | | | | | | | | Signed-off-by: Jeff Fan <jeff.fan@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13684 6f19259b-4bc3-4df7-8a09-765794883524
* 1. Added SetLocalApicBaseAdress() and GetLocalApicBaseAddress() APIs in ↵vanjeff2012-08-235-20/+132
| | | | | | | | | | | | | | | | Local APIC library. 2. Updated Local APIC library instances to get Local APIC base Address by invoking GetLocalApicBaseAddress() instead of by PCD PcdCpuLocalApicBaseAddress. Signed-off-by: Jeff Fan <jeff.fan@intel.com> Reviewed-by: Kinney Michael D <michael.d.kinney@intel.com> Reviewed-by: Rui Sun <rui.sun@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13668 6f19259b-4bc3-4df7-8a09-765794883524
* Set correct DS/ES/FS/GS/SS segment selectors after GDT loaded.vanjeff2012-08-226-0/+204
| | | | | | | | | Signed-off-by: Jeff Fan <jeff.fan@intel.com> Reviewed-by: Rui Sun <rui.sun@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13667 6f19259b-4bc3-4df7-8a09-765794883524
* Initialize TempAcpiS3Context and TempEfiBootScriptExecutorVariable.lzeng142012-08-201-4/+8
| | | | | | | 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@13649 6f19259b-4bc3-4df7-8a09-765794883524
* Create 4G page table by default, and using PF to handle >4G MMIO access, to ↵jyao12012-08-141-3/+54
| | | | | | | | | improve S3 performance. signed-off-by: jiewen.yao@intel.com reviewed-by: rui.sun@intel.com git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13631 6f19259b-4bc3-4df7-8a09-765794883524
* Remove Variable PPI dependency from S3Resume module, check return status of ↵lzeng142012-08-062-34/+26
| | | | | | | | | locating SmmAccess PPI in S3Resume S3ResumeExecuteBootScript(), and locate SmmAccess PPI and Open SMRAM region only when gEfiAcpiVariableGuid HOB is found in S3Resume S3RestoreConfig2(). 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@13592 6f19259b-4bc3-4df7-8a09-765794883524
* UefiCpuPkg CpuDxe: Call UefiCpuLib.InitializeFloatingPointUnits () to ↵rsun32012-07-064-0/+5
| | | | | | | | | | | | initialize X87 FPU Control Word for BSP. For a platform tip with 32-bit PEI+64-bit DXE, InitializeFloatingPointUnits () should be called for BSP in the DXE phase. Signed-off-by: Sun Rui <rui.sun@intel.com> Reviewed-by: Fan Jeff <jeff.fan@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13511 6f19259b-4bc3-4df7-8a09-765794883524
* UefiCpuPkg BaseUefiCpuLib: Change the initialization value for x87 FPU ↵rsun32012-07-052-7/+7
| | | | | | | | | | Control Word for x64 arch from 0x27f to 0x37f per UEFI 2.3.1c spec. Signed-off-by: Sun Rui <rui.sun@intel.com> Reviewed-by: Fan Jeff <jeff.fan@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13506 6f19259b-4bc3-4df7-8a09-765794883524
* Align the perf data between FPDT and DP.lzeng142012-06-191-5/+5
| | | | | | | 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@13461 6f19259b-4bc3-4df7-8a09-765794883524
* Remove CPU dead loop code from IA32 assembly codes.vanjeff2012-05-314-30/+2
| | | | | | | | Signed-off-by: Fan Jeff <jeff.fan@intel.com> Reviewed-by: Sun Rui <rui.sun@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13388 6f19259b-4bc3-4df7-8a09-765794883524
* UefiCpuPkg: Added code to enable Local APIC.geekboy15a2012-05-183-6/+13
| | | | | | | | | | This patch enables interrupt delivery via the Local APIC as part of the initialization process. Signed-off-by: Erik Bjorge <erik.c.bjorge@intel.com> Reviewed-by: Rosenbaum, Lee G <lee.g.rosenbaum@intel.com> Reviewed-by: Sun Rui <rui.sun@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13338 6f19259b-4bc3-4df7-8a09-765794883524
* UefiCpuPkg S3Resume2: Move the call to RestoreS3PageTables() earlier before ↵rsun32012-05-021-4/+7
| | | | | | | | | | | | SMM S3 resume. SMM S3 resume may change memory cache type for flash memory range and thus RestoreS3PageTables() in which loops are executed to create page table would have negative performance impact on S3 resume. Move the call to RestoreS3PageTables() earlier before SMM S3 resume can avoid this issue. Signed-off-by: Sun Rui <rui.sun@intel.com> Reviewed-by: Yao Jiewen <jiewen.yao@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13231 6f19259b-4bc3-4df7-8a09-765794883524
* Update copyright formathhtian2012-04-241-3/+1
| | | | | | Signed-off-by: Hot Tian <hot.tian@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13213 6f19259b-4bc3-4df7-8a09-765794883524
* EDK II Packages: Add Contributions.txt and License.txt filesjljusten2012-04-112-0/+215
| | | | | | | | | | | | | Contributions.txt documents the contribution process for all tianocore projects. The conents of Contributions.txt should match in all cases. License.txt is a per-project document showing the license terms used by that project. Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13187 6f19259b-4bc3-4df7-8a09-765794883524
* UefiCpuPkg MtrrLib: For MtrrSetAllMtrrs(), do not set FE/E bits in ↵rsun32012-04-111-11/+27
| | | | | | | | | | IA32_MTRR_DEF_TYPE MSR after the MSR is restored. Signed-off-by: Sun Rui <rui.sun@intel.com> Reviewed-by: Fan Jeff <jeff.fan@intel.com> Reviewed-by: Michael Kinney <michael.d.kinney@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13182 6f19259b-4bc3-4df7-8a09-765794883524
* Fix doxgen format issue.vanjeff2012-03-194-8/+14
| | | | | | | | | Signed-off-by: vanjeff git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13112 6f19259b-4bc3-4df7-8a09-765794883524
* Remove the useless performance logging code in BootScriptExecutorDxe driver ↵lzeng142012-03-191-0/+4
| | | | | | | | | and record S3 "ScriptExec" performance log before and after executing BootScriptExecutorEntrypoint in S3Reusme2Pei driver. Signed-off-by: lzeng14 Reviewed-by: lgao4 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13108 6f19259b-4bc3-4df7-8a09-765794883524
* 1. Updated S3Resume2Pei to save IA32 IDT table setup in protected mode. vanjeff2012-03-151-1/+7
| | | | | | | | | | | 2. Updated BootScriptSaveOnS3SaveStateThunk restore IA32 IDT table before transferring to protected mode. It could support exception handler in 32-bit Framework Boot Script code. Signed-off-by: vanjeff Reviewed-by: jyao1 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13099 6f19259b-4bc3-4df7-8a09-765794883524
* Import two CPU Exception Handler Library instances: ↵vanjeff2012-03-1513-1/+2598
| | | | | | | | | | SecPeiCpuExceptionHandler.inf and DxeSmmCpuExceptionHandler.inf. Signed-off-by: vanjeff Reviewed-by: jyao1 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13098 6f19259b-4bc3-4df7-8a09-765794883524
* Update package version for MdeModulePkg, UefiCpuPkg.rsun32011-12-142-3/+3
| | | | | | | | | | MdeModulePkg 0.91->0.92 UefiCpuPkg 0.1->0.2 Signed-off-by: rsun3 Reviewed-by: hhtian git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12851 6f19259b-4bc3-4df7-8a09-765794883524
* Update the check condition to allows UINT64 and INT64 data types to be ↵vanjeff2011-12-011-2/+3
| | | | | | | | | | | | 32-bit aligned on IA32 system. Signed-off-by: vanjeff Reviewed-by: mdkinney git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12808 6f19259b-4bc3-4df7-8a09-765794883524
* UefiCpuPkg MTRR Library: Remove a buggy check logic in ↵rsun32011-11-251-10/+0
| | | | | | | | | | | MtrrSetMemoryAttribute() that may incorrectly RETURN_OUT_OF_RESOURCES in some cases. Signed-off-by: rsun3 Reviewed-by: vanjeff git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12780 6f19259b-4bc3-4df7-8a09-765794883524
* Restore original IDT entry if RegisterInterruptHandler() was used to ↵vanjeff2011-11-162-1/+46
| | | | | | | | | | | unregister user defined interrupt handler. Signed-off-by: vanjeff Reviewed-by: rsun3 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12719 6f19259b-4bc3-4df7-8a09-765794883524
* Roll back the change on GetMemorySpaceAttributeFromMtrrType()'s parameter ↵vanjeff2011-10-311-6/+6
| | | | | | | | | | type, from MTRR_MEMORY_CACHE_TYPE to UINT8 since MtrrAttributes may be the value not belongs to MTRR_MEMORY_CACHE_TYPE. Signed-off-by: vanjeff git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12609 6f19259b-4bc3-4df7-8a09-765794883524
* 1. Introduce the API MtrrGetDefaultMemoryType () in Mtrr Library.vanjeff2011-10-283-19/+53
| | | | | | | | | | 2. Invoke MtrrGetDefaultMemoryType() to get the default memory type instead of the hard code value in module. 3. Add go though for UC attributes. Signed-off-by: vanjeff Reviewed-by: rsun3 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12587 6f19259b-4bc3-4df7-8a09-765794883524
* Update Base type SecPeiDxeTimerLibUefiCpu to support all module type.lgao42011-10-271-3/+6
| | | | | | | Signed-off-by: lgao4 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12576 6f19259b-4bc3-4df7-8a09-765794883524
* UefiCpuPkg VTF0: Fix support for finding SEC image of type TE.rsun32011-09-287-17/+21
| | | | | | | | | | Update Flat32SearchForSecEntryPoint assembly code to support finding an SEC image using the TE image format. Signed-off-by: rsun3 Reviewed-by: jljusten git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12462 6f19259b-4bc3-4df7-8a09-765794883524
* Add PCD for 1G page tablejyao12011-09-212-5/+10
| | | | | | | signed off by: jyao1 reviewed by: jfan12 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12397 6f19259b-4bc3-4df7-8a09-765794883524
* UefiCpuPkg MTRR Library: enhance MTRR Library.rsun32011-09-201-4/+12
| | | | | | | | | | When it finds that a request range is covered by an existing MTRR with same cache type, the MTRR library set a flag and continues to check other MTRRs and invalidate any MTRR of the same request range with a higher-priority cache type. Signed-off-by: rsun3 Reviewed-by: gxing git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12388 6f19259b-4bc3-4df7-8a09-765794883524
* UefiCpuPkg VTF0: Rename README to ReadMe.txt, add nasm versionydong102011-09-201-1/+1
| | | | | | | | | | | * Rename README to ReadMe.txt * Document that nasm 2.03 or newer is required for building VTF0 Signed-off-by: ydong10 Reviewed-by: jljusten git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12384 6f19259b-4bc3-4df7-8a09-765794883524
* Correct 1G page table generation.jyao12011-09-191-2/+1
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12380 6f19259b-4bc3-4df7-8a09-765794883524
* UefiCpuPkg VTF0: Add README, remove Makefilejljusten2011-09-152-42/+41
| | | | | | | | | | * Add README * Remove Makefile which is no longer used to build VTF0 Signed-off-by: jljusten Reviewed-by: geekboy15a git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12355 6f19259b-4bc3-4df7-8a09-765794883524
* Use CPU_HOB to detect max address support from platform, and added 1G page ↵jyao12011-09-131-28/+94
| | | | | | | | | table support. Sign-off-by: jyao1 Reviewed-by: li-elvin git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12332 6f19259b-4bc3-4df7-8a09-765794883524
* Enhance the MTRR lib to support the case where alignment of base address < ↵rsun32011-09-131-91/+126
| | | | | | | | | length. Signed-off by: rsun3 Reviewed-by: hhuan13 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12330 6f19259b-4bc3-4df7-8a09-765794883524
* Add generic HPET Timer DXE Driver and support librariesmdkinney2011-09-024-4/+238
| | | | | | | Signed-off-by: mdkinney Reviewed-by: li-elvin git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12259 6f19259b-4bc3-4df7-8a09-765794883524
* UefiCpuPkg: Add S3Resume2Pei PEIMjljusten2011-08-293-0/+1012
| | | | | | | | | 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@12227 6f19259b-4bc3-4df7-8a09-765794883524
* Add new API GetTimeInNanoSecond() to TimerLib to convert elapsed ticks to ↵xdu22011-08-252-2/+90
| | | | | | | | | time in unit of nanoseconds. Signed-off-by: xdu2 Reviewed-by: mdkinney git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12206 6f19259b-4bc3-4df7-8a09-765794883524
* UefiCpuPkg: Replace the un-necessary WBINVD instruction at the reset vector ↵rsun32011-08-047-2/+3
| | | | | | | | | with two NOPs in VTF0. Signed-off-by: rsun3 Reviewed-by: mdkinney git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12085 6f19259b-4bc3-4df7-8a09-765794883524
* Fix typo that breaks the build.niruiyu2011-07-081-1/+1
| | | | | | | Signed-off-by: niruiyu Reviewed-by: vanjeff git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12002 6f19259b-4bc3-4df7-8a09-765794883524
* UefiCpuPkg: Fix X64 clang compiler/assembler warnings.andrewfish2011-07-062-40/+793
| | | | | | | | | Signed-off-by: andrewfish Reviewed-by: rsun3 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11996 6f19259b-4bc3-4df7-8a09-765794883524
* UefiCpuPkg/CpuDxe: Put CPU to sleep during Idle eventsjljusten2011-06-163-2/+40
| | | | | | | | | | | | When the MdeModulePkg gCoreEventIdleGuid event is signaled, CpuSleep is called. This will cause the CPU to sleep until the next interrupt occurs. Signed-off-by: jljusten Reviewed-by: mdkinney Reviewed-by: rsun3 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11842 6f19259b-4bc3-4df7-8a09-765794883524
* CpuDxe entry point () only register exception handlers unassigned before.vanjeff2011-05-251-1/+1
| | | | | | | Signed-off-by: vanjeff Reviewed-by: rsun3 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11699 6f19259b-4bc3-4df7-8a09-765794883524
* Per PI 1.2 errata B spec, for SetMemoryAttributes() service of CPU ↵rsun32011-05-241-14/+29
| | | | | | | | | | | | Architecture Protocol, EFI_INVALID_PARAMETER should be returned for cases: If Attributes specifies a combination of memory attributes that cannot be set together, then EFI_INVALID_PARAMETER is returned. For example, if both EFI_MEMORY_UC and EFI_MEMORY_WT are set. Signed-off-by: rsun3 Reviewed-by: jyao1 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11694 6f19259b-4bc3-4df7-8a09-765794883524
* A complement fix for revision 11664 to update GCC assembly files : clear the ↵rsun32011-05-172-2/+8
| | | | | | | | | | direction flag in interrupt/exception handlers' assembly entry code before calling C functions to follow the UEFI calling convention. Signed-off-by: rsun3 Reviewed-by: jyao1 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11670 6f19259b-4bc3-4df7-8a09-765794883524
* Clear the direction flag in interrupt/exception handlers' assembly entry ↵rsun32011-05-162-2/+8
| | | | | | | | | | code before calling C functions to follow the UEFI calling convention. Signed-off-by: rsun3 Reviewed-by: jyao1 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11664 6f19259b-4bc3-4df7-8a09-765794883524