summaryrefslogtreecommitdiffstats
path: root/UefiCpuPkg
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Enhance inf to follow spec.ydong102011-03-142-2/+4
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11395 6f19259b-4bc3-4df7-8a09-765794883524
* Update DebugLib to provide support for "err" command in the EFI Shell to ↵mdkinney2011-03-101-1/+2
| | | | | | | | | | | | | adjust the filter mask for DEBUG() messages. The "err" command provide the ability to adjust this filter mask at a global level through an EFI Variable and at the module level through a the Debug Mask Protocol. In order to support the degree of flexibility, the DebugLib needs to use library to abstract the get/set operations to the filter mask. 1) Add default mappings for the DebugPrintErrorLevelLib to the DSC file for this package. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11378 6f19259b-4bc3-4df7-8a09-765794883524
* Remove extra {} inside DEBUG_CODE() macromdkinney2011-01-111-120/+118
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11244 6f19259b-4bc3-4df7-8a09-765794883524
* Fix 32-bit build breakmdkinney2011-01-071-1/+1
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11235 6f19259b-4bc3-4df7-8a09-765794883524
* Add DEBUG() macros for DEBUG_CACHE to MTRR Library show all changes memory ↵mdkinney2011-01-062-46/+170
| | | | | | | | | | caches setting changes. If DEBUG_PROPERTY_DEBUG_CODE_ENABLED is also set in PcdDebugPropertyMask, then the entire set of MTRRs will be displayed on every memory cache setting change. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11231 6f19259b-4bc3-4df7-8a09-765794883524
* Fix a bug that the size of a gate descriptor in the IDT is 8 bytes. The size ↵rsun32010-12-171-1/+1
| | | | | | is 8 bytes in 32-bit mode, while it is 16 bytes in 64-bit mode. Replace the hard-coded size with a sizeof. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11177 6f19259b-4bc3-4df7-8a09-765794883524
* Add MtrrLib and LocalApicLib declarations to the UefiCpuPkg DEC file.mdkinney2010-12-071-0/+9
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11128 6f19259b-4bc3-4df7-8a09-765794883524
* Lost a file in last check-in.rsun32010-11-291-0/+172
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11101 6f19259b-4bc3-4df7-8a09-765794883524
* Add a new Timer Library instance SecPeiDxeTimerLibUefiCpu into UefiCpuPkg. ↵rsun32010-11-293-0/+259
| | | | | | This library differs with the SecPeiDxeTimerLibCpu library in the MdePkg in that it uses the local APIC library so that it supports x2APIC mode. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11100 6f19259b-4bc3-4df7-8a09-765794883524
* Refine code to follow the coding style.ydong102010-11-011-0/+14
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10992 6f19259b-4bc3-4df7-8a09-765794883524
* Fix build break when doing 32-bit build with some certain C compiler option ↵rsun32010-10-282-7/+8
| | | | | | | | | combinations. Use the library functions for shift operations in BaseLib for a 64-bit integer where the code is shared for 32-bit and 64-bit. Defining bitfields in structures with > 32 bits will cause these types of issues on IA32 builds. So the largest bitfield should be type UINT32 with a max size of :32. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10983 6f19259b-4bc3-4df7-8a09-765794883524
* Refine code to remove type converting warning.ydong102010-10-261-1/+1
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10982 6f19259b-4bc3-4df7-8a09-765794883524
* UefiCpuPkg CpuDxe: Fix bug with CPU Arch RegisterInterruptHandlerjljusten2010-10-221-30/+77
| | | | | | | | | | | | | | | The change in r10765 introduced an issue where inherited interrupt handlers would override the driver's RegisterInterruptHandler functionality. DUET installs a IDT with 256 entries early in it's boot. Therefore, no interrupt handlers could be installed with DUET while using UefiCpuPkg/CpuDxe (instead of DuetPkg/CpuDxe). This change forces the IDT to be modified when RegisterInterruptHandler is called to ensure the UEFI handler will be installed properly. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10972 6f19259b-4bc3-4df7-8a09-765794883524
* Rename two files to follow the file naming convention.rsun32010-09-074-6/+185
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10853 6f19259b-4bc3-4df7-8a09-765794883524
* Rename two files to follow the file naming convention.rsun32010-09-072-179/+0
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10852 6f19259b-4bc3-4df7-8a09-765794883524
* Add DisableLvtInterrupts() for the Local APIC library class.rsun32010-08-273-0/+55
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10827 6f19259b-4bc3-4df7-8a09-765794883524
* Improve Local APIC library class. Add new library APIs: GetApicVersion(), ↵rsun32010-08-264-65/+284
| | | | | | SendFixedIpi(), SendFixedIpiAllExcludingSelf(), GetApicTimerState(). Remove GetApicTimerDivisor (), its functionality can be covered by GetApicTimerState(). git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10824 6f19259b-4bc3-4df7-8a09-765794883524
* Add Local APIC Library class defining APIs for common Local APIC operations. ↵rsun32010-08-238-1/+1772
| | | | | | Add two Local APIC library instances, one is for xAPIC mode only, the other is for x2APIC capable processors which have xAPIC and x2APIC modes. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10814 6f19259b-4bc3-4df7-8a09-765794883524
* Add boundary check against variable MTRR count.xli242010-08-101-1/+6
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10787 6f19259b-4bc3-4df7-8a09-765794883524
* Add explicit type cast to suppress possible warning of precession loss.xli242010-08-102-2/+2
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10783 6f19259b-4bc3-4df7-8a09-765794883524
* Inherit entries from previous IDT when new IDT is installed.mdkinney2010-08-031-6/+23
| | | | | | | Update CS in each inherited IDT entry to match CS for the new GDT. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10765 6f19259b-4bc3-4df7-8a09-765794883524
* Code refinement.xli242010-07-1314-333/+1010
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10647 6f19259b-4bc3-4df7-8a09-765794883524
* Skip restoration of DRx registers to support in-circuit emualators or ↵rsun32010-06-114-84/+16
| | | | | | debuggers set breakpoint in interrupt/exception context. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10573 6f19259b-4bc3-4df7-8a09-765794883524
* Clean up package/platform DSC files by the following steps:lgao42010-05-211-12/+6
| | | | | | | | | 1. Remove PCDs those use the default values/types from the DEC file. 2. Remove the unused library instances. 3. Group common library instances in common [LibraryClasses] section as the default library instance for all modules. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10534 6f19259b-4bc3-4df7-8a09-765794883524
* Fix minor format issue in file headerqhuang82010-05-131-1/+1
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10488 6f19259b-4bc3-4df7-8a09-765794883524
* Update the copyright notice formathhtian2010-04-2444-88/+87
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10429 6f19259b-4bc3-4df7-8a09-765794883524
* Fixed GCC 4.4 build issues due to EFIAPI not being used when required.geekboy15a2010-04-162-0/+6
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10380 6f19259b-4bc3-4df7-8a09-765794883524
* Update the modules with the different module GUID to avoid the different ↵lgao42010-04-061-1/+1
| | | | | | modules with the same module GUID. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10345 6f19259b-4bc3-4df7-8a09-765794883524
* Add Checking for MTRR existence.xli242010-03-103-1/+108
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10223 6f19259b-4bc3-4df7-8a09-765794883524
* Add array index check to avoid potential buffer overflow.xli242010-03-042-0/+7
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10179 6f19259b-4bc3-4df7-8a09-765794883524
* Remove svn:executable on *.c, *.h, *.asm, *.S, *.inf and *.asl*jljusten2010-02-257-0/+0
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10087 6f19259b-4bc3-4df7-8a09-765794883524
* Clean up EFI_SPECIFICATION_VERSION and PI_SPECIFICATION_VERSION.klu22010-02-252-4/+0
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10077 6f19259b-4bc3-4df7-8a09-765794883524
* roll back changing on save and restore interrupt status, it needn't doing.vanjeff2010-02-241-11/+0
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10059 6f19259b-4bc3-4df7-8a09-765794883524
* 1. Correct File header to ## @filelgao42010-02-238-21/+21
| | | | | | 2. Remove unnecessary .common] postfix on section. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10051 6f19259b-4bc3-4df7-8a09-765794883524
* Add Memory Allocation Library instance for modules of type DXE_SMM_DRIVERmdkinney2010-02-141-0/+1
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10004 6f19259b-4bc3-4df7-8a09-765794883524
* Use atomic AsmDisableCache() and AsmDisableCache() functions instead of ↵mdkinney2010-02-141-20/+14
| | | | | | AsmWriteCr0() and AsmWbinvd() calls git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9998 6f19259b-4bc3-4df7-8a09-765794883524
* UefiCpuPkg/CpuDxe: Fix build errorjljusten2010-02-101-4/+1
| | | | | | This driver was not building following the r9935 & r9941 changes. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9969 6f19259b-4bc3-4df7-8a09-765794883524
* UefiCpuPkg: Add CpuDxe driver to UefiCpuPkg.dsc for build test coveragejljusten2010-02-101-1/+5
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9968 6f19259b-4bc3-4df7-8a09-765794883524
* UefiCpuPkg/CpuDxe: Remove unnecessary OvmfPkg dependencyjljusten2010-02-101-1/+0
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9967 6f19259b-4bc3-4df7-8a09-765794883524
* a)Save and disable CPU interrupt before calling AsmWriteIdtr().vanjeff2010-02-091-0/+13
| | | | | | | b)Restore CPU interrupt status after callng AsmWriteIdtr(). git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9956 6f19259b-4bc3-4df7-8a09-765794883524
* Revert incompatible change:jyao12010-02-052-50/+33
| | | | | | | | | | | | 1) No API change from old version. 2) Change MACRO: #define MTRR_NUMBER_OF_VARIABLE_MTRR 32 // the semantics are changed from NUMBER to MAX_NUMBER. #define FIRMWARE_VARIABLE_MTRR_NUMBER 6 // wrong and deprecated #define MTRR_LIB_IA32_VARIABLE_MTRR_END 0x20F // wrong and deprecated #define RESERVED_FIRMWARE_VARIABLE_MTRR_NUMBER 2 // add new one. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9941 6f19259b-4bc3-4df7-8a09-765794883524