Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.5:Update
ovmf
ovmf-Revert-MdePkg-Replace-Opcode-with-the-corr...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File ovmf-Revert-MdePkg-Replace-Opcode-with-the-corresponding-.patch of Package ovmf
From f0304acd288b9cba253cb53174b98c3c281c1a8b Mon Sep 17 00:00:00 2001 From: "Lee, Chun-Yi" <jlee@suse.com> Date: Tue, 23 Aug 2022 16:56:44 +0800 Subject: [PATCH 4/5] Revert "MdePkg: Replace Opcode with the corresponding instructions." This reverts commit d3febfd9ade35dc552df6b3607c2b15d26b82867. Signed-off-by: Lee, Chun-Yi <jlee@suse.com> --- .../Library/BaseLib/Ia32/EnablePaging64.nasm | 20 +++++++++++-------- MdePkg/Library/BaseLib/Ia32/LongJump.nasm | 6 +++--- MdePkg/Library/BaseLib/Ia32/Monitor.nasm | 4 ++-- MdePkg/Library/BaseLib/Ia32/Mwait.nasm | 4 ++-- MdePkg/Library/BaseLib/Ia32/RdRand.nasm | 13 +++++++----- MdePkg/Library/BaseLib/Ia32/ReadDr4.nasm | 6 +++--- MdePkg/Library/BaseLib/Ia32/ReadDr5.nasm | 6 +++--- MdePkg/Library/BaseLib/Ia32/SetJump.nasm | 6 +++--- MdePkg/Library/BaseLib/Ia32/WriteDr4.nasm | 6 +++--- MdePkg/Library/BaseLib/Ia32/WriteDr5.nasm | 6 +++--- .../Library/BaseLib/X64/DisablePaging64.nasm | 5 +++-- MdePkg/Library/BaseLib/X64/LongJump.nasm | 6 +++--- MdePkg/Library/BaseLib/X64/Monitor.nasm | 4 ++-- MdePkg/Library/BaseLib/X64/Mwait.nasm | 4 ++-- MdePkg/Library/BaseLib/X64/RdRand.nasm | 11 ++++++---- MdePkg/Library/BaseLib/X64/ReadDr4.nasm | 4 ++-- MdePkg/Library/BaseLib/X64/ReadDr5.nasm | 4 ++-- MdePkg/Library/BaseLib/X64/ReadMm0.nasm | 7 +++++-- MdePkg/Library/BaseLib/X64/ReadMm1.nasm | 7 +++++-- MdePkg/Library/BaseLib/X64/ReadMm2.nasm | 7 +++++-- MdePkg/Library/BaseLib/X64/ReadMm3.nasm | 7 +++++-- MdePkg/Library/BaseLib/X64/ReadMm4.nasm | 7 +++++-- MdePkg/Library/BaseLib/X64/ReadMm5.nasm | 7 +++++-- MdePkg/Library/BaseLib/X64/ReadMm6.nasm | 7 +++++-- MdePkg/Library/BaseLib/X64/ReadMm7.nasm | 7 +++++-- MdePkg/Library/BaseLib/X64/SetJump.nasm | 6 +++--- MdePkg/Library/BaseLib/X64/WriteDr4.nasm | 4 ++-- MdePkg/Library/BaseLib/X64/WriteDr5.nasm | 4 ++-- MdePkg/Library/BaseLib/X64/WriteMm0.nasm | 7 +++++-- MdePkg/Library/BaseLib/X64/WriteMm1.nasm | 7 +++++-- MdePkg/Library/BaseLib/X64/WriteMm2.nasm | 7 +++++-- MdePkg/Library/BaseLib/X64/WriteMm3.nasm | 7 +++++-- MdePkg/Library/BaseLib/X64/WriteMm4.nasm | 7 +++++-- MdePkg/Library/BaseLib/X64/WriteMm5.nasm | 7 +++++-- MdePkg/Library/BaseLib/X64/WriteMm6.nasm | 7 +++++-- MdePkg/Library/BaseLib/X64/WriteMm7.nasm | 7 +++++-- .../Library/BaseMemoryLibMmx/X64/CopyMem.nasm | 10 +++++----- .../Library/BaseMemoryLibMmx/X64/SetMem.nasm | 8 ++++---- .../BaseMemoryLibMmx/X64/SetMem16.nasm | 8 ++++---- .../BaseMemoryLibMmx/X64/SetMem32.nasm | 10 +++++----- .../BaseMemoryLibMmx/X64/SetMem64.nasm | 6 +++--- .../Library/BaseMemoryLibMmx/X64/ZeroMem.nasm | 8 ++++---- 42 files changed, 175 insertions(+), 116 deletions(-) diff --git a/MdePkg/Library/BaseLib/Ia32/EnablePaging64.nasm b/MdePkg/Library/BaseLib/Ia32/EnablePaging64.nasm index ef11458077..544e3c3892 100644 --- a/MdePkg/Library/BaseLib/Ia32/EnablePaging64.nasm +++ b/MdePkg/Library/BaseLib/Ia32/EnablePaging64.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -44,12 +44,16 @@ ASM_PFX(InternalX86EnablePaging64): mov cr0, eax ; enable paging retf ; topmost 2 dwords hold the address .0: -BITS 64 - mov rbx, [esp] - mov rcx, [esp + 8] - mov rdx, [esp + 0x10] - mov rsp, [esp + 0x18] - add rsp, -0x20 - call rbx + DB 0x67, 0x48 ; 32-bit address size, 64-bit operand size + mov ebx, [esp] ; mov rbx, [esp] + DB 0x67, 0x48 + mov ecx, [esp + 8] ; mov rcx, [esp + 8] + DB 0x67, 0x48 + mov edx, [esp + 0x10] ; mov rdx, [esp + 10h] + DB 0x67, 0x48 + mov esp, [esp + 0x18] ; mov rsp, [esp + 18h] + DB 0x48 + add esp, -0x20 ; add rsp, -20h + call ebx ; call rbx hlt ; no one should get here diff --git a/MdePkg/Library/BaseLib/Ia32/LongJump.nasm b/MdePkg/Library/BaseLib/Ia32/LongJump.nasm index 6c13dfe307..f94d10f806 100644 --- a/MdePkg/Library/BaseLib/Ia32/LongJump.nasm +++ b/MdePkg/Library/BaseLib/Ia32/LongJump.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -39,12 +39,12 @@ ASM_PFX(InternalLongJump): mov edx, [esp + 4] ; edx = JumpBuffer mov edx, [edx + 24] ; edx = target SSP - rdsspd eax + READSSP_EAX sub edx, eax ; edx = delta mov eax, edx ; eax = delta shr eax, 2 ; eax = delta/sizeof(UINT32) - incsspd eax + INCSSP_EAX CetDone: diff --git a/MdePkg/Library/BaseLib/Ia32/Monitor.nasm b/MdePkg/Library/BaseLib/Ia32/Monitor.nasm index 70dbe66e27..28dc0ba70a 100644 --- a/MdePkg/Library/BaseLib/Ia32/Monitor.nasm +++ b/MdePkg/Library/BaseLib/Ia32/Monitor.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -31,6 +31,6 @@ ASM_PFX(AsmMonitor): mov eax, [esp + 4] mov ecx, [esp + 8] mov edx, [esp + 12] - monitor + DB 0xf, 1, 0xc8 ; monitor ret diff --git a/MdePkg/Library/BaseLib/Ia32/Mwait.nasm b/MdePkg/Library/BaseLib/Ia32/Mwait.nasm index 2d36a97df6..3956940cab 100644 --- a/MdePkg/Library/BaseLib/Ia32/Mwait.nasm +++ b/MdePkg/Library/BaseLib/Ia32/Mwait.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -29,6 +29,6 @@ global ASM_PFX(AsmMwait) ASM_PFX(AsmMwait): mov eax, [esp + 4] mov ecx, [esp + 8] - mwait + DB 0xf, 1, 0xc9 ; mwait ret diff --git a/MdePkg/Library/BaseLib/Ia32/RdRand.nasm b/MdePkg/Library/BaseLib/Ia32/RdRand.nasm index d818b6ef55..e12b8e9611 100644 --- a/MdePkg/Library/BaseLib/Ia32/RdRand.nasm +++ b/MdePkg/Library/BaseLib/Ia32/RdRand.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2015 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -25,8 +25,9 @@ SECTION .text ;------------------------------------------------------------------------------ global ASM_PFX(InternalX86RdRand16) ASM_PFX(InternalX86RdRand16): - rdrand eax ; generate a 16 bit RN into ax + ; rdrand ax ; generate a 16 bit RN into ax ; CF=1 if RN generated ok, otherwise CF=0 + db 0xf, 0xc7, 0xf0 ; rdrand r16: "0f c7 /6 ModRM:r/m(w)" jc rn16_ok ; jmp if CF=1 xor eax, eax ; reg=0 if CF=0 ret ; return with failure status @@ -44,8 +45,9 @@ rn16_ok: ;------------------------------------------------------------------------------ global ASM_PFX(InternalX86RdRand32) ASM_PFX(InternalX86RdRand32): - rdrand eax ; generate a 32 bit RN into eax + ; rdrand eax ; generate a 32 bit RN into eax ; CF=1 if RN generated ok, otherwise CF=0 + db 0xf, 0xc7, 0xf0 ; rdrand r32: "0f c7 /6 ModRM:r/m(w)" jc rn32_ok ; jmp if CF=1 xor eax, eax ; reg=0 if CF=0 ret ; return with failure status @@ -63,13 +65,14 @@ rn32_ok: ;------------------------------------------------------------------------------ global ASM_PFX(InternalX86RdRand64) ASM_PFX(InternalX86RdRand64): - rdrand eax ; generate a 32 bit RN into eax + ; rdrand eax ; generate a 32 bit RN into eax ; CF=1 if RN generated ok, otherwise CF=0 + db 0xf, 0xc7, 0xf0 ; rdrand r32: "0f c7 /6 ModRM:r/m(w)" jnc rn64_ret ; jmp if CF=0 mov edx, dword [esp + 4] mov [edx], eax - rdrand eax ; generate another 32 bit RN + db 0xf, 0xc7, 0xf0 ; generate another 32 bit RN jnc rn64_ret ; jmp if CF=0 mov [edx + 4], eax diff --git a/MdePkg/Library/BaseLib/Ia32/ReadDr4.nasm b/MdePkg/Library/BaseLib/Ia32/ReadDr4.nasm index 1c312b670d..81c681de34 100644 --- a/MdePkg/Library/BaseLib/Ia32/ReadDr4.nasm +++ b/MdePkg/Library/BaseLib/Ia32/ReadDr4.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -31,8 +31,8 @@ ASM_PFX(AsmReadDr4): ; this register will cause a #UD exception. ; ; MS assembler doesn't support this instruction since no one would use it - ; under normal circustances. + ; under normal circustances. Here opcode is used. ; - mov eax, dr4 + DB 0xf, 0x21, 0xe0 ret diff --git a/MdePkg/Library/BaseLib/Ia32/ReadDr5.nasm b/MdePkg/Library/BaseLib/Ia32/ReadDr5.nasm index 07a1b44a00..e2deacb832 100644 --- a/MdePkg/Library/BaseLib/Ia32/ReadDr5.nasm +++ b/MdePkg/Library/BaseLib/Ia32/ReadDr5.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -31,8 +31,8 @@ ASM_PFX(AsmReadDr5): ; this register will cause a #UD exception. ; ; MS assembler doesn't support this instruction since no one would use it - ; under normal circustances. + ; under normal circustances. Here opcode is used. ; - mov eax, dr5 + DB 0xf, 0x21, 0xe8 ret diff --git a/MdePkg/Library/BaseLib/Ia32/SetJump.nasm b/MdePkg/Library/BaseLib/Ia32/SetJump.nasm index 2577373241..364613b5f9 100644 --- a/MdePkg/Library/BaseLib/Ia32/SetJump.nasm +++ b/MdePkg/Library/BaseLib/Ia32/SetJump.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -46,8 +46,8 @@ ASM_PFX(SetJump): jnc CetDone mov eax, 1 - incsspd eax ; to read original SSP - rdsspd eax + INCSSP_EAX ; to read original SSP + READSSP_EAX mov [edx + 0x24], eax ; save SSP CetDone: diff --git a/MdePkg/Library/BaseLib/Ia32/WriteDr4.nasm b/MdePkg/Library/BaseLib/Ia32/WriteDr4.nasm index b8479b39f7..0d23fca111 100644 --- a/MdePkg/Library/BaseLib/Ia32/WriteDr4.nasm +++ b/MdePkg/Library/BaseLib/Ia32/WriteDr4.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -32,8 +32,8 @@ ASM_PFX(AsmWriteDr4): ; this register will cause a #UD exception. ; ; MS assembler doesn't support this instruction since no one would use it - ; under normal circustances. + ; under normal circustances. Here opcode is used. ; - mov dr4, eax + DB 0xf, 0x23, 0xe0 ret diff --git a/MdePkg/Library/BaseLib/Ia32/WriteDr5.nasm b/MdePkg/Library/BaseLib/Ia32/WriteDr5.nasm index 3545561025..bc5f424b8d 100644 --- a/MdePkg/Library/BaseLib/Ia32/WriteDr5.nasm +++ b/MdePkg/Library/BaseLib/Ia32/WriteDr5.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -32,8 +32,8 @@ ASM_PFX(AsmWriteDr5): ; this register will cause a #UD exception. ; ; MS assembler doesn't support this instruction since no one would use it - ; under normal circustances. + ; under normal circustances. Here opcode is used. ; - mov dr5, eax + DB 0xf, 0x23, 0xe8 ret diff --git a/MdePkg/Library/BaseLib/X64/DisablePaging64.nasm b/MdePkg/Library/BaseLib/X64/DisablePaging64.nasm index 200c408d9a..c76ed1a76c 100644 --- a/MdePkg/Library/BaseLib/X64/DisablePaging64.nasm +++ b/MdePkg/Library/BaseLib/X64/DisablePaging64.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -51,7 +51,8 @@ ASM_PFX(InternalX86DisablePaging64): sub eax, 4 ; eax <- One slot below transition code on the stack push rcx ; push Cs to stack push r10 ; push address of tansition code on stack - retfq + DB 0x48 ; prefix to composite "retq" with next "retf" + retf ; Use far return to load CS register from stack ; Start of transition code .0: diff --git a/MdePkg/Library/BaseLib/X64/LongJump.nasm b/MdePkg/Library/BaseLib/X64/LongJump.nasm index 2002f65cba..59f7092169 100644 --- a/MdePkg/Library/BaseLib/X64/LongJump.nasm +++ b/MdePkg/Library/BaseLib/X64/LongJump.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -41,12 +41,12 @@ ASM_PFX(InternalLongJump): push rdx ; save rdx mov rdx, [rcx + 0xF8] ; rdx = target SSP - rdsspq rax + READSSP_RAX sub rdx, rax ; rdx = delta mov rax, rdx ; rax = delta shr rax, 3 ; rax = delta/sizeof(UINT64) - incsspq rax + INCSSP_RAX pop rdx ; restore rdx CetDone: diff --git a/MdePkg/Library/BaseLib/X64/Monitor.nasm b/MdePkg/Library/BaseLib/X64/Monitor.nasm index 210037d402..e1ccb83a85 100644 --- a/MdePkg/Library/BaseLib/X64/Monitor.nasm +++ b/MdePkg/Library/BaseLib/X64/Monitor.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -32,6 +32,6 @@ ASM_PFX(AsmMonitor): mov eax, ecx mov ecx, edx mov edx, r8d - monitor + DB 0xf, 1, 0xc8 ; monitor ret diff --git a/MdePkg/Library/BaseLib/X64/Mwait.nasm b/MdePkg/Library/BaseLib/X64/Mwait.nasm index c8ad59588b..83fc895491 100644 --- a/MdePkg/Library/BaseLib/X64/Mwait.nasm +++ b/MdePkg/Library/BaseLib/X64/Mwait.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -30,6 +30,6 @@ global ASM_PFX(AsmMwait) ASM_PFX(AsmMwait): mov eax, ecx mov ecx, edx - mwait + DB 0xf, 1, 0xc9 ; mwait ret diff --git a/MdePkg/Library/BaseLib/X64/RdRand.nasm b/MdePkg/Library/BaseLib/X64/RdRand.nasm index 73479be8d3..7e7fe99670 100644 --- a/MdePkg/Library/BaseLib/X64/RdRand.nasm +++ b/MdePkg/Library/BaseLib/X64/RdRand.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2015 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -26,8 +26,9 @@ ;------------------------------------------------------------------------------ global ASM_PFX(InternalX86RdRand16) ASM_PFX(InternalX86RdRand16): - rdrand eax ; generate a 16 bit RN into eax, + ; rdrand ax ; generate a 16 bit RN into eax, ; CF=1 if RN generated ok, otherwise CF=0 + db 0xf, 0xc7, 0xf0 ; rdrand r16: "0f c7 /6 ModRM:r/m(w)" jc rn16_ok ; jmp if CF=1 xor rax, rax ; reg=0 if CF=0 ret ; return with failure status @@ -44,8 +45,9 @@ rn16_ok: ;------------------------------------------------------------------------------ global ASM_PFX(InternalX86RdRand32) ASM_PFX(InternalX86RdRand32): - rdrand eax ; generate a 32 bit RN into eax, + ; rdrand eax ; generate a 32 bit RN into eax, ; CF=1 if RN generated ok, otherwise CF=0 + db 0xf, 0xc7, 0xf0 ; rdrand r32: "0f c7 /6 ModRM:r/m(w)" jc rn32_ok ; jmp if CF=1 xor rax, rax ; reg=0 if CF=0 ret ; return with failure status @@ -62,8 +64,9 @@ rn32_ok: ;------------------------------------------------------------------------------ global ASM_PFX(InternalX86RdRand64) ASM_PFX(InternalX86RdRand64): - rdrand rax ; generate a 64 bit RN into rax, + ; rdrand rax ; generate a 64 bit RN into rax, ; CF=1 if RN generated ok, otherwise CF=0 + db 0x48, 0xf, 0xc7, 0xf0 ; rdrand r64: "REX.W + 0f c7 /6 ModRM:r/m(w)" jc rn64_ok ; jmp if CF=1 xor rax, rax ; reg=0 if CF=0 ret ; return with failure status diff --git a/MdePkg/Library/BaseLib/X64/ReadDr4.nasm b/MdePkg/Library/BaseLib/X64/ReadDr4.nasm index 90b2172cee..82c0a9a588 100644 --- a/MdePkg/Library/BaseLib/X64/ReadDr4.nasm +++ b/MdePkg/Library/BaseLib/X64/ReadDr4.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -31,6 +31,6 @@ ASM_PFX(AsmReadDr4): ; There's no obvious reason to access this register, since it's aliased to ; DR7 when DE=0 or an exception generated when DE=1 ; - mov rax, dr4 + DB 0xf, 0x21, 0xe0 ret diff --git a/MdePkg/Library/BaseLib/X64/ReadDr5.nasm b/MdePkg/Library/BaseLib/X64/ReadDr5.nasm index c1143f4498..c309c66dfe 100644 --- a/MdePkg/Library/BaseLib/X64/ReadDr5.nasm +++ b/MdePkg/Library/BaseLib/X64/ReadDr5.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -31,6 +31,6 @@ ASM_PFX(AsmReadDr5): ; There's no obvious reason to access this register, since it's aliased to ; DR7 when DE=0 or an exception generated when DE=1 ; - mov rax, dr5 + DB 0xf, 0x21, 0xe8 ret diff --git a/MdePkg/Library/BaseLib/X64/ReadMm0.nasm b/MdePkg/Library/BaseLib/X64/ReadMm0.nasm index e64b2c7882..615721b6aa 100644 --- a/MdePkg/Library/BaseLib/X64/ReadMm0.nasm +++ b/MdePkg/Library/BaseLib/X64/ReadMm0.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -27,6 +27,9 @@ ;------------------------------------------------------------------------------ global ASM_PFX(AsmReadMm0) ASM_PFX(AsmReadMm0): - movq rax, mm0 + ; + ; 64-bit MASM doesn't support MMX instructions, so use opcode here + ; + DB 0x48, 0xf, 0x7e, 0xc0 ret diff --git a/MdePkg/Library/BaseLib/X64/ReadMm1.nasm b/MdePkg/Library/BaseLib/X64/ReadMm1.nasm index bec3c71207..7b27393490 100644 --- a/MdePkg/Library/BaseLib/X64/ReadMm1.nasm +++ b/MdePkg/Library/BaseLib/X64/ReadMm1.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -27,6 +27,9 @@ ;------------------------------------------------------------------------------ global ASM_PFX(AsmReadMm1) ASM_PFX(AsmReadMm1): - movq rax, mm1 + ; + ; 64-bit MASM doesn't support MMX instructions, so use opcode here + ; + DB 0x48, 0xf, 0x7e, 0xc8 ret diff --git a/MdePkg/Library/BaseLib/X64/ReadMm2.nasm b/MdePkg/Library/BaseLib/X64/ReadMm2.nasm index 4c880697cb..c654b91a7a 100644 --- a/MdePkg/Library/BaseLib/X64/ReadMm2.nasm +++ b/MdePkg/Library/BaseLib/X64/ReadMm2.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -27,6 +27,9 @@ ;------------------------------------------------------------------------------ global ASM_PFX(AsmReadMm2) ASM_PFX(AsmReadMm2): - movq rax, mm2 + ; + ; 64-bit MASM doesn't support MMX instructions, so use opcode here + ; + DB 0x48, 0xf, 0x7e, 0xd0 ret diff --git a/MdePkg/Library/BaseLib/X64/ReadMm3.nasm b/MdePkg/Library/BaseLib/X64/ReadMm3.nasm index cf81e5a7ab..88d51c0781 100644 --- a/MdePkg/Library/BaseLib/X64/ReadMm3.nasm +++ b/MdePkg/Library/BaseLib/X64/ReadMm3.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -27,6 +27,9 @@ ;------------------------------------------------------------------------------ global ASM_PFX(AsmReadMm3) ASM_PFX(AsmReadMm3): - movq rax, mm3 + ; + ; 64-bit MASM doesn't support MMX instructions, so use opcode here + ; + DB 0x48, 0xf, 0x7e, 0xd8 ret diff --git a/MdePkg/Library/BaseLib/X64/ReadMm4.nasm b/MdePkg/Library/BaseLib/X64/ReadMm4.nasm index 17ba364e32..4252d20bb1 100644 --- a/MdePkg/Library/BaseLib/X64/ReadMm4.nasm +++ b/MdePkg/Library/BaseLib/X64/ReadMm4.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -27,6 +27,9 @@ ;------------------------------------------------------------------------------ global ASM_PFX(AsmReadMm4) ASM_PFX(AsmReadMm4): - movq rax, mm4 + ; + ; 64-bit MASM doesn't support MMX instructions, so use opcode here + ; + DB 0x48, 0xf, 0x7e, 0xe0 ret diff --git a/MdePkg/Library/BaseLib/X64/ReadMm5.nasm b/MdePkg/Library/BaseLib/X64/ReadMm5.nasm index f1354dd68c..d8f530dec8 100644 --- a/MdePkg/Library/BaseLib/X64/ReadMm5.nasm +++ b/MdePkg/Library/BaseLib/X64/ReadMm5.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -27,6 +27,9 @@ ;------------------------------------------------------------------------------ global ASM_PFX(AsmReadMm5) ASM_PFX(AsmReadMm5): - movq rax, mm5 + ; + ; 64-bit MASM doesn't support MMX instructions, so use opcode here + ; + DB 0x48, 0xf, 0x7e, 0xe8 ret diff --git a/MdePkg/Library/BaseLib/X64/ReadMm6.nasm b/MdePkg/Library/BaseLib/X64/ReadMm6.nasm index 9d5a287218..6f6883c2b6 100644 --- a/MdePkg/Library/BaseLib/X64/ReadMm6.nasm +++ b/MdePkg/Library/BaseLib/X64/ReadMm6.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -27,6 +27,9 @@ ;------------------------------------------------------------------------------ global ASM_PFX(AsmReadMm6) ASM_PFX(AsmReadMm6): - movq rax, mm6 + ; + ; 64-bit MASM doesn't support MMX instructions, so use opcode here + ; + DB 0x48, 0xf, 0x7e, 0xf0 ret diff --git a/MdePkg/Library/BaseLib/X64/ReadMm7.nasm b/MdePkg/Library/BaseLib/X64/ReadMm7.nasm index ae15f24d8b..573f15dfc8 100644 --- a/MdePkg/Library/BaseLib/X64/ReadMm7.nasm +++ b/MdePkg/Library/BaseLib/X64/ReadMm7.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -27,6 +27,9 @@ ;------------------------------------------------------------------------------ global ASM_PFX(AsmReadMm7) ASM_PFX(AsmReadMm7): - movq rax, mm7 + ; + ; 64-bit MASM doesn't support MMX instructions, so use opcode here + ; + DB 0x48, 0xf, 0x7e, 0xf8 ret diff --git a/MdePkg/Library/BaseLib/X64/SetJump.nasm b/MdePkg/Library/BaseLib/X64/SetJump.nasm index 5943a5ebe5..5a68396eec 100644 --- a/MdePkg/Library/BaseLib/X64/SetJump.nasm +++ b/MdePkg/Library/BaseLib/X64/SetJump.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -48,8 +48,8 @@ ASM_PFX(SetJump): jnc CetDone mov rax, 1 - incsspq rax ; to read original SSP - rdsspq rax + INCSSP_RAX ; to read original SSP + READSSP_RAX mov [rcx + 0xF8], rax ; save SSP CetDone: diff --git a/MdePkg/Library/BaseLib/X64/WriteDr4.nasm b/MdePkg/Library/BaseLib/X64/WriteDr4.nasm index 5e4d96015e..c4b12c9e92 100644 --- a/MdePkg/Library/BaseLib/X64/WriteDr4.nasm +++ b/MdePkg/Library/BaseLib/X64/WriteDr4.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -31,7 +31,7 @@ ASM_PFX(AsmWriteDr4): ; There's no obvious reason to access this register, since it's aliased to ; DR6 when DE=0 or an exception generated when DE=1 ; - mov dr4, rcx + DB 0xf, 0x23, 0xe1 mov rax, rcx ret diff --git a/MdePkg/Library/BaseLib/X64/WriteDr5.nasm b/MdePkg/Library/BaseLib/X64/WriteDr5.nasm index d5d4e2f324..986a4a95d9 100644 --- a/MdePkg/Library/BaseLib/X64/WriteDr5.nasm +++ b/MdePkg/Library/BaseLib/X64/WriteDr5.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -31,7 +31,7 @@ ASM_PFX(AsmWriteDr5): ; There's no obvious reason to access this register, since it's aliased to ; DR7 when DE=0 or an exception generated when DE=1 ; - mov dr5, rcx + DB 0xf, 0x23, 0xe9 mov rax, rcx ret diff --git a/MdePkg/Library/BaseLib/X64/WriteMm0.nasm b/MdePkg/Library/BaseLib/X64/WriteMm0.nasm index e6b5a0fc33..3f03529edf 100644 --- a/MdePkg/Library/BaseLib/X64/WriteMm0.nasm +++ b/MdePkg/Library/BaseLib/X64/WriteMm0.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -27,6 +27,9 @@ ;------------------------------------------------------------------------------ global ASM_PFX(AsmWriteMm0) ASM_PFX(AsmWriteMm0): - movq mm0, rcx + ; + ; 64-bit MASM doesn't support MMX instructions, so use opcode here + ; + DB 0x48, 0xf, 0x6e, 0xc1 ret diff --git a/MdePkg/Library/BaseLib/X64/WriteMm1.nasm b/MdePkg/Library/BaseLib/X64/WriteMm1.nasm index 414c6af6da..f552d40716 100644 --- a/MdePkg/Library/BaseLib/X64/WriteMm1.nasm +++ b/MdePkg/Library/BaseLib/X64/WriteMm1.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -27,6 +27,9 @@ ;------------------------------------------------------------------------------ global ASM_PFX(AsmWriteMm1) ASM_PFX(AsmWriteMm1): - movq mm1, rcx + ; + ; 64-bit MASM doesn't support MMX instructions, so use opcode here + ; + DB 0x48, 0xf, 0x6e, 0xc9 ret diff --git a/MdePkg/Library/BaseLib/X64/WriteMm2.nasm b/MdePkg/Library/BaseLib/X64/WriteMm2.nasm index 525740342a..1bd176ced9 100644 --- a/MdePkg/Library/BaseLib/X64/WriteMm2.nasm +++ b/MdePkg/Library/BaseLib/X64/WriteMm2.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -27,6 +27,9 @@ ;------------------------------------------------------------------------------ global ASM_PFX(AsmWriteMm2) ASM_PFX(AsmWriteMm2): - movq mm2, rcx + ; + ; 64-bit MASM doesn't support MMX instructions, so use opcode here + ; + DB 0x48, 0xf, 0x6e, 0xd1 ret diff --git a/MdePkg/Library/BaseLib/X64/WriteMm3.nasm b/MdePkg/Library/BaseLib/X64/WriteMm3.nasm index abf11bfb17..403f140736 100644 --- a/MdePkg/Library/BaseLib/X64/WriteMm3.nasm +++ b/MdePkg/Library/BaseLib/X64/WriteMm3.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -27,6 +27,9 @@ ;------------------------------------------------------------------------------ global ASM_PFX(AsmWriteMm3) ASM_PFX(AsmWriteMm3): - movq mm3, rcx + ; + ; 64-bit MASM doesn't support MMX instructions, so use opcode here + ; + DB 0x48, 0xf, 0x6e, 0xd9 ret diff --git a/MdePkg/Library/BaseLib/X64/WriteMm4.nasm b/MdePkg/Library/BaseLib/X64/WriteMm4.nasm index 7cbd25e70a..d99709d495 100644 --- a/MdePkg/Library/BaseLib/X64/WriteMm4.nasm +++ b/MdePkg/Library/BaseLib/X64/WriteMm4.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -27,6 +27,9 @@ ;------------------------------------------------------------------------------ global ASM_PFX(AsmWriteMm4) ASM_PFX(AsmWriteMm4): - movq mm4, rcx + ; + ; 64-bit MASM doesn't support MMX instructions, so use opcode here + ; + DB 0x48, 0xf, 0x6e, 0xe1 ret diff --git a/MdePkg/Library/BaseLib/X64/WriteMm5.nasm b/MdePkg/Library/BaseLib/X64/WriteMm5.nasm index 9edfd0db83..0467ac4220 100644 --- a/MdePkg/Library/BaseLib/X64/WriteMm5.nasm +++ b/MdePkg/Library/BaseLib/X64/WriteMm5.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -27,6 +27,9 @@ ;------------------------------------------------------------------------------ global ASM_PFX(AsmWriteMm5) ASM_PFX(AsmWriteMm5): - movq mm5, rcx + ; + ; 64-bit MASM doesn't support MMX instructions, so use opcode here + ; + DB 0x48, 0xf, 0x6e, 0xe9 ret diff --git a/MdePkg/Library/BaseLib/X64/WriteMm6.nasm b/MdePkg/Library/BaseLib/X64/WriteMm6.nasm index 4555563a55..6d2e5eb8fb 100644 --- a/MdePkg/Library/BaseLib/X64/WriteMm6.nasm +++ b/MdePkg/Library/BaseLib/X64/WriteMm6.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -27,6 +27,9 @@ ;------------------------------------------------------------------------------ global ASM_PFX(AsmWriteMm6) ASM_PFX(AsmWriteMm6): - movq mm6, rcx + ; + ; 64-bit MASM doesn't support MMX instructions, so use opcode here + ; + DB 0x48, 0xf, 0x6e, 0xf1 ret diff --git a/MdePkg/Library/BaseLib/X64/WriteMm7.nasm b/MdePkg/Library/BaseLib/X64/WriteMm7.nasm index 4ef0eb5271..de72adf685 100644 --- a/MdePkg/Library/BaseLib/X64/WriteMm7.nasm +++ b/MdePkg/Library/BaseLib/X64/WriteMm7.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -27,6 +27,9 @@ ;------------------------------------------------------------------------------ global ASM_PFX(AsmWriteMm7) ASM_PFX(AsmWriteMm7): - movq mm7, rcx + ; + ; 64-bit MASM doesn't support MMX instructions, so use opcode here + ; + DB 0x48, 0xf, 0x6e, 0xf9 ret diff --git a/MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.nasm b/MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.nasm index 3b336c6bdf..5769c00bf9 100644 --- a/MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.nasm +++ b/MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -44,15 +44,15 @@ ASM_PFX(InternalMemCopyMem): and r8, 7 shr rcx, 3 ; rcx <- # of Qwords to copy jz @CopyBytes - movq r10, mm0 + DB 0x49, 0xf, 0x7e, 0xc2 ; movd r10, mm0 (Save mm0 in r10) .1: - movq mm0, [rsi] - movntq [rdi], mm0 + DB 0xf, 0x6f, 0x6 ; movd mm0, [rsi] + DB 0xf, 0xe7, 0x7 ; movntq [rdi], mm0 add rsi, 8 add rdi, 8 loop .1 mfence - movq mm0, r10 + DB 0x49, 0xf, 0x6e, 0xc2 ; movd mm0, r10 (Restore mm0) jmp @CopyBytes @CopyBackward: mov rsi, r9 ; rsi <- End of Source diff --git a/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.nasm b/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.nasm index af584e3d34..450113ba84 100644 --- a/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.nasm +++ b/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -32,16 +32,16 @@ ASM_PFX(InternalMemSetMem): push rdi mov rax, r8 mov ah, al - movq mm0, rax + DB 0x48, 0xf, 0x6e, 0xc0 ; movd mm0, rax mov r8, rcx mov rdi, r8 ; rdi <- Buffer mov rcx, rdx and edx, 7 shr rcx, 3 jz @SetBytes - pshufw mm0, mm0, 0 + DB 0xf, 0x70, 0xC0, 0x0 ; pshufw mm0, mm0, 0h .0: - movntq [rdi], mm0 + DB 0xf, 0xe7, 0x7 ; movntq [rdi], mm0 add rdi, 8 loop .0 mfence diff --git a/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem16.nasm b/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem16.nasm index 7a63a1c50b..4e1f4be2b4 100644 --- a/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem16.nasm +++ b/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem16.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -31,16 +31,16 @@ global ASM_PFX(InternalMemSetMem16) ASM_PFX(InternalMemSetMem16): push rdi mov rax, r8 - movq mm0, rax + DB 0x48, 0xf, 0x6e, 0xc0 ; movd mm0, rax mov r8, rcx mov rdi, r8 mov rcx, rdx and edx, 3 shr rcx, 2 jz @SetWords - pshufw mm0, mm0, 0 + DB 0xf, 0x70, 0xC0, 0x0 ; pshufw mm0, mm0, 0h .0: - movntq [rdi], mm0 + DB 0xf, 0xe7, 0x7 ; movntq [rdi], mm0 add rdi, 8 loop .0 mfence diff --git a/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem32.nasm b/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem32.nasm index ab5f954826..b3a7385897 100644 --- a/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem32.nasm +++ b/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem32.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -28,20 +28,20 @@ ;------------------------------------------------------------------------------ global ASM_PFX(InternalMemSetMem32) ASM_PFX(InternalMemSetMem32): - movq mm0, r8 + DB 0x49, 0xf, 0x6e, 0xc0 ; movd mm0, r8 (Value) mov rax, rcx ; rax <- Buffer xchg rcx, rdx ; rcx <- Count rdx <- Buffer shr rcx, 1 ; rcx <- # of qwords to set jz @SetDwords - pshufw mm0, mm0, 44h + DB 0xf, 0x70, 0xC0, 0x44 ; pshufw mm0, mm0, 44h .0: - movntq [rdx], mm0 + DB 0xf, 0xe7, 0x2 ; movntq [rdx], mm0 lea rdx, [rdx + 8] ; use "lea" to avoid flag changes loop .0 mfence @SetDwords: jnc .1 - movd [rdx], mm0 + DB 0xf, 0x7e, 0x2 ; movd [rdx], mm0 .1: ret diff --git a/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem64.nasm b/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem64.nasm index fcc44294a8..f517e1d23a 100644 --- a/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem64.nasm +++ b/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem64.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -28,11 +28,11 @@ ;------------------------------------------------------------------------------ global ASM_PFX(InternalMemSetMem64) ASM_PFX(InternalMemSetMem64): - movq mm0, r8 + DB 0x49, 0xf, 0x6e, 0xc0 ; movd mm0, r8 (Value) mov rax, rcx ; rax <- Buffer xchg rcx, rdx ; rcx <- Count .0: - movntq [rdx], mm0 + DB 0xf, 0xe7, 0x2 ; movntq [rdx], mm0 add rdx, 8 loop .0 mfence diff --git a/MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.nasm b/MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.nasm index 8b02eeb732..2a85f15b55 100644 --- a/MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.nasm +++ b/MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.nasm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> +; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> ; SPDX-License-Identifier: BSD-2-Clause-Patent ; ; Module Name: @@ -34,12 +34,12 @@ ASM_PFX(InternalMemZeroMem): and edx, 7 shr rcx, 3 jz @ZeroBytes - pxor mm0, mm0 + DB 0xf, 0xef, 0xc0 ; pxor mm0, mm0 .0: - movntq [rdi], mm0 + DB 0xf, 0xe7, 7 ; movntq [rdi], mm0 add rdi, 8 loop .0 - mfence + DB 0xf, 0xae, 0xf0 ; mfence @ZeroBytes: xor eax, eax mov ecx, edx -- 2.26.2
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor