The series of patches add error handlings (ASSERTs) in APIC timer libraries
and LocalApicLib instances when local APIC is not configurated properly.

The following conditions will lead to ASSERT:
1. Local APIC is not globally enabled.
2. Local APIC is not software enabled.
3. Local APIC is not running under proper mode (For the TimerLib in MdePkg,
it assumes the local APIC is running under xAPIC mode).
4. The value of Initial Count Register is zero and this value will be used
as a divisor (This will happen when no value is written into the Initial
Count Register, therefore, the local APIC timer is not running).

Hao Wu (3):
  MdePkg: Add ASSERT to handle local APIC not config properly
  UefiCpuPkg: Add ASSERT to handle local APIC not config properly
  UefiCpuPkg BaseXApic(X2)Lib: Add ASSERT if local APIC not software
    enabled

 MdePkg/Library/SecPeiDxeTimerLibCpu/X86TimerLib.c  | 39 ++++++++++++++++++++--
 UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.c     |  9 +++++
 .../BaseXApicX2ApicLib/BaseXApicX2ApicLib.c        | 11 +++++-
 .../Library/SecPeiDxeTimerLibUefiCpu/X86TimerLib.c |  6 +++-
 4 files changed, 61 insertions(+), 4 deletions(-)

-- 
1.9.5.msysgit.0

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to