]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Compatibility/SmmBaseHelper/X64/PageFaultHandler.S
EdkCompatibilityPkg: Remove EdkCompatibilityPkg
[mirror_edk2.git] / EdkCompatibilityPkg / Compatibility / SmmBaseHelper / X64 / PageFaultHandler.S
diff --git a/EdkCompatibilityPkg/Compatibility/SmmBaseHelper/X64/PageFaultHandler.S b/EdkCompatibilityPkg/Compatibility/SmmBaseHelper/X64/PageFaultHandler.S
deleted file mode 100644 (file)
index f1b5ad7..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>\r
-# This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   PageFaultHandler.S\r
-#\r
-# Abstract:\r
-#\r
-#   Defines page fault handler used to hook SMM IDT\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-ASM_GLOBAL ASM_PFX(PageFaultHandlerHook)\r
-ASM_PFX(PageFaultHandlerHook):\r
-    pushq    %rax                         # save all volatile registers\r
-    pushq    %rcx\r
-    pushq    %rdx\r
-    pushq    %r8\r
-    pushq    %r9\r
-    pushq    %r10\r
-    pushq    %r11\r
-\r
-    addq     $-0x68, %rsp                 # reserve memory to store XMM registers and make address 16-byte alignment\r
-    movdqa   %xmm0, 0(%rsp) \r
-    movdqa   %xmm1, 0x10(%rsp)\r
-    movdqa   %xmm2, 0x20(%rsp)\r
-    movdqa   %xmm3, 0x30(%rsp)\r
-    movdqa   %xmm4, 0x40(%rsp)\r
-    movdqa   %xmm5, 0x50(%rsp)\r
-\r
-    addq     $-0x20, %rsp\r
-    call     ASM_PFX(PageFaultHandler)\r
-    addq     $0x20, %rsp\r
-\r
-    movdqa   0(%rsp), %xmm0\r
-    movdqa   0x10(%rsp), %xmm1\r
-    movdqa   0x20(%rsp), %xmm2\r
-    movdqa   0x30(%rsp), %xmm3\r
-    movdqa   0x40(%rsp), %xmm4\r
-    movdqa   0x50(%rsp), %xmm5\r
-    addq     $0x68, %rsp\r
-\r
-    testb    %al, %al                     # set ZF flag\r
-    popq     %r11\r
-    popq     %r10\r
-    popq     %r9\r
-    popq     %r8\r
-    popq     %rdx\r
-    popq     %rcx\r
-    popq     %rax                         # restore all volatile registers\r
-    jnz      L1                           # check ZF flag\r
-#ifdef __APPLE__\r
-    int      $3\r
-#else\r
-    jmpq     *ASM_PFX(mOriginalHandler)\r
-#endif\r
-L1:\r
-    addq     $0x08, %rsp                  # skip error code for PF\r
-    iretq\r