X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdeModulePkg%2FUniversal%2FAcpi%2FBootScriptExecutorDxe%2FX64%2FSetIdtEntry.c;h=975cf3a561757f5c1c8b034ca7b12b329e27d463;hp=f70f2f986f1aa3df27757867d045ce59fe6f4932;hb=1e172d6bbfeb75d3a5d9f0066eee97789fc617b7;hpb=bf0f6c8321351303679d9bf020309c09c8c904eb diff --git a/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/SetIdtEntry.c b/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/SetIdtEntry.c index f70f2f986f..975cf3a561 100644 --- a/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/SetIdtEntry.c +++ b/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/SetIdtEntry.c @@ -3,7 +3,7 @@ Set a IDT entry for interrupt vector 3 for debug purpose for x64 platform -Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.
+Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -52,6 +52,16 @@ SetIdtEntry ( // Restore IDT for debug // IdtDescriptor = (IA32_DESCRIPTOR *) (UINTN) (AcpiS3Context->IdtrProfile); + AsmWriteIdtr (IdtDescriptor); + + // + // Setup the default CPU exception handlers + // + SetupCpuExceptionHandlers (); + + // + // Update IDT entry INT3 + // IdtEntry = (INTERRUPT_GATE_DESCRIPTOR *)(IdtDescriptor->Base + (3 * sizeof (INTERRUPT_GATE_DESCRIPTOR))); S3DebugBuffer = (UINTN) (AcpiS3Context->S3DebugBufferAddress); @@ -62,6 +72,5 @@ SetIdtEntry ( IdtEntry->Offset63To32 = (UINT32)(S3DebugBuffer >> 32); IdtEntry->Reserved = 0; - AsmWriteIdtr (IdtDescriptor); }