The update to the LocalApicLib instances to make sure the Local APIC is initialize before use generates an ASSERT() when SOURCE_DEBUG_ENABLE is enabled for OVMF.
The fix is to initialize the Local APIC Timer and mask it before initialing the DebugAgent. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Michael Kinney <[email protected]> --- OvmfPkg/Sec/SecMain.c | 10 +++++++++- OvmfPkg/Sec/SecMain.inf | 3 ++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/OvmfPkg/Sec/SecMain.c b/OvmfPkg/Sec/SecMain.c index b7df549..2d5e51b 100644 --- a/OvmfPkg/Sec/SecMain.c +++ b/OvmfPkg/Sec/SecMain.c @@ -1,7 +1,7 @@ /** @file Main SEC phase code. Transitions to PEI. - Copyright (c) 2008 - 2013, Intel Corporation. All rights reserved.<BR> + Copyright (c) 2008 - 2015, Intel Corporation. All rights reserved.<BR> This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -28,6 +28,7 @@ #include <Library/PeCoffGetEntryPointLib.h> #include <Library/PeCoffExtraActionLib.h> #include <Library/ExtractGuidedSectionLib.h> +#include <Library/LocalApicLib.h> #include <Ppi/TemporaryRamSupport.h> @@ -767,6 +768,13 @@ SecCoreStartupWithStack ( // IoWrite8 (0x21, 0xff); IoWrite8 (0xA1, 0xff); + + // + // Initialize Local APIC Timer hardware and disable Local APIC Timer interrupts + // before initializing the Debug Agent and the debug timer is enabled + // + InitializeApicTimer (0, MAX_UINT32, TRUE, 5); + DisableApicTimerInterrupt (); // // Initialize Debug Agent to support source level debug in SEC/PEI phases before memory ready. diff --git a/OvmfPkg/Sec/SecMain.inf b/OvmfPkg/Sec/SecMain.inf index fce99fb..2f78f3c 100644 --- a/OvmfPkg/Sec/SecMain.inf +++ b/OvmfPkg/Sec/SecMain.inf @@ -1,7 +1,7 @@ ## @file # SEC Driver # -# Copyright (c) 2008 - 2013, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2008 - 2015, Intel Corporation. All rights reserved.<BR> # # This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License @@ -55,6 +55,7 @@ PeCoffGetEntryPointLib PeCoffExtraActionLib ExtractGuidedSectionLib + LocalApicLib [Ppis] gEfiTemporaryRamSupportPpiGuid # PPI ALWAYS_PRODUCED -- 1.9.5.msysgit.1 _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

