summaryrefslogtreecommitdiff
path: root/IntelFrameworkModulePkg/Csm/LegacyBiosDxe
diff options
context:
space:
mode:
authorli-elvin <li-elvin@6f19259b-4bc3-4df7-8a09-765794883524>2011-11-15 07:59:21 +0000
committerli-elvin <li-elvin@6f19259b-4bc3-4df7-8a09-765794883524>2011-11-15 07:59:21 +0000
commit3512efa9b2b63b3bec6277cf4c878eb7e54f92ef (patch)
treeea8b1185d8d887b671083acccb29307baecc0429 /IntelFrameworkModulePkg/Csm/LegacyBiosDxe
parent22fde64e921d9c707b45b2602ac55854320c9f7e (diff)
downloadedk2-platforms-3512efa9b2b63b3bec6277cf4c878eb7e54f92ef.tar.xz
CSM is updated to remove RaiseTPL (TPL_HIGH_LEVEL) and disable 2 known UEFI interrupts instead. This is needed to process HPET timer interrupt before going into real mode.
Signed-off-by: li-elvin Reviewed-by: vanjeff git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12701 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'IntelFrameworkModulePkg/Csm/LegacyBiosDxe')
-rw-r--r--IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBootSupport.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBootSupport.c b/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBootSupport.c
index 397295bcf1..04013d9708 100644
--- a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBootSupport.c
+++ b/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBootSupport.c
@@ -1204,10 +1204,17 @@ GenericLegacyBoot (
//
EfiSignalEventLegacyBoot ();
DEBUG ((EFI_D_INFO, "Legacy INT19 Boot...\n"));
+
+ //
+ // Disable DXE Timer while executing in real mode
//
- // Raise TPL to high level to disable CPU interrupts
+ Private->Timer->SetTimerPeriod (Private->Timer, 0);
+
//
- gBS->RaiseTPL (TPL_HIGH_LEVEL);
+ // Save and disable interrupt of debug timer
+ //
+ SaveAndSetDebugTimerInterrupt (FALSE);
+
//
// Put the 8259 into its legacy mode by reprogramming the vector bases