X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=UefiCpuPkg%2FPiSmmCpuDxeSmm%2FX64%2FSmiException.asm;h=80bd739ff4c89ccc8598a11bb7fc2b41675aa425;hp=3d841c654676d479f9113e46688a8dad79d58ea1;hb=8596c140907ebfeabf62427686280666a4e04893;hpb=427e3573426fe425141e413d17cf3ff65452fdb8 diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiException.asm b/UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiException.asm index 3d841c6546..80bd739ff4 100644 --- a/UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiException.asm +++ b/UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiException.asm @@ -1,5 +1,5 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved.
+; Copyright (c) 2009 - 2016, 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 ; which accompanies this distribution. The full text of the license may be found at @@ -19,7 +19,6 @@ ;------------------------------------------------------------------------------- EXTERNDEF SmiPFHandler:PROC -EXTERNDEF gSmiMtrrs:QWORD EXTERNDEF gcSmiIdtr:FWORD EXTERNDEF gcSmiGdtr:FWORD EXTERNDEF gcPsd:BYTE @@ -78,11 +77,11 @@ CodeSeg64 LABEL QWORD DB 0 ; BaseHigh ; TSS Segment for X64 specially TssSeg LABEL QWORD - DW TSS_DESC_SIZE ; LimitLow + DW TSS_DESC_SIZE - 1 ; LimitLow DW 0 ; BaseLow DB 0 ; BaseMid DB 89h - DB 080h ; LimitHigh + DB 00h ; LimitHigh DB 0 ; BaseHigh DD 0 ; BaseUpper DD 0 ; Reserved @@ -129,7 +128,7 @@ gcPsd LABEL BYTE DD GDT_SIZE DD 0 DB 24 dup (0) - DQ offset gSmiMtrrs + DQ 0 PSD_SIZE = $ - offset gcPsd ; @@ -144,27 +143,8 @@ gcSmiGdtr LABEL FWORD DQ offset NullSeg gcSmiIdtr LABEL FWORD - DW IDT_SIZE - 1 - DQ offset _SmiIDT - - .data - -; -; Here is the IDT. There are 32 (not 255) entries in it since only processor -; generated exceptions will be handled. -; -_SmiIDT: -REPEAT 32 - DW 0 ; Offset 0:15 - DW CODE_SEL ; Segment selector - DB 0 ; Unused - DB 8eh ; Interrupt Gate, Present - DW 0 ; Offset 16:31 - DQ 0 ; Offset 32:63 - ENDM -_SmiIDTEnd: - -IDT_SIZE = (offset _SmiIDTEnd - offset _SmiIDT) + DW 0 + DQ 0 .code @@ -400,14 +380,4 @@ PageFaultIdtHandlerSmmProfile PROC iretq PageFaultIdtHandlerSmmProfile ENDP -InitializeIDTSmmStackGuard PROC -; -; If SMM Stack Guard feature is enabled, set the IST field of -; the interrupt gate for Page Fault Exception to be 1 -; - lea rax, _SmiIDT + 14 * 16 - mov byte ptr [rax + 4], 1 - ret -InitializeIDTSmmStackGuard ENDP - END