audk/UefiCpuPkg/Library
Tan, Dun d98efb4682 UefiCpuPkg: Restore HpetTimer after CpuExceptionHandlerLib test
Disable/Restore HpetTimer before and after running the Dxe
CpuExceptionHandlerLib unit test module. During the UnitTest, a
new Idt is initialized for the test. There is no handler for timer
intrrupt in this new idt. After the test module, HpetTimer does
not work any more since the comparator value register and main
counter value register for timer does not match. To fix this issue,
disable/restore HpetTimer before and after Unit Test if HpetTimer
driver has been dispatched. We don't need to send Apic Eoi in this
unit test module.When disabling timer, after RaiseTPL(), if there
is a pending timer interrupt, bit64 of Interrupt Request Register
(IRR) will be set to 1 to indicate there is a pending timer
interrupt. After RestoreTPL(), CPU will handle the pending
interrupt in IRR.Then TimerInterruptHandler calls SendApicEoi().

Signed-off-by: Dun Tan <dun.tan@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
2022-10-28 09:02:46 +00:00
..
BaseUefiCpuLib UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
BaseXApicLib UefiCpuPkg: Add CpuLib to module INFs that depend on UefiCpuLib. 2022-05-06 07:48:15 +00:00
BaseXApicX2ApicLib UefiCpuPkg: Add CpuLib to module INFs that depend on UefiCpuLib. 2022-05-06 07:48:15 +00:00
CpuCacheInfoLib UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
CpuCommonFeaturesLib UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
CpuExceptionHandlerLib UefiCpuPkg: Restore HpetTimer after CpuExceptionHandlerLib test 2022-10-28 09:02:46 +00:00
CpuPageTableLib UefiCpuPkg/CpuPageTableLib:Support PAE paging for PageTableParse 2022-10-17 08:03:06 +00:00
CpuTimerLib UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
MicrocodeLib UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
MpInitLib UefiCpuPkg: Use Top of each AP's stack to save CpuMpData 2022-08-31 04:23:55 +00:00
MpInitLibUp UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
MtrrLib UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
PlatformSecLibNull UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
RegisterCpuFeaturesLib UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
SecPeiDxeTimerLibUefiCpu UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
SmmCpuFeaturesLib UefiCpuPkg: Add PCD to control SMRR enable & SmmFeatureControl support 2022-08-31 04:23:55 +00:00
SmmCpuPlatformHookLibNull UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
SmmCpuRendezvousLib UefiCpuPkg: Extend SMM CPU Service with rendezvous support. 2022-03-04 05:44:42 +00:00
VmgExitLibNull UefiCpuPkg: Extend VmgExitLibNull to handle #VE exception 2022-04-02 08:15:12 +00:00