]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Rename
authorvanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 25 Sep 2008 03:14:50 +0000 (03:14 +0000)
committervanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 25 Sep 2008 03:14:50 +0000 (03:14 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5982 6f19259b-4bc3-4df7-8a09-765794883524

22 files changed:
MdePkg/Library/BaseMemoryLibOptPei/X64/CompareMem.asm [new file with mode: 0644]
MdePkg/Library/BaseMemoryLibOptPei/X64/CopyMem.asm [new file with mode: 0644]
MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem16.asm [new file with mode: 0644]
MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem32.asm [new file with mode: 0644]
MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem64.asm [new file with mode: 0644]
MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem8.asm [new file with mode: 0644]
MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem.asm [new file with mode: 0644]
MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem16.asm [new file with mode: 0644]
MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem32.asm [new file with mode: 0644]
MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem64.asm [new file with mode: 0644]
MdePkg/Library/BaseMemoryLibOptPei/X64/ZeroMem.asm [new file with mode: 0644]
MdePkg/Library/BaseMemoryLibOptPei/x64/CompareMem.asm [deleted file]
MdePkg/Library/BaseMemoryLibOptPei/x64/CopyMem.asm [deleted file]
MdePkg/Library/BaseMemoryLibOptPei/x64/ScanMem16.asm [deleted file]
MdePkg/Library/BaseMemoryLibOptPei/x64/ScanMem32.asm [deleted file]
MdePkg/Library/BaseMemoryLibOptPei/x64/ScanMem64.asm [deleted file]
MdePkg/Library/BaseMemoryLibOptPei/x64/ScanMem8.asm [deleted file]
MdePkg/Library/BaseMemoryLibOptPei/x64/SetMem.asm [deleted file]
MdePkg/Library/BaseMemoryLibOptPei/x64/SetMem16.asm [deleted file]
MdePkg/Library/BaseMemoryLibOptPei/x64/SetMem32.asm [deleted file]
MdePkg/Library/BaseMemoryLibOptPei/x64/SetMem64.asm [deleted file]
MdePkg/Library/BaseMemoryLibOptPei/x64/ZeroMem.asm [deleted file]

diff --git a/MdePkg/Library/BaseMemoryLibOptPei/X64/CompareMem.asm b/MdePkg/Library/BaseMemoryLibOptPei/X64/CompareMem.asm
new file mode 100644 (file)
index 0000000..7446a05
--- /dev/null
@@ -0,0 +1,54 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. 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
+;   CompareMem.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   CompareMem function\r
+;\r
+; Notes:\r
+;\r
+;   The following BaseMemoryLib instances contain the same copy of this file:\r
+;\r
+;       BaseMemoryLibRepStr\r
+;       BaseMemoryLibMmx\r
+;       BaseMemoryLibSse2\r
+;       BaseMemoryLibOptDxe\r
+;       BaseMemoryLibOptPei\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; INTN\r
+; EFIAPI\r
+; InternalMemCompareMem (\r
+;   IN      CONST VOID                *DestinationBuffer,\r
+;   IN      CONST VOID                *SourceBuffer,\r
+;   IN      UINTN                     Length\r
+;   );\r
+;------------------------------------------------------------------------------\r
+InternalMemCompareMem   PROC    USES    rsi rdi\r
+    mov     rsi, rcx\r
+    mov     rdi, rdx\r
+    mov     rcx, r8\r
+    repe    cmpsb\r
+    movzx   rax, byte ptr [rsi - 1]\r
+    movzx   rdx, byte ptr [rdi - 1]\r
+    sub     rax, rdx\r
+    ret\r
+InternalMemCompareMem   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/X64/CopyMem.asm b/MdePkg/Library/BaseMemoryLibOptPei/X64/CopyMem.asm
new file mode 100644 (file)
index 0000000..c2b5d6f
--- /dev/null
@@ -0,0 +1,61 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. 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
+;   CopyMem.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   CopyMem function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+;  VOID *\r
+;  EFIAPI\r
+;  InternalMemCopyMem (\r
+;    IN VOID   *Destination,\r
+;    IN VOID   *Source,\r
+;    IN UINTN  Count\r
+;    )\r
+;------------------------------------------------------------------------------\r
+InternalMemCopyMem  PROC    USES    rsi rdi\r
+    mov     rsi, rdx                    ; rsi <- Source\r
+    mov     rdi, rcx                    ; rdi <- Destination\r
+    lea     r9, [rsi + r8 - 1]          ; r9 <- End of Source\r
+    cmp     rsi, rdi\r
+    mov     rax, rdi                    ; rax <- Destination as return value\r
+    jae     @F\r
+    cmp     r9, rdi\r
+    jae     @CopyBackward               ; Copy backward if overlapped\r
+@@:\r
+    mov     rcx, r8\r
+    and     r8, 7\r
+    shr     rcx, 3\r
+    rep     movsq                       ; Copy as many Qwords as possible\r
+    jmp     @CopyBytes\r
+@CopyBackward:\r
+    mov     rsi, r9                     ; rsi <- End of Source\r
+    lea     rdi, [rdi + r8 - 1]         ; esi <- End of Destination\r
+    std                                 ; set direction flag\r
+@CopyBytes:\r
+    mov     rcx, r8\r
+    rep     movsb                       ; Copy bytes backward\r
+    cld\r
+    ret\r
+InternalMemCopyMem  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem16.asm b/MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem16.asm
new file mode 100644 (file)
index 0000000..0871a4b
--- /dev/null
@@ -0,0 +1,53 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. 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
+;   ScanMem16.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   ScanMem16 function\r
+;\r
+; Notes:\r
+;\r
+;   The following BaseMemoryLib instances contain the same copy of this file:\r
+;\r
+;       BaseMemoryLibRepStr\r
+;       BaseMemoryLibMmx\r
+;       BaseMemoryLibSse2\r
+;       BaseMemoryLibOptDxe\r
+;       BaseMemoryLibOptPei\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; CONST VOID *\r
+; EFIAPI\r
+; InternalMemScanMem16 (\r
+;   IN      CONST VOID                *Buffer,\r
+;   IN      UINTN                     Length,\r
+;   IN      UINT16                    Value\r
+;   );\r
+;------------------------------------------------------------------------------\r
+InternalMemScanMem16    PROC    USES    rdi\r
+    mov     rdi, rcx\r
+    mov     rax, r8\r
+    mov     rcx, rdx\r
+    repne   scasw\r
+    lea     rax, [rdi - 2]\r
+    cmovnz  rax, rcx\r
+    ret\r
+InternalMemScanMem16    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem32.asm b/MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem32.asm
new file mode 100644 (file)
index 0000000..53a33ba
--- /dev/null
@@ -0,0 +1,53 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. 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
+;   ScanMem32.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   ScanMem32 function\r
+;\r
+; Notes:\r
+;\r
+;   The following BaseMemoryLib instances contain the same copy of this file:\r
+;\r
+;       BaseMemoryLibRepStr\r
+;       BaseMemoryLibMmx\r
+;       BaseMemoryLibSse2\r
+;       BaseMemoryLibOptDxe\r
+;       BaseMemoryLibOptPei\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; CONST VOID *\r
+; EFIAPI\r
+; InternalMemScanMem32 (\r
+;   IN      CONST VOID                *Buffer,\r
+;   IN      UINTN                     Length,\r
+;   IN      UINT32                    Value\r
+;   );\r
+;------------------------------------------------------------------------------\r
+InternalMemScanMem32    PROC    USES    rdi\r
+    mov     rdi, rcx\r
+    mov     rax, r8\r
+    mov     rcx, rdx\r
+    repne   scasd\r
+    lea     rax, [rdi - 4]\r
+    cmovnz  rax, rcx\r
+    ret\r
+InternalMemScanMem32    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem64.asm b/MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem64.asm
new file mode 100644 (file)
index 0000000..71f85a1
--- /dev/null
@@ -0,0 +1,53 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. 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
+;   ScanMem64.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   ScanMem64 function\r
+;\r
+; Notes:\r
+;\r
+;   The following BaseMemoryLib instances contain the same copy of this file:\r
+;\r
+;       BaseMemoryLibRepStr\r
+;       BaseMemoryLibMmx\r
+;       BaseMemoryLibSse2\r
+;       BaseMemoryLibOptDxe\r
+;       BaseMemoryLibOptPei\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; CONST VOID *\r
+; EFIAPI\r
+; InternalMemScanMem64 (\r
+;   IN      CONST VOID                *Buffer,\r
+;   IN      UINTN                     Length,\r
+;   IN      UINT64                    Value\r
+;   );\r
+;------------------------------------------------------------------------------\r
+InternalMemScanMem64    PROC    USES    rdi\r
+    mov     rdi, rcx\r
+    mov     rax, r8\r
+    mov     rcx, rdx\r
+    repne   scasq\r
+    lea     rax, [rdi - 8]\r
+    cmovnz  rax, rcx\r
+    ret\r
+InternalMemScanMem64    ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem8.asm b/MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem8.asm
new file mode 100644 (file)
index 0000000..39adb01
--- /dev/null
@@ -0,0 +1,53 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. 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
+;   ScanMem8.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   ScanMem8 function\r
+;\r
+; Notes:\r
+;\r
+;   The following BaseMemoryLib instances contain the same copy of this file:\r
+;\r
+;       BaseMemoryLibRepStr\r
+;       BaseMemoryLibMmx\r
+;       BaseMemoryLibSse2\r
+;       BaseMemoryLibOptDxe\r
+;       BaseMemoryLibOptPei\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+; CONST VOID *\r
+; EFIAPI\r
+; InternalMemScanMem8 (\r
+;   IN      CONST VOID                *Buffer,\r
+;   IN      UINTN                     Length,\r
+;   IN      UINT8                     Value\r
+;   );\r
+;------------------------------------------------------------------------------\r
+InternalMemScanMem8 PROC    USES    rdi\r
+    mov     rdi, rcx\r
+    mov     rcx, rdx\r
+    mov     rax, r8\r
+    repne   scasb\r
+    lea     rax, [rdi - 1]\r
+    cmovnz  rax, rcx                    ; set rax to 0 if not found\r
+    ret\r
+InternalMemScanMem8 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem.asm b/MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem.asm
new file mode 100644 (file)
index 0000000..ecde8ec
--- /dev/null
@@ -0,0 +1,45 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. 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
+;   SetMem.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   SetMem function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+;  VOID *\r
+;  EFIAPI\r
+;  InternalMemSetMem (\r
+;    IN VOID   *Buffer,\r
+;    IN UINTN  Count,\r
+;    IN UINT8  Value\r
+;    )\r
+;------------------------------------------------------------------------------\r
+InternalMemSetMem   PROC    USES    rdi\r
+    push    rcx         ; push Buffer\r
+    mov     rax, r8              ; rax = Value\r
+    mov     rdi, rcx           ; rdi = Buffer\r
+    mov     rcx, rdx           ; rcx = Count\r
+    rep     stosb\r
+    pop     rax                  ; rax = Buffer\r
+    ret\r
+InternalMemSetMem   ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem16.asm b/MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem16.asm
new file mode 100644 (file)
index 0000000..fce9ed7
--- /dev/null
@@ -0,0 +1,44 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. 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
+;   SetMem16.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   SetMem16 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+;  VOID *\r
+;  EFIAPI\r
+;  InternalMemSetMem16 (\r
+;    IN VOID   *Buffer,\r
+;    IN UINTN  Count,\r
+;    IN UINT16 Value\r
+;    )\r
+;------------------------------------------------------------------------------\r
+InternalMemSetMem16 PROC    USES    rdi\r
+    mov     rdi, rcx\r
+    mov     rax, r8\r
+    xchg    rcx, rdx\r
+    rep     stosw\r
+    mov     rax, rdx\r
+    ret\r
+InternalMemSetMem16 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem32.asm b/MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem32.asm
new file mode 100644 (file)
index 0000000..ce9e54d
--- /dev/null
@@ -0,0 +1,44 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. 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
+;   SetMem32.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   SetMem32 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+;  VOID *\r
+;  EFIAPI\r
+;  InternalMemSetMem32 (\r
+;    IN VOID   *Buffer,\r
+;    IN UINTN  Count,\r
+;    IN UINT32 Value\r
+;    );\r
+;------------------------------------------------------------------------------\r
+InternalMemSetMem32 PROC    USES    rdi\r
+    mov     rdi, rcx\r
+    mov     rax, r8\r
+    xchg    rcx, rdx\r
+    rep     stosd\r
+    mov     rax, rdx\r
+    ret\r
+InternalMemSetMem32 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem64.asm b/MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem64.asm
new file mode 100644 (file)
index 0000000..97884a3
--- /dev/null
@@ -0,0 +1,43 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. 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
+;   SetMem64.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   SetMem64 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+;  VOID *\r
+;  InternalMemSetMem64 (\r
+;    IN VOID   *Buffer,\r
+;    IN UINTN  Count,\r
+;    IN UINT64 Value\r
+;    )\r
+;------------------------------------------------------------------------------\r
+InternalMemSetMem64 PROC    USES    rdi\r
+    mov     rdi, rcx\r
+    mov     rax, r8\r
+    xchg    rcx, rdx\r
+    rep     stosq\r
+    mov     rax, rdx\r
+    ret\r
+InternalMemSetMem64 ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/X64/ZeroMem.asm b/MdePkg/Library/BaseMemoryLibOptPei/X64/ZeroMem.asm
new file mode 100644 (file)
index 0000000..c01af8e
--- /dev/null
@@ -0,0 +1,47 @@
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation\r
+; All rights reserved. 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
+;   ZeroMem.Asm\r
+;\r
+; Abstract:\r
+;\r
+;   ZeroMem function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+    .code\r
+\r
+;------------------------------------------------------------------------------\r
+;  VOID *\r
+;  InternalMemZeroMem (\r
+;    IN VOID   *Buffer,\r
+;    IN UINTN  Count\r
+;    );\r
+;------------------------------------------------------------------------------\r
+InternalMemZeroMem  PROC    USES    rdi\r
+    push    rcx\r
+    xor     rax, rax\r
+    mov     rdi, rcx\r
+    mov     rcx, rdx\r
+    shr     rcx, 3\r
+    and     rdx, 7\r
+    rep     stosq\r
+    mov     ecx, edx\r
+    rep     stosb\r
+    pop     rax\r
+    ret\r
+InternalMemZeroMem  ENDP\r
+\r
+    END\r
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/x64/CompareMem.asm b/MdePkg/Library/BaseMemoryLibOptPei/x64/CompareMem.asm
deleted file mode 100644 (file)
index 7446a05..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. 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
-;   CompareMem.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   CompareMem function\r
-;\r
-; Notes:\r
-;\r
-;   The following BaseMemoryLib instances contain the same copy of this file:\r
-;\r
-;       BaseMemoryLibRepStr\r
-;       BaseMemoryLibMmx\r
-;       BaseMemoryLibSse2\r
-;       BaseMemoryLibOptDxe\r
-;       BaseMemoryLibOptPei\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; INTN\r
-; EFIAPI\r
-; InternalMemCompareMem (\r
-;   IN      CONST VOID                *DestinationBuffer,\r
-;   IN      CONST VOID                *SourceBuffer,\r
-;   IN      UINTN                     Length\r
-;   );\r
-;------------------------------------------------------------------------------\r
-InternalMemCompareMem   PROC    USES    rsi rdi\r
-    mov     rsi, rcx\r
-    mov     rdi, rdx\r
-    mov     rcx, r8\r
-    repe    cmpsb\r
-    movzx   rax, byte ptr [rsi - 1]\r
-    movzx   rdx, byte ptr [rdi - 1]\r
-    sub     rax, rdx\r
-    ret\r
-InternalMemCompareMem   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/x64/CopyMem.asm b/MdePkg/Library/BaseMemoryLibOptPei/x64/CopyMem.asm
deleted file mode 100644 (file)
index c2b5d6f..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. 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
-;   CopyMem.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   CopyMem function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-;  VOID *\r
-;  EFIAPI\r
-;  InternalMemCopyMem (\r
-;    IN VOID   *Destination,\r
-;    IN VOID   *Source,\r
-;    IN UINTN  Count\r
-;    )\r
-;------------------------------------------------------------------------------\r
-InternalMemCopyMem  PROC    USES    rsi rdi\r
-    mov     rsi, rdx                    ; rsi <- Source\r
-    mov     rdi, rcx                    ; rdi <- Destination\r
-    lea     r9, [rsi + r8 - 1]          ; r9 <- End of Source\r
-    cmp     rsi, rdi\r
-    mov     rax, rdi                    ; rax <- Destination as return value\r
-    jae     @F\r
-    cmp     r9, rdi\r
-    jae     @CopyBackward               ; Copy backward if overlapped\r
-@@:\r
-    mov     rcx, r8\r
-    and     r8, 7\r
-    shr     rcx, 3\r
-    rep     movsq                       ; Copy as many Qwords as possible\r
-    jmp     @CopyBytes\r
-@CopyBackward:\r
-    mov     rsi, r9                     ; rsi <- End of Source\r
-    lea     rdi, [rdi + r8 - 1]         ; esi <- End of Destination\r
-    std                                 ; set direction flag\r
-@CopyBytes:\r
-    mov     rcx, r8\r
-    rep     movsb                       ; Copy bytes backward\r
-    cld\r
-    ret\r
-InternalMemCopyMem  ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/x64/ScanMem16.asm b/MdePkg/Library/BaseMemoryLibOptPei/x64/ScanMem16.asm
deleted file mode 100644 (file)
index 0871a4b..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. 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
-;   ScanMem16.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   ScanMem16 function\r
-;\r
-; Notes:\r
-;\r
-;   The following BaseMemoryLib instances contain the same copy of this file:\r
-;\r
-;       BaseMemoryLibRepStr\r
-;       BaseMemoryLibMmx\r
-;       BaseMemoryLibSse2\r
-;       BaseMemoryLibOptDxe\r
-;       BaseMemoryLibOptPei\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; CONST VOID *\r
-; EFIAPI\r
-; InternalMemScanMem16 (\r
-;   IN      CONST VOID                *Buffer,\r
-;   IN      UINTN                     Length,\r
-;   IN      UINT16                    Value\r
-;   );\r
-;------------------------------------------------------------------------------\r
-InternalMemScanMem16    PROC    USES    rdi\r
-    mov     rdi, rcx\r
-    mov     rax, r8\r
-    mov     rcx, rdx\r
-    repne   scasw\r
-    lea     rax, [rdi - 2]\r
-    cmovnz  rax, rcx\r
-    ret\r
-InternalMemScanMem16    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/x64/ScanMem32.asm b/MdePkg/Library/BaseMemoryLibOptPei/x64/ScanMem32.asm
deleted file mode 100644 (file)
index 53a33ba..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. 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
-;   ScanMem32.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   ScanMem32 function\r
-;\r
-; Notes:\r
-;\r
-;   The following BaseMemoryLib instances contain the same copy of this file:\r
-;\r
-;       BaseMemoryLibRepStr\r
-;       BaseMemoryLibMmx\r
-;       BaseMemoryLibSse2\r
-;       BaseMemoryLibOptDxe\r
-;       BaseMemoryLibOptPei\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; CONST VOID *\r
-; EFIAPI\r
-; InternalMemScanMem32 (\r
-;   IN      CONST VOID                *Buffer,\r
-;   IN      UINTN                     Length,\r
-;   IN      UINT32                    Value\r
-;   );\r
-;------------------------------------------------------------------------------\r
-InternalMemScanMem32    PROC    USES    rdi\r
-    mov     rdi, rcx\r
-    mov     rax, r8\r
-    mov     rcx, rdx\r
-    repne   scasd\r
-    lea     rax, [rdi - 4]\r
-    cmovnz  rax, rcx\r
-    ret\r
-InternalMemScanMem32    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/x64/ScanMem64.asm b/MdePkg/Library/BaseMemoryLibOptPei/x64/ScanMem64.asm
deleted file mode 100644 (file)
index 71f85a1..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. 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
-;   ScanMem64.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   ScanMem64 function\r
-;\r
-; Notes:\r
-;\r
-;   The following BaseMemoryLib instances contain the same copy of this file:\r
-;\r
-;       BaseMemoryLibRepStr\r
-;       BaseMemoryLibMmx\r
-;       BaseMemoryLibSse2\r
-;       BaseMemoryLibOptDxe\r
-;       BaseMemoryLibOptPei\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; CONST VOID *\r
-; EFIAPI\r
-; InternalMemScanMem64 (\r
-;   IN      CONST VOID                *Buffer,\r
-;   IN      UINTN                     Length,\r
-;   IN      UINT64                    Value\r
-;   );\r
-;------------------------------------------------------------------------------\r
-InternalMemScanMem64    PROC    USES    rdi\r
-    mov     rdi, rcx\r
-    mov     rax, r8\r
-    mov     rcx, rdx\r
-    repne   scasq\r
-    lea     rax, [rdi - 8]\r
-    cmovnz  rax, rcx\r
-    ret\r
-InternalMemScanMem64    ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/x64/ScanMem8.asm b/MdePkg/Library/BaseMemoryLibOptPei/x64/ScanMem8.asm
deleted file mode 100644 (file)
index 39adb01..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. 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
-;   ScanMem8.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   ScanMem8 function\r
-;\r
-; Notes:\r
-;\r
-;   The following BaseMemoryLib instances contain the same copy of this file:\r
-;\r
-;       BaseMemoryLibRepStr\r
-;       BaseMemoryLibMmx\r
-;       BaseMemoryLibSse2\r
-;       BaseMemoryLibOptDxe\r
-;       BaseMemoryLibOptPei\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-; CONST VOID *\r
-; EFIAPI\r
-; InternalMemScanMem8 (\r
-;   IN      CONST VOID                *Buffer,\r
-;   IN      UINTN                     Length,\r
-;   IN      UINT8                     Value\r
-;   );\r
-;------------------------------------------------------------------------------\r
-InternalMemScanMem8 PROC    USES    rdi\r
-    mov     rdi, rcx\r
-    mov     rcx, rdx\r
-    mov     rax, r8\r
-    repne   scasb\r
-    lea     rax, [rdi - 1]\r
-    cmovnz  rax, rcx                    ; set rax to 0 if not found\r
-    ret\r
-InternalMemScanMem8 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/x64/SetMem.asm b/MdePkg/Library/BaseMemoryLibOptPei/x64/SetMem.asm
deleted file mode 100644 (file)
index ecde8ec..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. 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
-;   SetMem.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   SetMem function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-;  VOID *\r
-;  EFIAPI\r
-;  InternalMemSetMem (\r
-;    IN VOID   *Buffer,\r
-;    IN UINTN  Count,\r
-;    IN UINT8  Value\r
-;    )\r
-;------------------------------------------------------------------------------\r
-InternalMemSetMem   PROC    USES    rdi\r
-    push    rcx         ; push Buffer\r
-    mov     rax, r8              ; rax = Value\r
-    mov     rdi, rcx           ; rdi = Buffer\r
-    mov     rcx, rdx           ; rcx = Count\r
-    rep     stosb\r
-    pop     rax                  ; rax = Buffer\r
-    ret\r
-InternalMemSetMem   ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/x64/SetMem16.asm b/MdePkg/Library/BaseMemoryLibOptPei/x64/SetMem16.asm
deleted file mode 100644 (file)
index fce9ed7..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. 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
-;   SetMem16.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   SetMem16 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-;  VOID *\r
-;  EFIAPI\r
-;  InternalMemSetMem16 (\r
-;    IN VOID   *Buffer,\r
-;    IN UINTN  Count,\r
-;    IN UINT16 Value\r
-;    )\r
-;------------------------------------------------------------------------------\r
-InternalMemSetMem16 PROC    USES    rdi\r
-    mov     rdi, rcx\r
-    mov     rax, r8\r
-    xchg    rcx, rdx\r
-    rep     stosw\r
-    mov     rax, rdx\r
-    ret\r
-InternalMemSetMem16 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/x64/SetMem32.asm b/MdePkg/Library/BaseMemoryLibOptPei/x64/SetMem32.asm
deleted file mode 100644 (file)
index ce9e54d..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. 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
-;   SetMem32.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   SetMem32 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-;  VOID *\r
-;  EFIAPI\r
-;  InternalMemSetMem32 (\r
-;    IN VOID   *Buffer,\r
-;    IN UINTN  Count,\r
-;    IN UINT32 Value\r
-;    );\r
-;------------------------------------------------------------------------------\r
-InternalMemSetMem32 PROC    USES    rdi\r
-    mov     rdi, rcx\r
-    mov     rax, r8\r
-    xchg    rcx, rdx\r
-    rep     stosd\r
-    mov     rax, rdx\r
-    ret\r
-InternalMemSetMem32 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/x64/SetMem64.asm b/MdePkg/Library/BaseMemoryLibOptPei/x64/SetMem64.asm
deleted file mode 100644 (file)
index 97884a3..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. 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
-;   SetMem64.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   SetMem64 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-;  VOID *\r
-;  InternalMemSetMem64 (\r
-;    IN VOID   *Buffer,\r
-;    IN UINTN  Count,\r
-;    IN UINT64 Value\r
-;    )\r
-;------------------------------------------------------------------------------\r
-InternalMemSetMem64 PROC    USES    rdi\r
-    mov     rdi, rcx\r
-    mov     rax, r8\r
-    xchg    rcx, rdx\r
-    rep     stosq\r
-    mov     rax, rdx\r
-    ret\r
-InternalMemSetMem64 ENDP\r
-\r
-    END\r
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/x64/ZeroMem.asm b/MdePkg/Library/BaseMemoryLibOptPei/x64/ZeroMem.asm
deleted file mode 100644 (file)
index c01af8e..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation\r
-; All rights reserved. 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
-;   ZeroMem.Asm\r
-;\r
-; Abstract:\r
-;\r
-;   ZeroMem function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    .code\r
-\r
-;------------------------------------------------------------------------------\r
-;  VOID *\r
-;  InternalMemZeroMem (\r
-;    IN VOID   *Buffer,\r
-;    IN UINTN  Count\r
-;    );\r
-;------------------------------------------------------------------------------\r
-InternalMemZeroMem  PROC    USES    rdi\r
-    push    rcx\r
-    xor     rax, rax\r
-    mov     rdi, rcx\r
-    mov     rcx, rdx\r
-    shr     rcx, 3\r
-    and     rdx, 7\r
-    rep     stosq\r
-    mov     ecx, edx\r
-    rep     stosb\r
-    pop     rax\r
-    ret\r
-InternalMemZeroMem  ENDP\r
-\r
-    END\r