* [Patch 0/5] Remove X86 ASM and S files
@ 2018-05-13 14:31 Liming Gao
2018-05-13 14:31 ` [Patch 1/5] IntelFrameworkModulePkg: " Liming Gao
` (5 more replies)
0 siblings, 6 replies; 11+ messages in thread
From: Liming Gao @ 2018-05-13 14:31 UTC (permalink / raw)
To: edk2-devel
For IA32 and X64, NASM has replaced ASM and S files.
Rmove ASM from all modules.
Remove S files from the drivers only.
After NASM is updated, S files can be removed from Library.
Liming Gao (5):
IntelFrameworkModulePkg: Remove X86 ASM and S files
MdeModulePkg: Remove X86 ASM and S files
MdePkg: Remove X86 ASM and S files
SourceLevelDebugPkg: Remove X86 ASM and S files
UefiCpuPkg: Remove X86 ASM and S files
.../Csm/LegacyBiosDxe/IA32/InterruptTable.S | 67 ---
.../Csm/LegacyBiosDxe/IA32/InterruptTable.asm | 73 ---
.../Csm/LegacyBiosDxe/LegacyBiosDxe.inf | 4 -
.../Csm/LegacyBiosDxe/X64/InterruptTable.S | 72 ---
.../Csm/LegacyBiosDxe/X64/InterruptTable.asm | 71 ---
MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf | 2 -
MdeModulePkg/Core/DxeIplPeim/Ia32/IdtVectorAsm.S | 80 ---
MdeModulePkg/Core/DxeIplPeim/Ia32/IdtVectorAsm.asm | 88 ---
.../BootScriptExecutorDxe.inf | 4 -
.../Acpi/BootScriptExecutorDxe/IA32/S3Asm.S | 66 ---
.../Acpi/BootScriptExecutorDxe/IA32/S3Asm.asm | 71 ---
.../Acpi/BootScriptExecutorDxe/X64/S3Asm.S | 130 -----
.../Acpi/BootScriptExecutorDxe/X64/S3Asm.asm | 135 -----
MdeModulePkg/Universal/CapsulePei/CapsuleX64.inf | 2 -
.../Universal/CapsulePei/X64/PageFaultHandler.S | 81 ---
.../Universal/CapsulePei/X64/PageFaultHandler.asm | 87 ---
.../Universal/DebugSupportDxe/DebugSupportDxe.inf | 4 -
.../Universal/DebugSupportDxe/Ia32/AsmFuncs.S | 407 --------------
.../Universal/DebugSupportDxe/Ia32/AsmFuncs.asm | 509 ------------------
.../Universal/DebugSupportDxe/X64/AsmFuncs.S | 551 -------------------
.../Universal/DebugSupportDxe/X64/AsmFuncs.asm | 596 ---------------------
MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf | 4 -
MdeModulePkg/Universal/EbcDxe/EbcDxe.inf | 4 -
MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.S | 83 ---
MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.asm | 207 -------
MdeModulePkg/Universal/EbcDxe/X64/EbcLowLevel.S | 147 -----
MdeModulePkg/Universal/EbcDxe/X64/EbcLowLevel.asm | 246 ---------
MdePkg/Library/BaseCpuLib/BaseCpuLib.inf | 4 -
MdePkg/Library/BaseCpuLib/Ia32/CpuFlushTlb.asm | 40 --
MdePkg/Library/BaseCpuLib/Ia32/CpuSleep.asm | 39 --
MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.asm | 38 --
MdePkg/Library/BaseCpuLib/X64/CpuSleep.asm | 37 --
.../BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf | 2 -
MdePkg/Library/BaseIoLibIntrinsic/Ia32/IoFifo.asm | 141 -----
MdePkg/Library/BaseIoLibIntrinsic/X64/IoFifo.asm | 127 -----
MdePkg/Library/BaseLib/BaseLib.inf | 246 ---------
MdePkg/Library/BaseLib/Ia32/ARShiftU64.asm | 48 --
MdePkg/Library/BaseLib/Ia32/CpuBreakpoint.asm | 40 --
MdePkg/Library/BaseLib/Ia32/CpuId.asm | 66 ---
MdePkg/Library/BaseLib/Ia32/CpuIdEx.asm | 68 ---
MdePkg/Library/BaseLib/Ia32/CpuPause.asm | 40 --
MdePkg/Library/BaseLib/Ia32/DisableCache.asm | 45 --
MdePkg/Library/BaseLib/Ia32/DisableInterrupts.asm | 40 --
MdePkg/Library/BaseLib/Ia32/DisablePaging32.asm | 57 --
MdePkg/Library/BaseLib/Ia32/DivU64x32.asm | 46 --
MdePkg/Library/BaseLib/Ia32/DivU64x32Remainder.asm | 51 --
MdePkg/Library/BaseLib/Ia32/DivU64x64Remainder.asm | 92 ----
MdePkg/Library/BaseLib/Ia32/EnableCache.asm | 45 --
.../BaseLib/Ia32/EnableDisableInterrupts.asm | 41 --
MdePkg/Library/BaseLib/Ia32/EnableInterrupts.asm | 40 --
MdePkg/Library/BaseLib/Ia32/EnablePaging32.asm | 57 --
MdePkg/Library/BaseLib/Ia32/EnablePaging64.asm | 68 ---
MdePkg/Library/BaseLib/Ia32/FlushCacheLine.asm | 55 --
MdePkg/Library/BaseLib/Ia32/FxRestore.asm | 42 --
MdePkg/Library/BaseLib/Ia32/FxSave.asm | 42 --
MdePkg/Library/BaseLib/Ia32/Invd.asm | 40 --
MdePkg/Library/BaseLib/Ia32/LRotU64.asm | 51 --
MdePkg/Library/BaseLib/Ia32/LShiftU64.asm | 48 --
MdePkg/Library/BaseLib/Ia32/LongJump.asm | 46 --
MdePkg/Library/BaseLib/Ia32/ModU64x32.asm | 45 --
MdePkg/Library/BaseLib/Ia32/Monitor.asm | 45 --
MdePkg/Library/BaseLib/Ia32/MultU64x32.asm | 43 --
MdePkg/Library/BaseLib/Ia32/MultU64x64.asm | 47 --
MdePkg/Library/BaseLib/Ia32/Mwait.asm | 43 --
MdePkg/Library/BaseLib/Ia32/RRotU64.asm | 51 --
MdePkg/Library/BaseLib/Ia32/RShiftU64.asm | 48 --
MdePkg/Library/BaseLib/Ia32/RdRand.asm | 94 ----
MdePkg/Library/BaseLib/Ia32/ReadCr0.asm | 40 --
MdePkg/Library/BaseLib/Ia32/ReadCr2.asm | 40 --
MdePkg/Library/BaseLib/Ia32/ReadCr3.asm | 40 --
MdePkg/Library/BaseLib/Ia32/ReadCr4.asm | 40 --
MdePkg/Library/BaseLib/Ia32/ReadCs.asm | 40 --
MdePkg/Library/BaseLib/Ia32/ReadDr0.asm | 40 --
MdePkg/Library/BaseLib/Ia32/ReadDr1.asm | 40 --
MdePkg/Library/BaseLib/Ia32/ReadDr2.asm | 40 --
MdePkg/Library/BaseLib/Ia32/ReadDr3.asm | 40 --
MdePkg/Library/BaseLib/Ia32/ReadDr4.asm | 47 --
MdePkg/Library/BaseLib/Ia32/ReadDr5.asm | 47 --
MdePkg/Library/BaseLib/Ia32/ReadDr6.asm | 40 --
MdePkg/Library/BaseLib/Ia32/ReadDr7.asm | 40 --
MdePkg/Library/BaseLib/Ia32/ReadDs.asm | 40 --
MdePkg/Library/BaseLib/Ia32/ReadEflags.asm | 41 --
MdePkg/Library/BaseLib/Ia32/ReadEs.asm | 40 --
MdePkg/Library/BaseLib/Ia32/ReadFs.asm | 40 --
MdePkg/Library/BaseLib/Ia32/ReadGdtr.asm | 41 --
MdePkg/Library/BaseLib/Ia32/ReadGs.asm | 40 --
MdePkg/Library/BaseLib/Ia32/ReadIdtr.asm | 41 --
MdePkg/Library/BaseLib/Ia32/ReadLdtr.asm | 40 --
MdePkg/Library/BaseLib/Ia32/ReadMm0.asm | 45 --
MdePkg/Library/BaseLib/Ia32/ReadMm1.asm | 45 --
MdePkg/Library/BaseLib/Ia32/ReadMm2.asm | 45 --
MdePkg/Library/BaseLib/Ia32/ReadMm3.asm | 45 --
MdePkg/Library/BaseLib/Ia32/ReadMm4.asm | 45 --
MdePkg/Library/BaseLib/Ia32/ReadMm5.asm | 45 --
MdePkg/Library/BaseLib/Ia32/ReadMm6.asm | 45 --
MdePkg/Library/BaseLib/Ia32/ReadMm7.asm | 45 --
MdePkg/Library/BaseLib/Ia32/ReadMsr64.asm | 41 --
MdePkg/Library/BaseLib/Ia32/ReadPmc.asm | 41 --
MdePkg/Library/BaseLib/Ia32/ReadSs.asm | 40 --
MdePkg/Library/BaseLib/Ia32/ReadTr.asm | 40 --
MdePkg/Library/BaseLib/Ia32/ReadTsc.asm | 40 --
MdePkg/Library/BaseLib/Ia32/SetJump.asm | 51 --
MdePkg/Library/BaseLib/Ia32/SwapBytes64.asm | 43 --
MdePkg/Library/BaseLib/Ia32/Thunk16.asm | 260 ---------
MdePkg/Library/BaseLib/Ia32/Wbinvd.asm | 40 --
MdePkg/Library/BaseLib/Ia32/WriteCr0.asm | 41 --
MdePkg/Library/BaseLib/Ia32/WriteCr2.asm | 41 --
MdePkg/Library/BaseLib/Ia32/WriteCr3.asm | 41 --
MdePkg/Library/BaseLib/Ia32/WriteCr4.asm | 41 --
MdePkg/Library/BaseLib/Ia32/WriteDr0.asm | 41 --
MdePkg/Library/BaseLib/Ia32/WriteDr1.asm | 41 --
MdePkg/Library/BaseLib/Ia32/WriteDr2.asm | 41 --
MdePkg/Library/BaseLib/Ia32/WriteDr3.asm | 41 --
MdePkg/Library/BaseLib/Ia32/WriteDr4.asm | 48 --
MdePkg/Library/BaseLib/Ia32/WriteDr5.asm | 48 --
MdePkg/Library/BaseLib/Ia32/WriteDr6.asm | 41 --
MdePkg/Library/BaseLib/Ia32/WriteDr7.asm | 41 --
MdePkg/Library/BaseLib/Ia32/WriteGdtr.asm | 41 --
MdePkg/Library/BaseLib/Ia32/WriteIdtr.asm | 44 --
MdePkg/Library/BaseLib/Ia32/WriteLdtr.asm | 41 --
MdePkg/Library/BaseLib/Ia32/WriteMm0.asm | 41 --
MdePkg/Library/BaseLib/Ia32/WriteMm1.asm | 41 --
MdePkg/Library/BaseLib/Ia32/WriteMm2.asm | 41 --
MdePkg/Library/BaseLib/Ia32/WriteMm3.asm | 41 --
MdePkg/Library/BaseLib/Ia32/WriteMm4.asm | 41 --
MdePkg/Library/BaseLib/Ia32/WriteMm5.asm | 41 --
MdePkg/Library/BaseLib/Ia32/WriteMm6.asm | 41 --
MdePkg/Library/BaseLib/Ia32/WriteMm7.asm | 41 --
MdePkg/Library/BaseLib/Ia32/WriteMsr64.asm | 44 --
MdePkg/Library/BaseLib/X64/CpuBreakpoint.asm | 37 --
MdePkg/Library/BaseLib/X64/CpuId.asm | 62 ---
MdePkg/Library/BaseLib/X64/CpuIdEx.asm | 64 ---
MdePkg/Library/BaseLib/X64/CpuPause.asm | 37 --
MdePkg/Library/BaseLib/X64/DisableCache.asm | 43 --
MdePkg/Library/BaseLib/X64/DisableInterrupts.asm | 38 --
MdePkg/Library/BaseLib/X64/DisablePaging64.asm | 84 ---
MdePkg/Library/BaseLib/X64/EnableCache.asm | 43 --
.../BaseLib/X64/EnableDisableInterrupts.asm | 39 --
MdePkg/Library/BaseLib/X64/EnableInterrupts.asm | 38 --
MdePkg/Library/BaseLib/X64/FlushCacheLine.asm | 39 --
MdePkg/Library/BaseLib/X64/FxRestore.asm | 38 --
MdePkg/Library/BaseLib/X64/FxSave.asm | 38 --
MdePkg/Library/BaseLib/X64/Invd.asm | 38 --
MdePkg/Library/BaseLib/X64/LongJump.asm | 58 --
MdePkg/Library/BaseLib/X64/Monitor.asm | 43 --
MdePkg/Library/BaseLib/X64/Mwait.asm | 41 --
MdePkg/Library/BaseLib/X64/RdRand.asm | 83 ---
MdePkg/Library/BaseLib/X64/ReadCr0.asm | 38 --
MdePkg/Library/BaseLib/X64/ReadCr2.asm | 38 --
MdePkg/Library/BaseLib/X64/ReadCr3.asm | 38 --
MdePkg/Library/BaseLib/X64/ReadCr4.asm | 38 --
MdePkg/Library/BaseLib/X64/ReadCs.asm | 38 --
MdePkg/Library/BaseLib/X64/ReadDr0.asm | 38 --
MdePkg/Library/BaseLib/X64/ReadDr1.asm | 38 --
MdePkg/Library/BaseLib/X64/ReadDr2.asm | 38 --
MdePkg/Library/BaseLib/X64/ReadDr3.asm | 38 --
MdePkg/Library/BaseLib/X64/ReadDr4.asm | 42 --
MdePkg/Library/BaseLib/X64/ReadDr5.asm | 42 --
MdePkg/Library/BaseLib/X64/ReadDr6.asm | 38 --
MdePkg/Library/BaseLib/X64/ReadDr7.asm | 38 --
MdePkg/Library/BaseLib/X64/ReadDs.asm | 38 --
MdePkg/Library/BaseLib/X64/ReadEflags.asm | 39 --
MdePkg/Library/BaseLib/X64/ReadEs.asm | 38 --
MdePkg/Library/BaseLib/X64/ReadFs.asm | 38 --
MdePkg/Library/BaseLib/X64/ReadGdtr.asm | 38 --
MdePkg/Library/BaseLib/X64/ReadGs.asm | 38 --
MdePkg/Library/BaseLib/X64/ReadIdtr.asm | 38 --
MdePkg/Library/BaseLib/X64/ReadLdtr.asm | 38 --
MdePkg/Library/BaseLib/X64/ReadMm0.asm | 41 --
MdePkg/Library/BaseLib/X64/ReadMm1.asm | 41 --
MdePkg/Library/BaseLib/X64/ReadMm2.asm | 41 --
MdePkg/Library/BaseLib/X64/ReadMm3.asm | 41 --
MdePkg/Library/BaseLib/X64/ReadMm4.asm | 41 --
MdePkg/Library/BaseLib/X64/ReadMm5.asm | 41 --
MdePkg/Library/BaseLib/X64/ReadMm6.asm | 41 --
MdePkg/Library/BaseLib/X64/ReadMm7.asm | 41 --
MdePkg/Library/BaseLib/X64/ReadMsr64.asm | 40 --
MdePkg/Library/BaseLib/X64/ReadPmc.asm | 40 --
MdePkg/Library/BaseLib/X64/ReadSs.asm | 38 --
MdePkg/Library/BaseLib/X64/ReadTr.asm | 38 --
MdePkg/Library/BaseLib/X64/ReadTsc.asm | 40 --
MdePkg/Library/BaseLib/X64/SetJump.asm | 66 ---
MdePkg/Library/BaseLib/X64/SwitchStack.asm | 51 --
MdePkg/Library/BaseLib/X64/Thunk16.asm | 315 -----------
MdePkg/Library/BaseLib/X64/Wbinvd.asm | 38 --
MdePkg/Library/BaseLib/X64/WriteCr0.asm | 39 --
MdePkg/Library/BaseLib/X64/WriteCr2.asm | 39 --
MdePkg/Library/BaseLib/X64/WriteCr3.asm | 39 --
MdePkg/Library/BaseLib/X64/WriteCr4.asm | 39 --
MdePkg/Library/BaseLib/X64/WriteDr0.asm | 39 --
MdePkg/Library/BaseLib/X64/WriteDr1.asm | 39 --
MdePkg/Library/BaseLib/X64/WriteDr2.asm | 39 --
MdePkg/Library/BaseLib/X64/WriteDr3.asm | 39 --
MdePkg/Library/BaseLib/X64/WriteDr4.asm | 43 --
MdePkg/Library/BaseLib/X64/WriteDr5.asm | 43 --
MdePkg/Library/BaseLib/X64/WriteDr6.asm | 39 --
MdePkg/Library/BaseLib/X64/WriteDr7.asm | 39 --
MdePkg/Library/BaseLib/X64/WriteGdtr.asm | 38 --
MdePkg/Library/BaseLib/X64/WriteIdtr.asm | 41 --
MdePkg/Library/BaseLib/X64/WriteLdtr.asm | 38 --
MdePkg/Library/BaseLib/X64/WriteMm0.asm | 41 --
MdePkg/Library/BaseLib/X64/WriteMm1.asm | 41 --
MdePkg/Library/BaseLib/X64/WriteMm2.asm | 41 --
MdePkg/Library/BaseLib/X64/WriteMm3.asm | 41 --
MdePkg/Library/BaseLib/X64/WriteMm4.asm | 41 --
MdePkg/Library/BaseLib/X64/WriteMm5.asm | 41 --
MdePkg/Library/BaseLib/X64/WriteMm6.asm | 41 --
MdePkg/Library/BaseLib/X64/WriteMm7.asm | 41 --
MdePkg/Library/BaseLib/X64/WriteMsr64.asm | 41 --
.../Library/BaseMemoryLibMmx/BaseMemoryLibMmx.inf | 22 -
.../Library/BaseMemoryLibMmx/Ia32/CompareMem.asm | 56 --
MdePkg/Library/BaseMemoryLibMmx/Ia32/CopyMem.asm | 77 ---
MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem16.asm | 55 --
MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem32.asm | 55 --
MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem64.asm | 64 ---
MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem8.asm | 55 --
MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem.asm | 70 ---
MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem16.asm | 63 ---
MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem32.asm | 59 --
MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem64.asm | 50 --
MdePkg/Library/BaseMemoryLibMmx/Ia32/ZeroMem.asm | 56 --
MdePkg/Library/BaseMemoryLibMmx/X64/CompareMem.asm | 54 --
MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.asm | 70 ---
MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem16.asm | 53 --
MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem32.asm | 53 --
MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem64.asm | 53 --
MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem8.asm | 53 --
MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.asm | 58 --
MdePkg/Library/BaseMemoryLibMmx/X64/SetMem16.asm | 57 --
MdePkg/Library/BaseMemoryLibMmx/X64/SetMem32.asm | 53 --
MdePkg/Library/BaseMemoryLibMmx/X64/SetMem64.asm | 46 --
MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.asm | 54 --
.../BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf | 22 -
.../BaseMemoryLibOptDxe/Ia32/CompareMem.asm | 56 --
.../Library/BaseMemoryLibOptDxe/Ia32/CopyMem.asm | 84 ---
.../Library/BaseMemoryLibOptDxe/Ia32/ScanMem16.asm | 55 --
.../Library/BaseMemoryLibOptDxe/Ia32/ScanMem32.asm | 55 --
.../Library/BaseMemoryLibOptDxe/Ia32/ScanMem64.asm | 64 ---
.../Library/BaseMemoryLibOptDxe/Ia32/ScanMem8.asm | 55 --
MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem.asm | 53 --
.../Library/BaseMemoryLibOptDxe/Ia32/SetMem16.asm | 45 --
.../Library/BaseMemoryLibOptDxe/Ia32/SetMem32.asm | 45 --
.../Library/BaseMemoryLibOptDxe/Ia32/SetMem64.asm | 49 --
.../Library/BaseMemoryLibOptDxe/Ia32/ZeroMem.asm | 50 --
.../Library/BaseMemoryLibOptDxe/X64/CompareMem.asm | 54 --
MdePkg/Library/BaseMemoryLibOptDxe/X64/CopyMem.asm | 79 ---
.../Library/BaseMemoryLibOptDxe/X64/ScanMem16.asm | 53 --
.../Library/BaseMemoryLibOptDxe/X64/ScanMem32.asm | 53 --
.../Library/BaseMemoryLibOptDxe/X64/ScanMem64.asm | 53 --
.../Library/BaseMemoryLibOptDxe/X64/ScanMem8.asm | 53 --
MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem.asm | 58 --
.../Library/BaseMemoryLibOptDxe/X64/SetMem16.asm | 45 --
.../Library/BaseMemoryLibOptDxe/X64/SetMem32.asm | 45 --
.../Library/BaseMemoryLibOptDxe/X64/SetMem64.asm | 44 --
MdePkg/Library/BaseMemoryLibOptDxe/X64/ZeroMem.asm | 48 --
.../BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf | 22 -
.../BaseMemoryLibOptPei/Ia32/CompareMem.asm | 56 --
.../Library/BaseMemoryLibOptPei/Ia32/CopyMem.asm | 61 ---
.../Library/BaseMemoryLibOptPei/Ia32/ScanMem16.asm | 55 --
.../Library/BaseMemoryLibOptPei/Ia32/ScanMem32.asm | 55 --
.../Library/BaseMemoryLibOptPei/Ia32/ScanMem64.asm | 64 ---
.../Library/BaseMemoryLibOptPei/Ia32/ScanMem8.asm | 55 --
MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem.asm | 53 --
.../Library/BaseMemoryLibOptPei/Ia32/SetMem16.asm | 45 --
.../Library/BaseMemoryLibOptPei/Ia32/SetMem32.asm | 45 --
.../Library/BaseMemoryLibOptPei/Ia32/SetMem64.asm | 49 --
.../Library/BaseMemoryLibOptPei/Ia32/ZeroMem.asm | 50 --
.../Library/BaseMemoryLibOptPei/X64/CompareMem.asm | 54 --
MdePkg/Library/BaseMemoryLibOptPei/X64/CopyMem.asm | 61 ---
.../Library/BaseMemoryLibOptPei/X64/ScanMem16.asm | 53 --
.../Library/BaseMemoryLibOptPei/X64/ScanMem32.asm | 53 --
.../Library/BaseMemoryLibOptPei/X64/ScanMem64.asm | 53 --
.../Library/BaseMemoryLibOptPei/X64/ScanMem8.asm | 53 --
MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem.asm | 45 --
.../Library/BaseMemoryLibOptPei/X64/SetMem16.asm | 44 --
.../Library/BaseMemoryLibOptPei/X64/SetMem32.asm | 44 --
.../Library/BaseMemoryLibOptPei/X64/SetMem64.asm | 43 --
MdePkg/Library/BaseMemoryLibOptPei/X64/ZeroMem.asm | 47 --
.../BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf | 22 -
.../BaseMemoryLibRepStr/Ia32/CompareMem.asm | 56 --
.../Library/BaseMemoryLibRepStr/Ia32/CopyMem.asm | 63 ---
.../Library/BaseMemoryLibRepStr/Ia32/ScanMem16.asm | 57 --
.../Library/BaseMemoryLibRepStr/Ia32/ScanMem32.asm | 57 --
.../Library/BaseMemoryLibRepStr/Ia32/ScanMem64.asm | 66 ---
.../Library/BaseMemoryLibRepStr/Ia32/ScanMem8.asm | 57 --
MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem.asm | 45 --
.../Library/BaseMemoryLibRepStr/Ia32/SetMem16.asm | 45 --
.../Library/BaseMemoryLibRepStr/Ia32/SetMem32.asm | 45 --
.../Library/BaseMemoryLibRepStr/Ia32/SetMem64.asm | 49 --
.../Library/BaseMemoryLibRepStr/Ia32/ZeroMem.asm | 50 --
.../Library/BaseMemoryLibRepStr/X64/CompareMem.asm | 54 --
MdePkg/Library/BaseMemoryLibRepStr/X64/CopyMem.asm | 61 ---
.../Library/BaseMemoryLibRepStr/X64/ScanMem16.asm | 53 --
.../Library/BaseMemoryLibRepStr/X64/ScanMem32.asm | 53 --
.../Library/BaseMemoryLibRepStr/X64/ScanMem64.asm | 53 --
.../Library/BaseMemoryLibRepStr/X64/ScanMem8.asm | 53 --
MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem.asm | 44 --
.../Library/BaseMemoryLibRepStr/X64/SetMem16.asm | 44 --
.../Library/BaseMemoryLibRepStr/X64/SetMem32.asm | 44 --
.../Library/BaseMemoryLibRepStr/X64/SetMem64.asm | 43 --
MdePkg/Library/BaseMemoryLibRepStr/X64/ZeroMem.asm | 47 --
.../BaseMemoryLibSse2/BaseMemoryLibSse2.inf | 22 -
.../Library/BaseMemoryLibSse2/Ia32/CompareMem.asm | 56 --
MdePkg/Library/BaseMemoryLibSse2/Ia32/CopyMem.asm | 84 ---
.../Library/BaseMemoryLibSse2/Ia32/ScanMem16.asm | 55 --
.../Library/BaseMemoryLibSse2/Ia32/ScanMem32.asm | 55 --
.../Library/BaseMemoryLibSse2/Ia32/ScanMem64.asm | 64 ---
MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem8.asm | 55 --
MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem.asm | 75 ---
MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem16.asm | 71 ---
MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem32.asm | 70 ---
MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem64.asm | 64 ---
MdePkg/Library/BaseMemoryLibSse2/Ia32/ZeroMem.asm | 67 ---
.../Library/BaseMemoryLibSse2/X64/CompareMem.asm | 54 --
MdePkg/Library/BaseMemoryLibSse2/X64/CopyMem.asm | 79 ---
MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem16.asm | 53 --
MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem32.asm | 53 --
MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem64.asm | 53 --
MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem8.asm | 53 --
MdePkg/Library/BaseMemoryLibSse2/X64/SetMem.asm | 69 ---
MdePkg/Library/BaseMemoryLibSse2/X64/SetMem16.asm | 67 ---
MdePkg/Library/BaseMemoryLibSse2/X64/SetMem32.asm | 66 ---
MdePkg/Library/BaseMemoryLibSse2/X64/SetMem64.asm | 59 --
MdePkg/Library/BaseMemoryLibSse2/X64/ZeroMem.asm | 63 ---
.../BaseSynchronizationLib.inf | 10 -
.../Ia32/InterlockedCompareExchange16.asm | 46 --
.../Ia32/InterlockedCompareExchange32.asm | 45 --
.../Ia32/InterlockedCompareExchange64.asm | 47 --
.../Ia32/InterlockedDecrement.asm | 42 --
.../Ia32/InterlockedIncrement.asm | 42 --
.../X64/InterlockedCompareExchange16.asm | 42 --
.../X64/InterlockedCompareExchange32.asm | 41 --
.../X64/InterlockedCompareExchange64.asm | 41 --
.../X64/InterlockedDecrement.asm | 39 --
.../X64/InterlockedIncrement.asm | 39 --
.../DebugAgent/DebugAgentCommon/Ia32/AsmFuncs.asm | 422 ---------------
.../DebugAgent/DebugAgentCommon/X64/AsmFuncs.asm | 405 --------------
.../Library/DebugAgent/DxeDebugAgentLib.inf | 2 -
.../Library/DebugAgent/SecPeiDebugAgentLib.inf | 2 -
.../Library/DebugAgent/SmmDebugAgentLib.inf | 2 -
.../PeCoffExtraActionLibDebug/Ia32/IntHandler.asm | 33 --
.../PeCoffExtraActionLibDebug.inf | 2 -
.../PeCoffExtraActionLibDebug/X64/IntHandler.asm | 29 -
UefiCpuPkg/CpuDxe/CpuDxe.inf | 4 -
UefiCpuPkg/CpuDxe/Ia32/CpuAsm.S | 57 --
UefiCpuPkg/CpuDxe/Ia32/CpuAsm.asm | 58 --
UefiCpuPkg/CpuDxe/X64/CpuAsm.S | 60 ---
UefiCpuPkg/CpuDxe/X64/CpuAsm.asm | 54 --
.../Library/BaseUefiCpuLib/BaseUefiCpuLib.inf | 2 -
.../Library/BaseUefiCpuLib/Ia32/InitializeFpu.asm | 79 ---
.../Library/BaseUefiCpuLib/X64/InitializeFpu.asm | 62 ---
.../DxeCpuExceptionHandlerLib.inf | 2 -
.../Ia32/ExceptionHandlerAsm.asm | 467 ----------------
.../PeiCpuExceptionHandlerLib.inf | 2 -
.../SecPeiCpuExceptionHandlerLib.inf | 2 -
.../SmmCpuExceptionHandlerLib.inf | 2 -
.../X64/ExceptionHandlerAsm.asm | 389 --------------
.../Library/SmmCpuFeaturesLib/Ia32/SmiEntry.asm | 285 ----------
.../SmmCpuFeaturesLib/Ia32/SmiException.asm | 175 ------
.../SmmCpuFeaturesLib/SmmCpuFeaturesLibStm.inf | 4 -
.../Library/SmmCpuFeaturesLib/X64/SmiEntry.asm | 281 ----------
.../Library/SmmCpuFeaturesLib/X64/SmiException.asm | 178 ------
.../Universal/Acpi/S3Resume2Pei/Ia32/AsmFuncs.S | 38 --
.../Universal/Acpi/S3Resume2Pei/Ia32/AsmFuncs.asm | 45 --
.../Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf | 4 -
.../Universal/Acpi/S3Resume2Pei/X64/AsmFuncs.S | 37 --
.../Universal/Acpi/S3Resume2Pei/X64/AsmFuncs.asm | 41 --
367 files changed, 22383 deletions(-)
delete mode 100644 IntelFrameworkModulePkg/Csm/LegacyBiosDxe/IA32/InterruptTable.S
delete mode 100644 IntelFrameworkModulePkg/Csm/LegacyBiosDxe/IA32/InterruptTable.asm
delete mode 100644 IntelFrameworkModulePkg/Csm/LegacyBiosDxe/X64/InterruptTable.S
delete mode 100644 IntelFrameworkModulePkg/Csm/LegacyBiosDxe/X64/InterruptTable.asm
delete mode 100644 MdeModulePkg/Core/DxeIplPeim/Ia32/IdtVectorAsm.S
delete mode 100644 MdeModulePkg/Core/DxeIplPeim/Ia32/IdtVectorAsm.asm
delete mode 100644 MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/IA32/S3Asm.S
delete mode 100644 MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/IA32/S3Asm.asm
delete mode 100644 MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/S3Asm.S
delete mode 100644 MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/S3Asm.asm
delete mode 100644 MdeModulePkg/Universal/CapsulePei/X64/PageFaultHandler.S
delete mode 100644 MdeModulePkg/Universal/CapsulePei/X64/PageFaultHandler.asm
delete mode 100644 MdeModulePkg/Universal/DebugSupportDxe/Ia32/AsmFuncs.S
delete mode 100644 MdeModulePkg/Universal/DebugSupportDxe/Ia32/AsmFuncs.asm
delete mode 100644 MdeModulePkg/Universal/DebugSupportDxe/X64/AsmFuncs.S
delete mode 100644 MdeModulePkg/Universal/DebugSupportDxe/X64/AsmFuncs.asm
delete mode 100644 MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.S
delete mode 100644 MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.asm
delete mode 100644 MdeModulePkg/Universal/EbcDxe/X64/EbcLowLevel.S
delete mode 100644 MdeModulePkg/Universal/EbcDxe/X64/EbcLowLevel.asm
delete mode 100644 MdePkg/Library/BaseCpuLib/Ia32/CpuFlushTlb.asm
delete mode 100644 MdePkg/Library/BaseCpuLib/Ia32/CpuSleep.asm
delete mode 100644 MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.asm
delete mode 100644 MdePkg/Library/BaseCpuLib/X64/CpuSleep.asm
delete mode 100644 MdePkg/Library/BaseIoLibIntrinsic/Ia32/IoFifo.asm
delete mode 100644 MdePkg/Library/BaseIoLibIntrinsic/X64/IoFifo.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ARShiftU64.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/CpuBreakpoint.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/CpuId.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/CpuIdEx.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/CpuPause.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/DisableCache.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/DisableInterrupts.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/DisablePaging32.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/DivU64x32.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/DivU64x32Remainder.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/DivU64x64Remainder.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/EnableCache.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/EnableDisableInterrupts.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/EnableInterrupts.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/EnablePaging32.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/EnablePaging64.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/FlushCacheLine.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/FxRestore.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/FxSave.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/Invd.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/LRotU64.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/LShiftU64.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/LongJump.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ModU64x32.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/Monitor.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/MultU64x32.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/MultU64x64.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/Mwait.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/RRotU64.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/RShiftU64.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/RdRand.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadCr0.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadCr2.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadCr3.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadCr4.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadCs.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadDr0.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadDr1.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadDr2.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadDr3.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadDr4.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadDr5.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadDr6.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadDr7.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadDs.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadEflags.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadEs.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadFs.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadGdtr.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadGs.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadIdtr.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadLdtr.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadMm0.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadMm1.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadMm2.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadMm3.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadMm4.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadMm5.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadMm6.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadMm7.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadMsr64.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadPmc.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadSs.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadTr.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadTsc.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/SetJump.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/SwapBytes64.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/Thunk16.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/Wbinvd.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteCr0.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteCr2.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteCr3.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteCr4.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteDr0.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteDr1.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteDr2.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteDr3.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteDr4.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteDr5.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteDr6.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteDr7.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteGdtr.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteIdtr.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteLdtr.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteMm0.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteMm1.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteMm2.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteMm3.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteMm4.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteMm5.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteMm6.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteMm7.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteMsr64.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/CpuBreakpoint.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/CpuId.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/CpuIdEx.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/CpuPause.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/DisableCache.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/DisableInterrupts.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/DisablePaging64.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/EnableCache.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/EnableDisableInterrupts.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/EnableInterrupts.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/FlushCacheLine.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/FxRestore.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/FxSave.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/Invd.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/LongJump.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/Monitor.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/Mwait.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/RdRand.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadCr0.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadCr2.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadCr3.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadCr4.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadCs.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadDr0.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadDr1.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadDr2.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadDr3.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadDr4.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadDr5.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadDr6.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadDr7.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadDs.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadEflags.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadEs.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadFs.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadGdtr.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadGs.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadIdtr.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadLdtr.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadMm0.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadMm1.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadMm2.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadMm3.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadMm4.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadMm5.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadMm6.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadMm7.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadMsr64.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadPmc.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadSs.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadTr.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadTsc.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/SetJump.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/SwitchStack.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/Thunk16.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/Wbinvd.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteCr0.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteCr2.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteCr3.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteCr4.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteDr0.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteDr1.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteDr2.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteDr3.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteDr4.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteDr5.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteDr6.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteDr7.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteGdtr.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteIdtr.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteLdtr.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteMm0.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteMm1.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteMm2.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteMm3.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteMm4.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteMm5.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteMm6.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteMm7.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteMsr64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/CompareMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/CopyMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem8.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/ZeroMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/CompareMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem8.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/SetMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/SetMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/SetMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CompareMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CopyMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem8.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ZeroMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/CompareMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/CopyMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem8.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/ZeroMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/CompareMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/CopyMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem8.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/ZeroMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/CompareMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/CopyMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem8.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/ZeroMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/CompareMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/CopyMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem8.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/ZeroMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/CompareMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/CopyMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem8.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/ZeroMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/CompareMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/CopyMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem8.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/ZeroMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/CompareMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/CopyMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem8.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/SetMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/SetMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/SetMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/SetMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/ZeroMem.asm
delete mode 100644 MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedCompareExchange16.asm
delete mode 100644 MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedCompareExchange32.asm
delete mode 100644 MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedCompareExchange64.asm
delete mode 100644 MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedDecrement.asm
delete mode 100644 MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedIncrement.asm
delete mode 100644 MdePkg/Library/BaseSynchronizationLib/X64/InterlockedCompareExchange16.asm
delete mode 100644 MdePkg/Library/BaseSynchronizationLib/X64/InterlockedCompareExchange32.asm
delete mode 100644 MdePkg/Library/BaseSynchronizationLib/X64/InterlockedCompareExchange64.asm
delete mode 100644 MdePkg/Library/BaseSynchronizationLib/X64/InterlockedDecrement.asm
delete mode 100644 MdePkg/Library/BaseSynchronizationLib/X64/InterlockedIncrement.asm
delete mode 100644 SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/AsmFuncs.asm
delete mode 100644 SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/X64/AsmFuncs.asm
delete mode 100644 SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/Ia32/IntHandler.asm
delete mode 100644 SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/X64/IntHandler.asm
delete mode 100644 UefiCpuPkg/CpuDxe/Ia32/CpuAsm.S
delete mode 100644 UefiCpuPkg/CpuDxe/Ia32/CpuAsm.asm
delete mode 100644 UefiCpuPkg/CpuDxe/X64/CpuAsm.S
delete mode 100644 UefiCpuPkg/CpuDxe/X64/CpuAsm.asm
delete mode 100644 UefiCpuPkg/Library/BaseUefiCpuLib/Ia32/InitializeFpu.asm
delete mode 100644 UefiCpuPkg/Library/BaseUefiCpuLib/X64/InitializeFpu.asm
delete mode 100644 UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32/ExceptionHandlerAsm.asm
delete mode 100644 UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ExceptionHandlerAsm.asm
delete mode 100644 UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiEntry.asm
delete mode 100644 UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiException.asm
delete mode 100644 UefiCpuPkg/Library/SmmCpuFeaturesLib/X64/SmiEntry.asm
delete mode 100644 UefiCpuPkg/Library/SmmCpuFeaturesLib/X64/SmiException.asm
delete mode 100644 UefiCpuPkg/Universal/Acpi/S3Resume2Pei/Ia32/AsmFuncs.S
delete mode 100644 UefiCpuPkg/Universal/Acpi/S3Resume2Pei/Ia32/AsmFuncs.asm
delete mode 100644 UefiCpuPkg/Universal/Acpi/S3Resume2Pei/X64/AsmFuncs.S
delete mode 100644 UefiCpuPkg/Universal/Acpi/S3Resume2Pei/X64/AsmFuncs.asm
--
2.8.0.windows.1
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Patch 1/5] IntelFrameworkModulePkg: Remove X86 ASM and S files
2018-05-13 14:31 [Patch 0/5] Remove X86 ASM and S files Liming Gao
@ 2018-05-13 14:31 ` Liming Gao
2018-05-13 14:31 ` [Patch 2/5] MdeModulePkg: " Liming Gao
` (4 subsequent siblings)
5 siblings, 0 replies; 11+ messages in thread
From: Liming Gao @ 2018-05-13 14:31 UTC (permalink / raw)
To: edk2-devel
NASM has replaced ASM and S files.
Rmove ASM from all modules.
Remove S files from the drivers only.
After NASM is updated, S files can be removed from Library.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Liming Gao <liming.gao@intel.com>
---
.../Csm/LegacyBiosDxe/IA32/InterruptTable.S | 67 --------------------
.../Csm/LegacyBiosDxe/IA32/InterruptTable.asm | 73 ----------------------
.../Csm/LegacyBiosDxe/LegacyBiosDxe.inf | 4 --
.../Csm/LegacyBiosDxe/X64/InterruptTable.S | 72 ---------------------
.../Csm/LegacyBiosDxe/X64/InterruptTable.asm | 71 ---------------------
5 files changed, 287 deletions(-)
delete mode 100644 IntelFrameworkModulePkg/Csm/LegacyBiosDxe/IA32/InterruptTable.S
delete mode 100644 IntelFrameworkModulePkg/Csm/LegacyBiosDxe/IA32/InterruptTable.asm
delete mode 100644 IntelFrameworkModulePkg/Csm/LegacyBiosDxe/X64/InterruptTable.S
delete mode 100644 IntelFrameworkModulePkg/Csm/LegacyBiosDxe/X64/InterruptTable.asm
diff --git a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/IA32/InterruptTable.S b/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/IA32/InterruptTable.S
deleted file mode 100644
index a785256..0000000
--- a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/IA32/InterruptTable.S
+++ /dev/null
@@ -1,67 +0,0 @@
-## @file
-# Interrupt Redirection Template
-#
-# Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-#
-# 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
-# http://opensource.org/licenses/bsd-license.php
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-##
-
-ASM_GLOBAL ASM_PFX(InterruptRedirectionTemplate)
-
-#----------------------------------------------------------------------------
-# Procedure: InterruptRedirectionTemplate: Redirects interrupts 0x68-0x6F
-#
-# Input: None
-#
-# Output: None
-#
-# Prototype: VOID
-# InterruptRedirectionTemplate (
-# VOID
-# );
-#
-# Saves: None
-#
-# Modified: None
-#
-# Description: Contains the code that is copied into low memory (below 640K).
-# This code reflects interrupts 0x68-0x6f to interrupts 0x08-0x0f.
-# This template must be copied into low memory, and the IDT entries
-# 0x68-0x6F must be point to the low memory copy of this code. Each
-# entry is 4 bytes long, so IDT entries 0x68-0x6F can be easily
-# computed.
-#
-#----------------------------------------------------------------------------
-ASM_PFX(InterruptRedirectionTemplate):
- int $0x8
- .byte 0xcf
- nop
- int $0x9
- .byte 0xcf
- nop
- int $0xa
- .byte 0xcf
- nop
- int $0xb
- .byte 0xcf
- nop
- int $0xc
- .byte 0xcf
- nop
- int $0xd
- .byte 0xcf
- nop
- int $0xe
- .byte 0xcf
- nop
- int $0xf
- .byte 0xcf
- nop
diff --git a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/IA32/InterruptTable.asm b/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/IA32/InterruptTable.asm
deleted file mode 100644
index 410ce5b..0000000
--- a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/IA32/InterruptTable.asm
+++ /dev/null
@@ -1,73 +0,0 @@
-;; @file
-; Interrupt Redirection Template
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-;
-; 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
-; http://opensource.org/licenses/bsd-license.php
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-;;
-
-.686P
-.MODEL FLAT, C
-.CODE
-
-;----------------------------------------------------------------------------
-; Procedure: InterruptRedirectionTemplate: Redirects interrupts 0x68-0x6F
-;
-; Input: None
-;
-; Output: None
-;
-; Prototype: VOID
-; InterruptRedirectionTemplate (
-; VOID
-; );
-;
-; Saves: None
-;
-; Modified: None
-;
-; Description: Contains the code that is copied into low memory (below 640K).
-; This code reflects interrupts 0x68-0x6f to interrupts 0x08-0x0f.
-; This template must be copied into low memory, and the IDT entries
-; 0x68-0x6F must be point to the low memory copy of this code. Each
-; entry is 4 bytes long, so IDT entries 0x68-0x6F can be easily
-; computed.
-;
-;----------------------------------------------------------------------------
-
-InterruptRedirectionTemplate PROC C
- int 08h
- DB 0cfh ; IRET
- nop
- int 09h
- DB 0cfh ; IRET
- nop
- int 0ah
- DB 0cfh ; IRET
- nop
- int 0bh
- DB 0cfh ; IRET
- nop
- int 0ch
- DB 0cfh ; IRET
- nop
- int 0dh
- DB 0cfh ; IRET
- nop
- int 0eh
- DB 0cfh ; IRET
- nop
- int 0fh
- DB 0cfh ; IRET
- nop
-InterruptRedirectionTemplate ENDP
-
-END
\ No newline at end of file
diff --git a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf b/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf
index 180c18e..6ff6f53 100644
--- a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf
+++ b/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf
@@ -41,8 +41,6 @@
LegacyPci.c
[Sources.Ia32]
- IA32/InterruptTable.S
- IA32/InterruptTable.asm
IA32/InterruptTable.nasm
Thunk.c
LegacyBootSupport.c
@@ -51,8 +49,6 @@
[Sources.X64]
X64/InterruptTable.nasm
- X64/InterruptTable.asm
- X64/InterruptTable.S
Thunk.c
LegacyBootSupport.c
LegacyBbs.c
diff --git a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/X64/InterruptTable.S b/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/X64/InterruptTable.S
deleted file mode 100644
index 0c9ce01..0000000
--- a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/X64/InterruptTable.S
+++ /dev/null
@@ -1,72 +0,0 @@
-## @file
-# Interrupt Redirection Template
-#
-# Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-#
-# 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
-# http://opensource.org/licenses/bsd-license.php
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-##
-
-#text SEGMENT
-
-
-#----------------------------------------------------------------------------
-# Procedure: InterruptRedirectionTemplate: Redirects interrupts 0x68-0x6F
-#
-# Input: None
-#
-# Output: None
-#
-# Prototype: VOID
-# InterruptRedirectionTemplate (
-# VOID
-# );
-#
-# Saves: None
-#
-# Modified: None
-#
-# Description: Contains the code that is copied into low memory (below 640K).
-# This code reflects interrupts 0x68-0x6f to interrupts 0x08-0x0f.
-# This template must be copied into low memory, and the IDT entries
-# 0x68-0x6F must be point to the low memory copy of this code. Each
-# entry is 4 bytes long, so IDT entries 0x68-0x6F can be easily
-# computed.
-#
-#----------------------------------------------------------------------------
-
-ASM_GLOBAL ASM_PFX(InterruptRedirectionTemplate)
-ASM_PFX(InterruptRedirectionTemplate):
- int $0x08
- .byte 0x0cf # IRET
- nop
- int $0x09
- .byte 0x0cf # IRET
- nop
- int $0x0a
- .byte 0x0cf # IRET
- nop
- int $0x0b
- .byte 0x0cf # IRET
- nop
- int $0x0c
- .byte 0x0cf # IRET
- nop
- int $0x0d
- .byte 0x0cf # IRET
- nop
- int $0x0e
- .byte 0x0cf # IRET
- nop
- int $0x0f
- .byte 0x0cf # IRET
- nop
-
-#END
diff --git a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/X64/InterruptTable.asm b/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/X64/InterruptTable.asm
deleted file mode 100644
index 750423e..0000000
--- a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/X64/InterruptTable.asm
+++ /dev/null
@@ -1,71 +0,0 @@
-;; @file
-; Interrupt Redirection Template
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-;
-; 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
-; http://opensource.org/licenses/bsd-license.php
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-;;
-
-text SEGMENT
-
-;----------------------------------------------------------------------------
-; Procedure: InterruptRedirectionTemplate: Redirects interrupts 0x68-0x6F
-;
-; Input: None
-;
-; Output: None
-;
-; Prototype: VOID
-; InterruptRedirectionTemplate (
-; VOID
-; );
-;
-; Saves: None
-;
-; Modified: None
-;
-; Description: Contains the code that is copied into low memory (below 640K).
-; This code reflects interrupts 0x68-0x6f to interrupts 0x08-0x0f.
-; This template must be copied into low memory, and the IDT entries
-; 0x68-0x6F must be point to the low memory copy of this code. Each
-; entry is 4 bytes long, so IDT entries 0x68-0x6F can be easily
-; computed.
-;
-;----------------------------------------------------------------------------
-
-InterruptRedirectionTemplate PROC
- int 08h
- DB 0cfh ; IRET
- nop
- int 09h
- DB 0cfh ; IRET
- nop
- int 0ah
- DB 0cfh ; IRET
- nop
- int 0bh
- DB 0cfh ; IRET
- nop
- int 0ch
- DB 0cfh ; IRET
- nop
- int 0dh
- DB 0cfh ; IRET
- nop
- int 0eh
- DB 0cfh ; IRET
- nop
- int 0fh
- DB 0cfh ; IRET
- nop
-InterruptRedirectionTemplate ENDP
-
-END
\ No newline at end of file
--
2.8.0.windows.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Patch 2/5] MdeModulePkg: Remove X86 ASM and S files
2018-05-13 14:31 [Patch 0/5] Remove X86 ASM and S files Liming Gao
2018-05-13 14:31 ` [Patch 1/5] IntelFrameworkModulePkg: " Liming Gao
@ 2018-05-13 14:31 ` Liming Gao
2018-05-13 14:31 ` [Patch 3/5] MdePkg: " Liming Gao
` (3 subsequent siblings)
5 siblings, 0 replies; 11+ messages in thread
From: Liming Gao @ 2018-05-13 14:31 UTC (permalink / raw)
To: edk2-devel
NASM has replaced ASM and S files.
Rmove ASM from all modules.
Remove S files from the drivers only.
After NASM is updated, S files can be removed from Library.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Liming Gao <liming.gao@intel.com>
---
MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf | 2 -
MdeModulePkg/Core/DxeIplPeim/Ia32/IdtVectorAsm.S | 80 ---
MdeModulePkg/Core/DxeIplPeim/Ia32/IdtVectorAsm.asm | 88 ---
.../BootScriptExecutorDxe.inf | 4 -
.../Acpi/BootScriptExecutorDxe/IA32/S3Asm.S | 66 ---
.../Acpi/BootScriptExecutorDxe/IA32/S3Asm.asm | 71 ---
.../Acpi/BootScriptExecutorDxe/X64/S3Asm.S | 130 -----
.../Acpi/BootScriptExecutorDxe/X64/S3Asm.asm | 135 -----
MdeModulePkg/Universal/CapsulePei/CapsuleX64.inf | 2 -
.../Universal/CapsulePei/X64/PageFaultHandler.S | 81 ---
.../Universal/CapsulePei/X64/PageFaultHandler.asm | 87 ---
.../Universal/DebugSupportDxe/DebugSupportDxe.inf | 4 -
.../Universal/DebugSupportDxe/Ia32/AsmFuncs.S | 407 --------------
.../Universal/DebugSupportDxe/Ia32/AsmFuncs.asm | 509 ------------------
.../Universal/DebugSupportDxe/X64/AsmFuncs.S | 551 -------------------
.../Universal/DebugSupportDxe/X64/AsmFuncs.asm | 596 ---------------------
MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf | 4 -
MdeModulePkg/Universal/EbcDxe/EbcDxe.inf | 4 -
MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.S | 83 ---
MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.asm | 207 -------
MdeModulePkg/Universal/EbcDxe/X64/EbcLowLevel.S | 147 -----
MdeModulePkg/Universal/EbcDxe/X64/EbcLowLevel.asm | 246 ---------
22 files changed, 3504 deletions(-)
delete mode 100644 MdeModulePkg/Core/DxeIplPeim/Ia32/IdtVectorAsm.S
delete mode 100644 MdeModulePkg/Core/DxeIplPeim/Ia32/IdtVectorAsm.asm
delete mode 100644 MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/IA32/S3Asm.S
delete mode 100644 MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/IA32/S3Asm.asm
delete mode 100644 MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/S3Asm.S
delete mode 100644 MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/S3Asm.asm
delete mode 100644 MdeModulePkg/Universal/CapsulePei/X64/PageFaultHandler.S
delete mode 100644 MdeModulePkg/Universal/CapsulePei/X64/PageFaultHandler.asm
delete mode 100644 MdeModulePkg/Universal/DebugSupportDxe/Ia32/AsmFuncs.S
delete mode 100644 MdeModulePkg/Universal/DebugSupportDxe/Ia32/AsmFuncs.asm
delete mode 100644 MdeModulePkg/Universal/DebugSupportDxe/X64/AsmFuncs.S
delete mode 100644 MdeModulePkg/Universal/DebugSupportDxe/X64/AsmFuncs.asm
delete mode 100644 MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.S
delete mode 100644 MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.asm
delete mode 100644 MdeModulePkg/Universal/EbcDxe/X64/EbcLowLevel.S
delete mode 100644 MdeModulePkg/Universal/EbcDxe/X64/EbcLowLevel.asm
diff --git a/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf b/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
index ba1d9c6..e07f3e3 100644
--- a/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
+++ b/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
@@ -43,8 +43,6 @@
X64/VirtualMemory.c
Ia32/DxeLoadFunc.c
Ia32/IdtVectorAsm.nasm
- Ia32/IdtVectorAsm.asm
- Ia32/IdtVectorAsm.S
[Sources.X64]
X64/VirtualMemory.h
diff --git a/MdeModulePkg/Core/DxeIplPeim/Ia32/IdtVectorAsm.S b/MdeModulePkg/Core/DxeIplPeim/Ia32/IdtVectorAsm.S
deleted file mode 100644
index 96a3acb..0000000
--- a/MdeModulePkg/Core/DxeIplPeim/Ia32/IdtVectorAsm.S
+++ /dev/null
@@ -1,80 +0,0 @@
-#/** @file
-#
-# IDT vector entry.
-#
-# Copyright (c) 2007 - 2009, Intel Corporation. All rights reserved.<BR>
-# 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
-# http://opensource.org/licenses/bsd-license.php
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-#**/
-
- .text
- .code32
-
-
- .p2align 3
- ASM_GLOBAL ASM_PFX(AsmGetVectorTemplatInfo)
- ASM_GLOBAL ASM_PFX(AsmVectorFixup)
-/*
-;
-;-----------------------------------------------------------------------
-; Template of IDT Vector Handlers.
-;
-;-----------------------------------------------------------------------
-*/
-VectorTemplateBase:
- pushl %eax
- .byte 0x6a # push #VectorNum
-VectorNum:
- .byte 0
- movl CommonInterruptEntry, %eax
- jmp *%eax
-VectorTemplateEnd:
-
-
-ASM_PFX(AsmGetVectorTemplatInfo):
- movl 4(%esp), %ecx
- movl $VectorTemplateBase, (%ecx)
- movl $(VectorTemplateEnd - VectorTemplateBase), %eax
- ret
-
-ASM_PFX(AsmVectorFixup):
- movl 8(%esp), %eax
- movl 4(%esp), %ecx
- movb %al, (VectorNum - VectorTemplateBase)(%ecx)
- ret
-
-/*
-; The follow algorithm is used for the common interrupt routine.
-
-;
-; +---------------------+ <-- 16-byte aligned ensured by processor
-; + Old SS +
-; +---------------------+
-; + Old RSP +
-; +---------------------+
-; + RFlags +
-; +---------------------+
-; + CS +
-; +---------------------+
-; + RIP +
-; +---------------------+
-; + Error Code +
-; +---------------------+
-; + Vector Number +
-; +---------------------+
-*/
-
-CommonInterruptEntry:
- cli
-1:
- jmp 1b
-
-
-
-
diff --git a/MdeModulePkg/Core/DxeIplPeim/Ia32/IdtVectorAsm.asm b/MdeModulePkg/Core/DxeIplPeim/Ia32/IdtVectorAsm.asm
deleted file mode 100644
index 69fb9a1..0000000
--- a/MdeModulePkg/Core/DxeIplPeim/Ia32/IdtVectorAsm.asm
+++ /dev/null
@@ -1,88 +0,0 @@
-;/** @file
-;
-; IDT vector entry.
-;
-; Copyright (c) 2007 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-;**/
-
- .686p
- .model flat,C
- .code
-
-;
-;------------------------------------------------------------------------------
-; Generic IDT Vector Handlers for the Host.
-;
-;------------------------------------------------------------------------------
-
-ALIGN 8
-PUBLIC AsmGetVectorTemplatInfo
-PUBLIC AsmVectorFixup
-
-PUBLIC AsmVectorFixup
-
-@VectorTemplateBase:
- push eax
- db 6ah ; push #VectorNumber
-@VectorNum:
- db 0
- mov eax, CommonInterruptEntry
- jmp eax
-@VectorTemplateEnd:
-
-
-AsmGetVectorTemplatInfo PROC
- mov ecx, [esp + 4]
- mov [ecx], @VectorTemplateBase
- mov eax, (@VectorTemplateEnd - @VectorTemplateBase)
- ret
-AsmGetVectorTemplatInfo ENDP
-
-
-AsmVectorFixup PROC
- mov eax, dword ptr [esp + 8]
- mov ecx, [esp + 4]
- mov [ecx + (@VectorNum - @VectorTemplateBase)], al
- ret
-AsmVectorFixup ENDP
-
-
-;---------------------------------------;
-; CommonInterruptEntry ;
-;---------------------------------------;
-; The follow algorithm is used for the common interrupt routine.
-
-;
-; +---------------------+ <-- 16-byte aligned ensured by processor
-; + Old SS +
-; +---------------------+
-; + Old RSP +
-; +---------------------+
-; + RFlags +
-; +---------------------+
-; + CS +
-; +---------------------+
-; + RIP +
-; +---------------------+
-; + Error Code +
-; +---------------------+
-; + Vector Number +
-; +---------------------+
-
-CommonInterruptEntry PROC
- cli
-
- jmp $
-CommonInterruptEntry ENDP
-
-END
-
-
diff --git a/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf b/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf
index aac1321..af856e7 100644
--- a/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf
+++ b/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf
@@ -40,14 +40,10 @@
[Sources.X64]
X64/SetIdtEntry.c
X64/S3Asm.nasm
- X64/S3Asm.asm
- X64/S3Asm.S
[Sources.Ia32]
IA32/SetIdtEntry.c
IA32/S3Asm.nasm
- IA32/S3Asm.asm
- IA32/S3Asm.S
[Packages]
MdePkg/MdePkg.dec
diff --git a/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/IA32/S3Asm.S b/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/IA32/S3Asm.S
deleted file mode 100644
index 21516d5..0000000
--- a/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/IA32/S3Asm.S
+++ /dev/null
@@ -1,66 +0,0 @@
-## @file
-#
-# Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
-#
-# 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
-# http://opensource.org/licenses/bsd-license.php
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-##
-
-#-----------------------------------------
-#VOID
-#AsmTransferControl (
-# IN UINT32 S3WakingVector,
-# IN UINT32 AcpiLowMemoryBase
-# );
-#-----------------------------------------
-
-ASM_GLOBAL ASM_PFX(AsmTransferControl)
-ASM_PFX(AsmTransferControl):
- # S3WakingVector :DWORD
- # AcpiLowMemoryBase :DWORD
- pushl %ebp
- movl %esp,%ebp
- leal LABLE, %eax
- pushl $0x28 # CS
- pushl %eax
- movl 8(%ebp),%ecx
- shrdl $20,%ecx,%ebx
- andl $0xf,%ecx
- movw %cx,%bx
- movl %ebx, jmp_addr
- lret
-LABLE:
- .byte 0xb8,0x30,0 # mov ax, 30h as selector
- movw %ax,%ds
- movw %ax,%es
- movw %ax,%fs
- movw %ax,%gs
- movw %ax,%ss
- movl %cr0, %eax # Get control register 0
- .byte 0x66
- .byte 0x83,0xe0,0xfe # and eax, 0fffffffeh ; Clear PE bit (bit #0)
- .byte 0xf,0x22,0xc0 # mov cr0, eax ; Activate real mode
- .byte 0xea # jmp far @jmp_addr
-jmp_addr:
- .long 0
-
-ASM_GLOBAL ASM_PFX(AsmTransferControl32)
-ASM_PFX(AsmTransferControl32):
- jmp ASM_PFX(AsmTransferControl)
-
-# dummy
-ASM_GLOBAL ASM_PFX(AsmTransferControl16)
-ASM_PFX(AsmTransferControl16):
-ASM_GLOBAL ASM_PFX(AsmFixAddress16)
-ASM_PFX(AsmFixAddress16):
- .long 0
-ASM_GLOBAL ASM_PFX(AsmJmpAddr32)
-ASM_PFX(AsmJmpAddr32):
- .long 0
-
diff --git a/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/IA32/S3Asm.asm b/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/IA32/S3Asm.asm
deleted file mode 100644
index 2fc14a1..0000000
--- a/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/IA32/S3Asm.asm
+++ /dev/null
@@ -1,71 +0,0 @@
-;; @file
-; This is the assembly code for transferring to control to OS S3 waking vector
-; for IA32 platform
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-;
-; 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
-; http://opensource.org/licenses/bsd-license.php
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-;;
- .586P
- .model flat,C
- .code
-
-PUBLIC AsmFixAddress16
-PUBLIC AsmJmpAddr32
-
-;-----------------------------------------
-;VOID
-;AsmTransferControl (
-; IN UINT32 S3WakingVector,
-; IN UINT32 AcpiLowMemoryBase
-; );
-;-----------------------------------------
-
-AsmTransferControl PROC
- ; S3WakingVector :DWORD
- ; AcpiLowMemoryBase :DWORD
- push ebp
- mov ebp, esp
- lea eax, @F
- push 28h ; CS
- push eax
- mov ecx, [ebp + 8]
- shrd ebx, ecx, 20
- and ecx, 0fh
- mov bx, cx
- mov [@jmp_addr], ebx
- retf
-@@:
- DB 0b8h, 30h, 0 ; mov ax, 30h as selector
- mov ds, ax
- mov es, ax
- mov fs, ax
- mov gs, ax
- mov ss, ax
- mov eax, cr0 ; Get control register 0
- DB 66h
- DB 83h, 0e0h, 0feh ; and eax, 0fffffffeh ; Clear PE bit (bit #0)
- DB 0fh, 22h, 0c0h ; mov cr0, eax ; Activate real mode
- DB 0eah ; jmp far @jmp_addr
-@jmp_addr DD ?
-
-AsmTransferControl ENDP
-
-AsmTransferControl32 PROC
- jmp AsmTransferControl
-AsmTransferControl32 ENDP
-
-; dummy
-AsmTransferControl16 PROC
-AsmFixAddress16 DD ?
-AsmJmpAddr32 DD ?
-AsmTransferControl16 ENDP
-
- END
\ No newline at end of file
diff --git a/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/S3Asm.S b/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/S3Asm.S
deleted file mode 100644
index e59fd04..0000000
--- a/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/S3Asm.S
+++ /dev/null
@@ -1,130 +0,0 @@
-## @file
-# This is the assembly code for transferring to control to OS S3 waking vector
-# for X64 platform
-#
-# Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
-#
-# 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
-# http://opensource.org/licenses/bsd-license.php
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-##
-
-ASM_GLOBAL ASM_PFX(AsmTransferControl)
-ASM_PFX(AsmTransferControl):
- # rcx S3WakingVector :DWORD
- # rdx AcpiLowMemoryBase :DWORD
- lea _AsmTransferControl_al_0000(%rip), %eax
- movq $0x2800000000, %r8
- orq %r8, %rax
- pushq %rax
- shrd $20, %ecx, %ebx
- andl $0x0f, %ecx
- movw %cx, %bx
- movl %ebx, jmp_addr(%rip)
- lret
-_AsmTransferControl_al_0000:
- .byte 0x0b8, 0x30, 0 # mov ax, 30h as selector
- movl %eax, %ds
- movl %eax, %es
- movl %eax, %fs
- movl %eax, %gs
- movl %eax, %ss
- movq %cr0, %rax
- movq %cr4, %rbx
- .byte 0x66
- andl $0x7ffffffe, %eax
- andb $0xdf, %bl
- movq %rax, %cr0
- .byte 0x66
- movl $0x0c0000080, %ecx
- rdmsr
- andb $0xfe, %ah
- wrmsr
- movq %rbx, %cr4
- .byte 0x0ea # jmp far jmp_addr
-jmp_addr:
- .long 0
-
-ASM_GLOBAL ASM_PFX(AsmTransferControl32)
-ASM_PFX(AsmTransferControl32):
- # S3WakingVector :DWORD
- # AcpiLowMemoryBase :DWORD
- pushq %rbp
- movl %esp,%ebp
- .byte 0x8d, 0x05 # lea eax, AsmTransferControl16
-ASM_GLOBAL ASM_PFX(AsmFixAddress16)
-ASM_PFX(AsmFixAddress16):
- .long 0
- pushq $0x28 # CS
- pushq %rax
- lret
-
-ASM_GLOBAL ASM_PFX(AsmTransferControl16)
-ASM_PFX(AsmTransferControl16):
- .byte 0xb8,0x30,0 # mov ax, 30h as selector
- movw %ax,%ds
- movw %ax,%es
- movw %ax,%fs
- movw %ax,%gs
- movw %ax,%ss
- movq %cr0, %rax # Get control register 0
- .byte 0x66
- .byte 0x83,0xe0,0xfe # and eax, 0fffffffeh ; Clear PE bit (bit #0)
- .byte 0xf,0x22,0xc0 # mov cr0, eax ; Activate real mode
- .byte 0xea # jmp far AsmJmpAddr32
-ASM_GLOBAL ASM_PFX(AsmJmpAddr32)
-ASM_PFX(AsmJmpAddr32):
- .long 0
-
-ASM_GLOBAL ASM_PFX(PageFaultHandlerHook)
-ASM_PFX(PageFaultHandlerHook):
- pushq %rax # save all volatile registers
- pushq %rcx
- pushq %rdx
- pushq %r8
- pushq %r9
- pushq %r10
- pushq %r11
- # save volatile fp registers
- addq $-0x68, %rsp
- stmxcsr 0x60(%rsp)
- movdqa %xmm0, 0x0(%rsp)
- movdqa %xmm1, 0x10(%rsp)
- movdqa %xmm2, 0x20(%rsp)
- movdqa %xmm3, 0x30(%rsp)
- movdqa %xmm4, 0x40(%rsp)
- movdqa %xmm5, 0x50(%rsp)
-
- addq $-0x20, %rsp
- call ASM_PFX(PageFaultHandler)
- addq $0x20, %rsp
-
- # load volatile fp registers
- ldmxcsr 0x60(%rsp)
- movdqa 0x0(%rsp), %xmm0
- movdqa 0x10(%rsp), %xmm1
- movdqa 0x20(%rsp), %xmm2
- movdqa 0x30(%rsp), %xmm3
- movdqa 0x40(%rsp), %xmm4
- movdqa 0x50(%rsp), %xmm5
- addq $0x68, %rsp
-
- testb %al, %al
-
- popq %r11
- popq %r10
- popq %r9
- popq %r8
- popq %rdx
- popq %rcx
- popq %rax # restore all volatile registers
- jnz L1
- jmpq *ASM_PFX(mOriginalHandler)(%rip)
-L1:
- addq $0x08, %rsp # skip error code for PF
- iretq
diff --git a/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/S3Asm.asm b/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/S3Asm.asm
deleted file mode 100644
index 4422f22..0000000
--- a/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/S3Asm.asm
+++ /dev/null
@@ -1,135 +0,0 @@
-;; @file
-; This is the assembly code for transferring to control to OS S3 waking vector
-; for X64 platform
-;
-; Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
-;
-; 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
-; http://opensource.org/licenses/bsd-license.php
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-;;
-
-EXTERN mOriginalHandler:QWORD
-EXTERN PageFaultHandler:PROC
-
- .code
-
-PUBLIC AsmFixAddress16
-PUBLIC AsmJmpAddr32
-
-AsmTransferControl PROC
- ; rcx S3WakingVector :DWORD
- ; rdx AcpiLowMemoryBase :DWORD
- lea eax, @F
- mov r8, 2800000000h
- or rax, r8
- push rax
- shrd ebx, ecx, 20
- and ecx, 0fh
- mov bx, cx
- mov [@jmp_addr], ebx
- retf
-@@:
- DB 0b8h, 30h, 0 ; mov ax, 30h as selector
- mov ds, eax
- mov es, eax
- mov fs, eax
- mov gs, eax
- mov ss, eax
- mov rax, cr0
- mov rbx, cr4
- DB 66h
- and eax, ((NOT 080000001h) AND 0ffffffffh)
- and bl, NOT (1 SHL 5)
- mov cr0, rax
- DB 66h
- mov ecx, 0c0000080h
- rdmsr
- and ah, NOT 1
- wrmsr
- mov cr4, rbx
- DB 0eah ; jmp far @jmp_addr
-@jmp_addr DD ?
-AsmTransferControl ENDP
-
-AsmTransferControl32 PROC
- ; S3WakingVector :DWORD
- ; AcpiLowMemoryBase :DWORD
- push rbp
- mov ebp, esp
- DB 8dh, 05h ; lea eax, AsmTransferControl16
-AsmFixAddress16 DD ?
- push 28h ; CS
- push rax
- retf
-AsmTransferControl32 ENDP
-
-AsmTransferControl16 PROC
- DB 0b8h, 30h, 0 ; mov ax, 30h as selector
- mov ds, ax
- mov es, ax
- mov fs, ax
- mov gs, ax
- mov ss, ax
- mov rax, cr0 ; Get control register 0
- DB 66h
- DB 83h, 0e0h, 0feh ; and eax, 0fffffffeh ; Clear PE bit (bit #0)
- DB 0fh, 22h, 0c0h ; mov cr0, eax ; Activate real mode
- DB 0eah ; jmp far AsmJmpAddr32
-AsmJmpAddr32 DD ?
-AsmTransferControl16 ENDP
-
-PageFaultHandlerHook PROC
- push rax ; save all volatile registers
- push rcx
- push rdx
- push r8
- push r9
- push r10
- push r11
- ; save volatile fp registers
- add rsp, -68h
- stmxcsr [rsp + 60h]
- movdqa [rsp + 0h], xmm0
- movdqa [rsp + 10h], xmm1
- movdqa [rsp + 20h], xmm2
- movdqa [rsp + 30h], xmm3
- movdqa [rsp + 40h], xmm4
- movdqa [rsp + 50h], xmm5
-
- add rsp, -20h
- call PageFaultHandler
- add rsp, 20h
-
- ; load volatile fp registers
- ldmxcsr [rsp + 60h]
- movdqa xmm0, [rsp + 0h]
- movdqa xmm1, [rsp + 10h]
- movdqa xmm2, [rsp + 20h]
- movdqa xmm3, [rsp + 30h]
- movdqa xmm4, [rsp + 40h]
- movdqa xmm5, [rsp + 50h]
- add rsp, 68h
-
- test al, al
-
- pop r11
- pop r10
- pop r9
- pop r8
- pop rdx
- pop rcx
- pop rax ; restore all volatile registers
- jnz @F
- jmp mOriginalHandler
-@@:
- add rsp, 08h ; skip error code for PF
- iretq
-PageFaultHandlerHook ENDP
-
- END
diff --git a/MdeModulePkg/Universal/CapsulePei/CapsuleX64.inf b/MdeModulePkg/Universal/CapsulePei/CapsuleX64.inf
index 8318eaa..f2b667a 100644
--- a/MdeModulePkg/Universal/CapsulePei/CapsuleX64.inf
+++ b/MdeModulePkg/Universal/CapsulePei/CapsuleX64.inf
@@ -39,8 +39,6 @@
[Sources]
X64/X64Entry.c
X64/PageFaultHandler.nasm
- X64/PageFaultHandler.asm
- X64/PageFaultHandler.S
Common/CapsuleCoalesce.c
[Packages]
diff --git a/MdeModulePkg/Universal/CapsulePei/X64/PageFaultHandler.S b/MdeModulePkg/Universal/CapsulePei/X64/PageFaultHandler.S
deleted file mode 100644
index 9e17cc3..0000000
--- a/MdeModulePkg/Universal/CapsulePei/X64/PageFaultHandler.S
+++ /dev/null
@@ -1,81 +0,0 @@
-## @file
-# This is the assembly code for page fault handler hook.
-#
-# Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
-#
-# 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
-# http://opensource.org/licenses/bsd-license.php
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-##
-
-ASM_GLOBAL ASM_PFX(PageFaultHandlerHook)
-ASM_PFX(PageFaultHandlerHook):
- addq $-0x10, %rsp
- # save rax
- movq %rax, 0x08(%rsp)
-
- # pushq %rax # save all volatile registers
- pushq %rcx
- pushq %rdx
- pushq %r8
- pushq %r9
- pushq %r10
- pushq %r11
- # save volatile fp registers
- # 68h + 08h(for alignment)
- addq $-0x70, %rsp
- stmxcsr 0x60(%rsp)
- movdqa %xmm0, 0x0(%rsp)
- movdqa %xmm1, 0x10(%rsp)
- movdqa %xmm2, 0x20(%rsp)
- movdqa %xmm3, 0x30(%rsp)
- movdqa %xmm4, 0x40(%rsp)
- movdqa %xmm5, 0x50(%rsp)
-
- addq $-0x20, %rsp
- call ASM_PFX(PageFaultHandler)
- addq $0x20, %rsp
-
- # load volatile fp registers
- ldmxcsr 0x60(%rsp)
- movdqa 0x0(%rsp), %xmm0
- movdqa 0x10(%rsp), %xmm1
- movdqa 0x20(%rsp), %xmm2
- movdqa 0x30(%rsp), %xmm3
- movdqa 0x40(%rsp), %xmm4
- movdqa 0x50(%rsp), %xmm5
- addq $0x70, %rsp
-
- popq %r11
- popq %r10
- popq %r9
- popq %r8
- popq %rdx
- popq %rcx
- # popq %rax # restore all volatile registers
-
- addq $0x10, %rsp
-
- # rax returned from PageFaultHandler is NULL or OriginalHandler address
- # NULL if the page fault is handled by PageFaultHandler
- # OriginalHandler address if the page fault is not handled by PageFaultHandler
- testq %rax, %rax
-
- # save OriginalHandler address
- movq %rax, -0x10(%rsp)
- # restore rax
- movq -0x08(%rsp), %rax
-
- jz L1
-
- # jump to OriginalHandler
- jmpq *-0x10(%rsp)
-
-L1:
- addq $0x08, %rsp # skip error code for PF
- iretq
diff --git a/MdeModulePkg/Universal/CapsulePei/X64/PageFaultHandler.asm b/MdeModulePkg/Universal/CapsulePei/X64/PageFaultHandler.asm
deleted file mode 100644
index 2f1eab7..0000000
--- a/MdeModulePkg/Universal/CapsulePei/X64/PageFaultHandler.asm
+++ /dev/null
@@ -1,87 +0,0 @@
-;; @file
-; This is the assembly code for page fault handler hook.
-;
-; Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
-;
-; 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
-; http://opensource.org/licenses/bsd-license.php
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-;;
-
-EXTERN PageFaultHandler:PROC
-
- .code
-
-PageFaultHandlerHook PROC
- add rsp, -10h
- ; save rax
- mov [rsp + 08h], rax
-
- ;push rax ; save all volatile registers
- push rcx
- push rdx
- push r8
- push r9
- push r10
- push r11
- ; save volatile fp registers
- ; 68h + 08h(for alignment)
- add rsp, -70h
- stmxcsr [rsp + 60h]
- movdqa [rsp + 0h], xmm0
- movdqa [rsp + 10h], xmm1
- movdqa [rsp + 20h], xmm2
- movdqa [rsp + 30h], xmm3
- movdqa [rsp + 40h], xmm4
- movdqa [rsp + 50h], xmm5
-
- add rsp, -20h
- call PageFaultHandler
- add rsp, 20h
-
- ; load volatile fp registers
- ldmxcsr [rsp + 60h]
- movdqa xmm0, [rsp + 0h]
- movdqa xmm1, [rsp + 10h]
- movdqa xmm2, [rsp + 20h]
- movdqa xmm3, [rsp + 30h]
- movdqa xmm4, [rsp + 40h]
- movdqa xmm5, [rsp + 50h]
- add rsp, 70h
-
- pop r11
- pop r10
- pop r9
- pop r8
- pop rdx
- pop rcx
- ;pop rax ; restore all volatile registers
-
- add rsp, 10h
-
- ; rax returned from PageFaultHandler is NULL or OriginalHandler address
- ; NULL if the page fault is handled by PageFaultHandler
- ; OriginalHandler address if the page fault is not handled by PageFaultHandler
- test rax, rax
-
- ; save OriginalHandler address
- mov [rsp - 10h], rax
- ; restore rax
- mov rax, [rsp - 08h]
-
- jz @F
-
- ; jump to OriginalHandler
- jmp qword ptr [rsp - 10h]
-
-@@:
- add rsp, 08h ; skip error code for PF
- iretq
-PageFaultHandlerHook ENDP
-
- END
diff --git a/MdeModulePkg/Universal/DebugSupportDxe/DebugSupportDxe.inf b/MdeModulePkg/Universal/DebugSupportDxe/DebugSupportDxe.inf
index 72a5dad..ab89ee9 100644
--- a/MdeModulePkg/Universal/DebugSupportDxe/DebugSupportDxe.inf
+++ b/MdeModulePkg/Universal/DebugSupportDxe/DebugSupportDxe.inf
@@ -42,8 +42,6 @@
Ia32/PlDebugSupport.h
Ia32/PlDebugSupportIa32.c
Ia32/AsmFuncs.nasm
- Ia32/AsmFuncs.S
- Ia32/AsmFuncs.asm
[Sources.X64]
Ia32/DebugSupport.h
@@ -51,8 +49,6 @@
X64/PlDebugSupport.h
X64/PlDebugSupportX64.c
X64/AsmFuncs.nasm
- X64/AsmFuncs.S
- X64/AsmFuncs.asm
[Sources.IPF]
Ipf/PlDebugSupport.h
diff --git a/MdeModulePkg/Universal/DebugSupportDxe/Ia32/AsmFuncs.S b/MdeModulePkg/Universal/DebugSupportDxe/Ia32/AsmFuncs.S
deleted file mode 100644
index fd1a96b..0000000
--- a/MdeModulePkg/Universal/DebugSupportDxe/Ia32/AsmFuncs.S
+++ /dev/null
@@ -1,407 +0,0 @@
-#/**@file
-# Low leve IA32 specific debug support functions.
-#
-# Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
-# 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
-# http://opensource.org/licenses/bsd-license.php
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-#**/
-
-ASM_GLOBAL ASM_PFX(OrigVector)
-ASM_GLOBAL ASM_PFX(InterruptEntryStub)
-ASM_GLOBAL ASM_PFX(StubSize)
-ASM_GLOBAL ASM_PFX(CommonIdtEntry)
-ASM_GLOBAL ASM_PFX(FxStorSupport)
-
-ASM_PFX(StubSize): .long ASM_PFX(InterruptEntryStubEnd) - ASM_PFX(InterruptEntryStub)
-ASM_PFX(AppEsp): .long 0x11111111 # ?
-ASM_PFX(DebugEsp): .long 0x22222222 # ?
-ASM_PFX(ExtraPush): .long 0x33333333 # ?
-ASM_PFX(ExceptData): .long 0x44444444 # ?
-ASM_PFX(Eflags): .long 0x55555555 # ?
-ASM_PFX(OrigVector): .long 0x66666666 # ?
-
-#------------------------------------------------------------------------------
-# BOOLEAN
-# FxStorSupport (
-# void
-# )
-#
-# Abstract: Returns TRUE if FxStor instructions are supported
-#
-ASM_GLOBAL ASM_PFX(FxStorSupport)
-ASM_PFX(FxStorSupport):
-#
-# cpuid corrupts ebx which must be preserved per the C calling convention
-#
- push %ebx
- mov $0x1,%eax
- cpuid
- mov %edx,%eax
- and $0x1000000,%eax
- shr $0x18,%eax
- pop %ebx
- ret
-#------------------------------------------------------------------------------
-# void
-# Vect2Desc (
-# DESCRIPTOR * DestDesc,
-# void (*Vector) (void)
-# )
-#
-# Abstract: Encodes an IDT descriptor with the given physical address
-#
-
-ASM_GLOBAL ASM_PFX(Vect2Desc)
-ASM_PFX(Vect2Desc):
- push %ebp
- mov %esp,%ebp
- mov 0xc(%ebp),%eax
- mov 0x8(%ebp),%ecx
- mov %ax,(%ecx)
- movw $0x20,0x2(%ecx)
- movw $0x8e00,0x4(%ecx)
- shr $0x10,%eax
- mov %ax,0x6(%ecx)
- leave
- ret
-
-ASM_GLOBAL ASM_PFX(InterruptEntryStub)
-ASM_PFX(InterruptEntryStub):
- mov %esp,0x0 # save stack top
- mov $0x0,%esp # switch to debugger stack
- push $0x0 # push vector number - will be modified before installed
- jmp ASM_PFX(CommonIdtEntry) # jump CommonIdtEntry
-ASM_GLOBAL ASM_PFX(InterruptEntryStubEnd)
-ASM_PFX(InterruptEntryStubEnd):
-
-#------------------------------------------------------------------------------
-# CommonIdtEntry
-#
-# Abstract: This code is not a function, but is the common part for all IDT
-# vectors.
-#
-ASM_GLOBAL ASM_PFX(CommonIdtEntry)
-ASM_PFX(CommonIdtEntry):
-##
-## At this point, the stub has saved the current application stack esp into AppEsp
-## and switched stacks to the debug stack, where it pushed the vector number
-##
-## The application stack looks like this:
-##
-## ...
-## (last application stack entry)
-## eflags from interrupted task
-## CS from interrupted task
-## EIP from interrupted task
-## Error code <-------------------- Only present for some exeption types
-##
-##
-
-
-## The stub switched us to the debug stack and pushed the interrupt number.
-##
-## Next, construct the context record. It will be build on the debug stack by
-## pushing the registers in the correct order so as to create the context structure
-## on the debug stack. The context record must be built from the end back to the
-## beginning because the stack grows down...
-#
-## For reference, the context record looks like this:
-##
-## typedef
-## struct {
-## UINT32 ExceptionData;
-## FX_SAVE_STATE_IA32 FxSaveState;
-## UINT32 Dr0, Dr1, Dr2, Dr3, Dr6, Dr7;
-## UINT32 Cr0, Cr2, Cr3, Cr4;
-## UINT32 EFlags;
-## UINT32 Ldtr, Tr;
-## UINT32 Gdtr[2], Idtr[2];
-## UINT32 Eip;
-## UINT32 Gs, Fs, Es, Ds, Cs, Ss;
-## UINT32 Edi, Esi, Ebp, Esp, Ebx, Edx, Ecx, Eax;
-## } SYSTEM_CONTEXT_IA32; // 32 bit system context record
-
-## UINT32 Edi, Esi, Ebp, Esp, Ebx, Edx, Ecx, Eax;
- pusha
-## Save interrupt state eflags register...
- pushf
- pop %eax
-## We need to determine if any extra data was pushed by the exception, and if so, save it
-## To do this, we check the exception number pushed by the stub, and cache the
-## result in a variable since we'll need this again.
- mov %eax,0x0
- cmpl $0x8,0x0
- jne ASM_PFX(CommonIdtEntry+0x20)
- movl $0x1,0x0
- jmp ASM_PFX(CommonIdtEntry+0xa8)
- cmpl $0xa,0x0
- jne ASM_PFX(CommonIdtEntry+0x35)
- movl $0x1,0x0
- jmp ASM_PFX(CommonIdtEntry+0xa8)
- cmpl $0xb,0x0
- jne ASM_PFX(CommonIdtEntry+0x4a)
- movl $0x1,0x0
- jmp ASM_PFX(CommonIdtEntry+0xa8)
- cmpl $0xc,0x0
- jne ASM_PFX(CommonIdtEntry+0x5f)
- movl $0x1,0x0
- jmp ASM_PFX(CommonIdtEntry+0xa8)
- cmpl $0xd,0x0
- jne ASM_PFX(CommonIdtEntry+0x74)
- movl $0x1,0x0
- jmp ASM_PFX(CommonIdtEntry+0xa8)
- cmpl $0xe,0x0
- jne ASM_PFX(CommonIdtEntry+0x89)
- movl $0x1,0x0
- jmp ASM_PFX(CommonIdtEntry+0xa8)
- cmpl $0x11,0x0
- jne ASM_PFX(CommonIdtEntry+0x9e)
- movl $0x1,0x0
- jmp ASM_PFX(CommonIdtEntry+0xa8)
- movl $0x0,0x0
-## If there's some extra data, save it also, and modify the saved AppEsp to effectively
-## pop this value off the application's stack.
-
- cmpl $0x1,0x0
- jne ASM_PFX(CommonIdtEntry+0xc8)
- mov 0x0,%eax
- mov (%eax),%ebx
- mov %ebx,0x0
- add $0x4,%eax
- mov %eax,0x0
- jmp ASM_PFX(CommonIdtEntry+0xd2)
- movl $0x0,0x0
-## The "pushad" above pushed the debug stack esp. Since what we're actually doing
-## is building the context record on the debug stack, we need to save the pushed
-## debug ESP, and replace it with the application's last stack entry...
- mov 0xc(%esp),%eax
- mov %eax,0x0
- mov 0x0,%eax
- add $0xc,%eax
- # application stack has eflags, cs, & eip, so
- # last actual application stack entry is
- # 12 bytes into the application stack.
- mov %eax,0xc(%esp)
-## continue building context record
-## UINT32 Gs, Fs, Es, Ds, Cs, Ss; insure high 16 bits of each is zero
- mov %ss,%eax
- push %eax
-
- # CS from application is one entry back in application stack
- mov 0x0,%eax
- movzwl 0x4(%eax),%eax
- push %eax
- mov %ds,%eax
- push %eax
- mov %es,%eax
- push %eax
- mov %fs,%eax
- push %eax
- mov %gs,%eax
- push %eax
-
-## UINT32 Eip;
- # Eip from application is on top of application stack
- mov 0x0,%eax
- pushl (%eax)
-
-## UINT32 Gdtr[2], Idtr[2];
- push $0x0
- push $0x0
- sidtl (%esp)
- push $0x0
- push $0x0
- sgdtl (%esp)
-
-## UINT32 Ldtr, Tr;
- xor %eax,%eax
- str %eax
- push %eax
- sldt %eax
- push %eax
-
-## UINT32 EFlags;
-## Eflags from application is two entries back in application stack
- mov 0x0,%eax
- pushl 0x8(%eax)
-
-## UINT32 Cr0, Cr1, Cr2, Cr3, Cr4;
-## insure FXSAVE/FXRSTOR is enabled in CR4...
-## ... while we're at it, make sure DE is also enabled...
- mov %cr4,%eax
- or $0x208,%eax
- mov %eax,%cr4
- push %eax
- mov %cr3,%eax
- push %eax
- mov %cr2,%eax
- push %eax
- push $0x0
- mov %cr0,%eax
- push %eax
-
-## UINT32 Dr0, Dr1, Dr2, Dr3, Dr6, Dr7;
- mov %db7,%eax
- push %eax
-
-## clear Dr7 while executing debugger itself
- xor %eax,%eax
- mov %eax,%db7
- mov %db6,%eax
- push %eax
-
-## insure all status bits in dr6 are clear...
- xor %eax,%eax
- mov %eax,%db6
- mov %db3,%eax
- push %eax
- mov %db2,%eax
- push %eax
- mov %db1,%eax
- push %eax
- mov %db0,%eax
- push %eax
-
-## FX_SAVE_STATE_IA32 FxSaveState;
- sub $0x200,%esp
- mov %esp,%edi
- # IMPORTANT!! The debug stack has been carefully constructed to
- # insure that esp and edi are 16 byte aligned when we get here.
- # They MUST be. If they are not, a GP fault will occur.
- fxsave (%edi)
-
-## UEFI calling convention for IA32 requires that Direction flag in EFLAGs is clear
- cld
-
-## UINT32 ExceptionData;
- mov 0x0,%eax
- push %eax
-
-# call to C code which will in turn call registered handler
-# pass in the vector number
- mov %esp,%eax
- push %eax
- mov 0x0,%eax
- push %eax
- call ASM_PFX(CommonIdtEntry+0x184)
- add $0x8,%esp
-
-# restore context...
-## UINT32 ExceptionData;
- add $0x4,%esp
-
-## FX_SAVE_STATE_IA32 FxSaveState;
- mov %esp,%esi
- fxrstor (%esi)
- add $0x200,%esp
-
-## UINT32 Dr0, Dr1, Dr2, Dr3, Dr6, Dr7;
- pop %eax
- mov %eax,%db0
- pop %eax
- mov %eax,%db1
- pop %eax
- mov %eax,%db2
- pop %eax
- mov %eax,%db3
-
-## skip restore of dr6. We cleared dr6 during the context save.
- add $0x4,%esp
- pop %eax
- mov %eax,%db7
-
-## UINT32 Cr0, Cr1, Cr2, Cr3, Cr4;
- pop %eax
- mov %eax,%cr0
- add $0x4,%esp
- pop %eax
- mov %eax,%cr2
- pop %eax
- mov %eax,%cr3
- pop %eax
- mov %eax,%cr4
-
-## UINT32 EFlags;
- mov 0x0,%eax
- popl 0x8(%eax)
-
-## UINT32 Ldtr, Tr;
-## UINT32 Gdtr[2], Idtr[2];
-## Best not let anyone mess with these particular registers...
- add $0x18,%esp
-
-## UINT32 Eip;
- popl (%eax)
-
-## UINT32 SegGs, SegFs, SegEs, SegDs, SegCs, SegSs;
-## NOTE - modified segment registers could hang the debugger... We
-## could attempt to insulate ourselves against this possibility,
-## but that poses risks as well.
-##
-
- pop %gs
- pop %fs
- pop %es
- pop %ds
- popl 0x4(%eax)
- pop %ss
- mov 0xc(%esp),%ebx
-
-## The next stuff to restore is the general purpose registers that were pushed
-## using the "pushad" instruction.
-##
-## The value of ESP as stored in the context record is the application ESP
-## including the 3 entries on the application stack caused by the exception
-## itself. It may have been modified by the debug agent, so we need to
-## determine if we need to relocate the application stack.
-
- mov 0x0,%eax # move the potentially modified AppEsp into ebx
- add $0xc,%eax
- cmp %eax,%ebx
- je ASM_PFX(CommonIdtEntry+0x202)
- mov 0x0,%eax
- mov (%eax),%ecx # EIP
- mov %ecx,(%ebx)
- mov 0x4(%eax),%ecx # CS
- mov %ecx,0x4(%ebx)
- mov 0x8(%eax),%ecx # EFLAGS
- mov %ecx,0x8(%ebx)
-
- mov %ebx,%eax # modify the saved AppEsp to the new AppEsp
- mov %eax,0x0
- mov 0x0,%eax # restore the DebugEsp on the debug stack
- # so our "popad" will not cause a stack switch
- mov %eax,0xc(%esp)
- cmpl $0x68,0x0
- jne PhonyIretd+0xd
-## Restore eflags so when we chain, the flags will be exactly as if we were never here.
-## We gin up the stack to do an iretd so we can get ALL the flags.
- mov 0x0,%eax
- mov 0x8(%eax),%ebx
- and $0xfffffcff,%ebx # special handling for IF and TF
- push %ebx
- push %cs
- push $0x0
- iret
-
-PhonyIretd:
-## UINT32 Edi, Esi, Ebp, Esp, Ebx, Edx, Ecx, Eax;
- popa
-
-## Switch back to application stack
- mov 0x0,%esp
- jmp *0x0
-## Jump to original handler
-## UINT32 Edi, Esi, Ebp, Esp, Ebx, Edx, Ecx, Eax;
- popa
-## Switch back to application stack
- mov 0x0,%esp
-
-## We're outa here...
- iret
diff --git a/MdeModulePkg/Universal/DebugSupportDxe/Ia32/AsmFuncs.asm b/MdeModulePkg/Universal/DebugSupportDxe/Ia32/AsmFuncs.asm
deleted file mode 100644
index 32cbc31..0000000
--- a/MdeModulePkg/Universal/DebugSupportDxe/Ia32/AsmFuncs.asm
+++ /dev/null
@@ -1,509 +0,0 @@
-;/** @file
-; Low leve IA32 specific debug support functions.
-;
-; Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-;**/
-
-.586p
-.MODEL FLAT, C
-
-EXCPT32_DIVIDE_ERROR EQU 0
-EXCPT32_DEBUG EQU 1
-EXCPT32_NMI EQU 2
-EXCPT32_BREAKPOINT EQU 3
-EXCPT32_OVERFLOW EQU 4
-EXCPT32_BOUND EQU 5
-EXCPT32_INVALID_OPCODE EQU 6
-EXCPT32_DOUBLE_FAULT EQU 8
-EXCPT32_INVALID_TSS EQU 10
-EXCPT32_SEG_NOT_PRESENT EQU 11
-EXCPT32_STACK_FAULT EQU 12
-EXCPT32_GP_FAULT EQU 13
-EXCPT32_PAGE_FAULT EQU 14
-EXCPT32_FP_ERROR EQU 16
-EXCPT32_ALIGNMENT_CHECK EQU 17
-EXCPT32_MACHINE_CHECK EQU 18
-EXCPT32_SIMD EQU 19
-
-FXSTOR_FLAG EQU 01000000h ; bit cpuid 24 of feature flags
-
-;; The FXSTOR and FXRSTOR commands are used for saving and restoring the x87,
-;; MMX, SSE, SSE2, etc registers. The initialization of the debugsupport driver
-;; MUST check the CPUID feature flags to see that these instructions are available
-;; and fail to init if they are not.
-
-;; fxstor [edi]
-FXSTOR_EDI MACRO
- db 0fh, 0aeh, 00000111y ; mod = 00, reg/op = 000, r/m = 111 = [edi]
-ENDM
-
-;; fxrstor [esi]
-FXRSTOR_ESI MACRO
- db 0fh, 0aeh, 00001110y ; mod = 00, reg/op = 001, r/m = 110 = [esi]
-ENDM
-.DATA
-
-public OrigVector, InterruptEntryStub, StubSize, CommonIdtEntry, FxStorSupport
-
-StubSize dd InterruptEntryStubEnd - InterruptEntryStub
-AppEsp dd 11111111h ; ?
-DebugEsp dd 22222222h ; ?
-ExtraPush dd 33333333h ; ?
-ExceptData dd 44444444h ; ?
-Eflags dd 55555555h ; ?
-OrigVector dd 66666666h ; ?
-
-;; The declarations below define the memory region that will be used for the debug stack.
-;; The context record will be built by pushing register values onto this stack.
-;; It is imparitive that alignment be carefully managed, since the FXSTOR and
-;; FXRSTOR instructions will GP fault if their memory operand is not 16 byte aligned.
-;;
-;; The stub will switch stacks from the application stack to the debuger stack
-;; and pushes the exception number.
-;;
-;; Then we building the context record on the stack. Since the stack grows down,
-;; we push the fields of the context record from the back to the front. There
-;; are 132 bytes of stack used prior allocating the 512 bytes of stack to be
-;; used as the memory buffer for the fxstor instruction. Therefore address of
-;; the buffer used for the FXSTOR instruction is &Eax - 132 - 512, which
-;; must be 16 byte aligned.
-;;
-;; We carefully locate the stack to make this happen.
-;;
-;; For reference, the context structure looks like this:
-;; struct {
-;; UINT32 ExceptionData;
-;; FX_SAVE_STATE_IA32 FxSaveState; // 512 bytes, must be 16 byte aligned
-;; UINT32 Dr0, Dr1, Dr2, Dr3, Dr6, Dr7;
-;; UINT32 Cr0, Cr1, Cr2, Cr3, Cr4;
-;; UINT32 EFlags;
-;; UINT32 Ldtr, Tr;
-;; UINT32 Gdtr[2], Idtr[2];
-;; UINT32 Eip;
-;; UINT32 Gs, Fs, Es, Ds, Cs, Ss;
-;; UINT32 Edi, Esi, Ebp, Esp, Ebx, Edx, Ecx, Eax;
-;; } SYSTEM_CONTEXT_IA32; // 32 bit system context record
-
-
-align 16
-DebugStackEnd db "DbgStkEnd >>>>>>" ;; 16 byte long string - must be 16 bytes to preserve alignment
- dd 1ffdh dup (000000000h) ;; 32K should be enough stack
- ;; This allocation is coocked to insure
- ;; that the the buffer for the FXSTORE instruction
- ;; will be 16 byte aligned also.
- ;;
-ExceptionNumber dd ? ;; first entry will be the vector number pushed by the stub
-
-DebugStackBegin db "<<<< DbgStkBegin" ;; initial debug ESP == DebugStackBegin, set in stub
-
-.CODE
-
-externdef InterruptDistrubutionHub:near
-
-;------------------------------------------------------------------------------
-; BOOLEAN
-; FxStorSupport (
-; void
-; )
-;
-; Abstract: Returns TRUE if FxStor instructions are supported
-;
-FxStorSupport PROC C PUBLIC
-
-;
-; cpuid corrupts ebx which must be preserved per the C calling convention
-;
- push ebx
- mov eax, 1
- cpuid
- mov eax, edx
- and eax, FXSTOR_FLAG
- shr eax, 24
- pop ebx
- ret
-FxStorSupport ENDP
-
-
-
-;------------------------------------------------------------------------------
-; void
-; Vect2Desc (
-; DESCRIPTOR * DestDesc,
-; void (*Vector) (void)
-; )
-;
-; Abstract: Encodes an IDT descriptor with the given physical address
-;
-Vect2Desc PROC C PUBLIC DestPtr:DWORD, Vector:DWORD
-
- mov eax, Vector
- mov ecx, DestPtr
- mov word ptr [ecx], ax ; write bits 15..0 of offset
- mov dx, cs
- mov word ptr [ecx+2], dx ; SYS_CODE_SEL from GDT
- mov word ptr [ecx+4], 0e00h OR 8000h ; type = 386 interrupt gate, present
- shr eax, 16
- mov word ptr [ecx+6], ax ; write bits 31..16 of offset
-
- ret
-
-Vect2Desc ENDP
-
-
-
-;------------------------------------------------------------------------------
-; InterruptEntryStub
-;
-; Abstract: This code is not a function, but is a small piece of code that is
-; copied and fixed up once for each IDT entry that is hooked.
-;
-InterruptEntryStub::
- mov AppEsp, esp ; save stack top
- mov esp, offset DebugStackBegin ; switch to debugger stack
- push 0 ; push vector number - will be modified before installed
- db 0e9h ; jump rel32
- dd 0 ; fixed up to relative address of CommonIdtEntry
-InterruptEntryStubEnd:
-
-
-
-;------------------------------------------------------------------------------
-; CommonIdtEntry
-;
-; Abstract: This code is not a function, but is the common part for all IDT
-; vectors.
-;
-CommonIdtEntry::
-;;
-;; At this point, the stub has saved the current application stack esp into AppEsp
-;; and switched stacks to the debug stack, where it pushed the vector number
-;;
-;; The application stack looks like this:
-;;
-;; ...
-;; (last application stack entry)
-;; eflags from interrupted task
-;; CS from interrupted task
-;; EIP from interrupted task
-;; Error code <-------------------- Only present for some exeption types
-;;
-;;
-
-
-;; The stub switched us to the debug stack and pushed the interrupt number.
-;;
-;; Next, construct the context record. It will be build on the debug stack by
-;; pushing the registers in the correct order so as to create the context structure
-;; on the debug stack. The context record must be built from the end back to the
-;; beginning because the stack grows down...
-;
-;; For reference, the context record looks like this:
-;;
-;; typedef
-;; struct {
-;; UINT32 ExceptionData;
-;; FX_SAVE_STATE_IA32 FxSaveState;
-;; UINT32 Dr0, Dr1, Dr2, Dr3, Dr6, Dr7;
-;; UINT32 Cr0, Cr2, Cr3, Cr4;
-;; UINT32 EFlags;
-;; UINT32 Ldtr, Tr;
-;; UINT32 Gdtr[2], Idtr[2];
-;; UINT32 Eip;
-;; UINT32 Gs, Fs, Es, Ds, Cs, Ss;
-;; UINT32 Edi, Esi, Ebp, Esp, Ebx, Edx, Ecx, Eax;
-;; } SYSTEM_CONTEXT_IA32; // 32 bit system context record
-
-;; UINT32 Edi, Esi, Ebp, Esp, Ebx, Edx, Ecx, Eax;
- pushad
-
-;; Save interrupt state eflags register...
- pushfd
- pop eax
- mov dword ptr Eflags, eax
-
-;; We need to determine if any extra data was pushed by the exception, and if so, save it
-;; To do this, we check the exception number pushed by the stub, and cache the
-;; result in a variable since we'll need this again.
- .IF ExceptionNumber == EXCPT32_DOUBLE_FAULT
- mov ExtraPush, 1
- .ELSEIF ExceptionNumber == EXCPT32_INVALID_TSS
- mov ExtraPush, 1
- .ELSEIF ExceptionNumber == EXCPT32_SEG_NOT_PRESENT
- mov ExtraPush, 1
- .ELSEIF ExceptionNumber == EXCPT32_STACK_FAULT
- mov ExtraPush, 1
- .ELSEIF ExceptionNumber == EXCPT32_GP_FAULT
- mov ExtraPush, 1
- .ELSEIF ExceptionNumber == EXCPT32_PAGE_FAULT
- mov ExtraPush, 1
- .ELSEIF ExceptionNumber == EXCPT32_ALIGNMENT_CHECK
- mov ExtraPush, 1
- .ELSE
- mov ExtraPush, 0
- .ENDIF
-
-;; If there's some extra data, save it also, and modify the saved AppEsp to effectively
-;; pop this value off the application's stack.
- .IF ExtraPush == 1
- mov eax, AppEsp
- mov ebx, [eax]
- mov ExceptData, ebx
- add eax, 4
- mov AppEsp, eax
- .ELSE
- mov ExceptData, 0
- .ENDIF
-
-;; The "pushad" above pushed the debug stack esp. Since what we're actually doing
-;; is building the context record on the debug stack, we need to save the pushed
-;; debug ESP, and replace it with the application's last stack entry...
- mov eax, [esp + 12]
- mov DebugEsp, eax
- mov eax, AppEsp
- add eax, 12
- ; application stack has eflags, cs, & eip, so
- ; last actual application stack entry is
- ; 12 bytes into the application stack.
- mov [esp + 12], eax
-
-;; continue building context record
-;; UINT32 Gs, Fs, Es, Ds, Cs, Ss; insure high 16 bits of each is zero
- mov eax, ss
- push eax
-
- ; CS from application is one entry back in application stack
- mov eax, AppEsp
- movzx eax, word ptr [eax + 4]
- push eax
-
- mov eax, ds
- push eax
- mov eax, es
- push eax
- mov eax, fs
- push eax
- mov eax, gs
- push eax
-
-;; UINT32 Eip;
- ; Eip from application is on top of application stack
- mov eax, AppEsp
- push dword ptr [eax]
-
-;; UINT32 Gdtr[2], Idtr[2];
- push 0
- push 0
- sidt fword ptr [esp]
- push 0
- push 0
- sgdt fword ptr [esp]
-
-;; UINT32 Ldtr, Tr;
- xor eax, eax
- str ax
- push eax
- sldt ax
- push eax
-
-;; UINT32 EFlags;
-;; Eflags from application is two entries back in application stack
- mov eax, AppEsp
- push dword ptr [eax + 8]
-
-;; UINT32 Cr0, Cr1, Cr2, Cr3, Cr4;
-;; insure FXSAVE/FXRSTOR is enabled in CR4...
-;; ... while we're at it, make sure DE is also enabled...
- mov eax, cr4
- or eax, 208h
- mov cr4, eax
- push eax
- mov eax, cr3
- push eax
- mov eax, cr2
- push eax
- push 0
- mov eax, cr0
- push eax
-
-;; UINT32 Dr0, Dr1, Dr2, Dr3, Dr6, Dr7;
- mov eax, dr7
- push eax
-;; clear Dr7 while executing debugger itself
- xor eax, eax
- mov dr7, eax
-
- mov eax, dr6
- push eax
-;; insure all status bits in dr6 are clear...
- xor eax, eax
- mov dr6, eax
-
- mov eax, dr3
- push eax
- mov eax, dr2
- push eax
- mov eax, dr1
- push eax
- mov eax, dr0
- push eax
-
-;; FX_SAVE_STATE_IA32 FxSaveState;
- sub esp, 512
- mov edi, esp
- ; IMPORTANT!! The debug stack has been carefully constructed to
- ; insure that esp and edi are 16 byte aligned when we get here.
- ; They MUST be. If they are not, a GP fault will occur.
- FXSTOR_EDI
-
-;; UEFI calling convention for IA32 requires that Direction flag in EFLAGs is clear
- cld
-
-;; UINT32 ExceptionData;
- mov eax, ExceptData
- push eax
-
-; call to C code which will in turn call registered handler
-; pass in the vector number
- mov eax, esp
- push eax
- mov eax, ExceptionNumber
- push eax
- call InterruptDistrubutionHub
- add esp, 8
-
-; restore context...
-;; UINT32 ExceptionData;
- add esp, 4
-
-;; FX_SAVE_STATE_IA32 FxSaveState;
- mov esi, esp
- FXRSTOR_ESI
- add esp, 512
-
-;; UINT32 Dr0, Dr1, Dr2, Dr3, Dr6, Dr7;
- pop eax
- mov dr0, eax
- pop eax
- mov dr1, eax
- pop eax
- mov dr2, eax
- pop eax
- mov dr3, eax
-;; skip restore of dr6. We cleared dr6 during the context save.
- add esp, 4
- pop eax
- mov dr7, eax
-
-;; UINT32 Cr0, Cr1, Cr2, Cr3, Cr4;
- pop eax
- mov cr0, eax
- add esp, 4
- pop eax
- mov cr2, eax
- pop eax
- mov cr3, eax
- pop eax
- mov cr4, eax
-
-;; UINT32 EFlags;
- mov eax, AppEsp
- pop dword ptr [eax + 8]
-
-;; UINT32 Ldtr, Tr;
-;; UINT32 Gdtr[2], Idtr[2];
-;; Best not let anyone mess with these particular registers...
- add esp, 24
-
-;; UINT32 Eip;
- pop dword ptr [eax]
-
-;; UINT32 SegGs, SegFs, SegEs, SegDs, SegCs, SegSs;
-;; NOTE - modified segment registers could hang the debugger... We
-;; could attempt to insulate ourselves against this possibility,
-;; but that poses risks as well.
-;;
-
- pop gs
- pop fs
- pop es
- pop ds
- pop [eax + 4]
- pop ss
-
-;; The next stuff to restore is the general purpose registers that were pushed
-;; using the "pushad" instruction.
-;;
-;; The value of ESP as stored in the context record is the application ESP
-;; including the 3 entries on the application stack caused by the exception
-;; itself. It may have been modified by the debug agent, so we need to
-;; determine if we need to relocate the application stack.
-
- mov ebx, [esp + 12] ; move the potentially modified AppEsp into ebx
- mov eax, AppEsp
- add eax, 12
- cmp ebx, eax
- je NoAppStackMove
-
- mov eax, AppEsp
- mov ecx, [eax] ; EIP
- mov [ebx], ecx
-
- mov ecx, [eax + 4] ; CS
- mov [ebx + 4], ecx
-
- mov ecx, [eax + 8] ; EFLAGS
- mov [ebx + 8], ecx
-
- mov eax, ebx ; modify the saved AppEsp to the new AppEsp
- mov AppEsp, eax
-NoAppStackMove:
- mov eax, DebugEsp ; restore the DebugEsp on the debug stack
- ; so our "popad" will not cause a stack switch
- mov [esp + 12], eax
-
- cmp ExceptionNumber, 068h
- jne NoChain
-
-Chain:
-
-;; Restore eflags so when we chain, the flags will be exactly as if we were never here.
-;; We gin up the stack to do an iretd so we can get ALL the flags.
- mov eax, AppEsp
- mov ebx, [eax + 8]
- and ebx, NOT 300h ; special handling for IF and TF
- push ebx
- push cs
- push PhonyIretd
- iretd
-PhonyIretd:
-
-;; UINT32 Edi, Esi, Ebp, Esp, Ebx, Edx, Ecx, Eax;
- popad
-
-;; Switch back to application stack
- mov esp, AppEsp
-
-;; Jump to original handler
- jmp OrigVector
-
-NoChain:
-;; UINT32 Edi, Esi, Ebp, Esp, Ebx, Edx, Ecx, Eax;
- popad
-
-;; Switch back to application stack
- mov esp, AppEsp
-
-;; We're outa here...
- iretd
-END
-
-
-
diff --git a/MdeModulePkg/Universal/DebugSupportDxe/X64/AsmFuncs.S b/MdeModulePkg/Universal/DebugSupportDxe/X64/AsmFuncs.S
deleted file mode 100644
index fcc6838..0000000
--- a/MdeModulePkg/Universal/DebugSupportDxe/X64/AsmFuncs.S
+++ /dev/null
@@ -1,551 +0,0 @@
-///**@file
-// Low leve x64 specific debug support functions.
-//
-// Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
-// Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
-// 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
-// http://opensource.org/licenses/bsd-license.php
-//
-// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-//
-//**/
-
-ASM_GLOBAL ASM_PFX(OrigVector)
-ASM_GLOBAL ASM_PFX(InterruptEntryStub)
-ASM_GLOBAL ASM_PFX(StubSize)
-ASM_GLOBAL ASM_PFX(CommonIdtEntry)
-ASM_GLOBAL ASM_PFX(FxStorSupport)
-
-.data
-
-ASM_PFX(StubSize): .long ASM_PFX(InterruptEntryStubEnd) - ASM_PFX(InterruptEntryStub)
-ASM_PFX(AppRsp): .long 0x11111111 # ?
- .long 0x11111111 # ?
-ASM_PFX(DebugRsp): .long 0x22222222 # ?
- .long 0x22222222 # ?
-ASM_PFX(ExtraPush): .long 0x33333333 # ?
- .long 0x33333333 # ?
-ASM_PFX(ExceptData): .long 0x44444444 # ?
- .long 0x44444444 # ?
-ASM_PFX(Rflags): .long 0x55555555 # ?
- .long 0x55555555 # ?
-ASM_PFX(OrigVector): .long 0x66666666 # ?
- .long 0x66666666 # ?
-
-// The declarations below define the memory region that will be used for the debug stack.
-// The context record will be built by pushing register values onto this stack.
-// It is imparitive that alignment be carefully managed, since the FXSTOR and
-// FXRSTOR instructions will GP fault if their memory operand is not 16 byte aligned.
-//
-// The stub will switch stacks from the application stack to the debuger stack
-// and pushes the exception number.
-//
-// Then we building the context record on the stack. Since the stack grows down,
-// we push the fields of the context record from the back to the front. There
-// are 336 bytes of stack used prior allocating the 512 bytes of stack to be
-// used as the memory buffer for the fxstor instruction. Therefore address of
-// the buffer used for the FXSTOR instruction is &Eax - 336 - 512, which
-// must be 16 byte aligned.
-//
-// We carefully locate the stack to make this happen.
-//
-// For reference, the context structure looks like this:
-// struct {
-// UINT64 ExceptionData;
-// FX_SAVE_STATE_X64 FxSaveState; // 512 bytes, must be 16 byte aligned
-// UINT64 Dr0, Dr1, Dr2, Dr3, Dr6, Dr7;
-// UINT64 Cr0, Cr1, Cr2, Cr3, Cr4, Cr8;
-// UINT64 RFlags;
-// UINT64 Ldtr, Tr;
-// UINT64 Gdtr[2], Idtr[2];
-// UINT64 Rip;
-// UINT64 Gs, Fs, Es, Ds, Cs, Ss;
-// UINT64 Rdi, Rsi, Rbp, Rsp, Rbx, Rdx, Rcx, Rax;
-// UINT64 R8, R9, R10, R11, R12, R13, R14, R15;
-// } SYSTEM_CONTEXT_X64; // 64 bit system context record
-
-.p2align 4
-DebugStackEnd : .ascii "DbgStkEnd >>>>>>" # 16 byte long string - must be 16 bytes to preserve alignment
- .fill 0x1ffc, 4, 0x00000000
- # 32K should be enough stack
- # This allocation is coocked to insure
- # that the the buffer for the FXSTORE instruction
- # will be 16 byte aligned also.
- #
-ASM_PFX(ExceptionNumber): .long 0x77777777 # first entry will be the vector number pushed by the stub
- .long 0x77777777 # ?
-
-DebugStackBegin : .ascii "<<<< DbgStkBegin" # initial debug ESP == DebugStackBegin, set in stub
-
-
-.text
-
-//------------------------------------------------------------------------------
-// BOOLEAN
-// FxStorSupport (
-// void
-// )
-//
-// Abstract: Returns TRUE if FxStor instructions are supported
-//
-ASM_GLOBAL ASM_PFX(FxStorSupport)
-ASM_PFX(FxStorSupport):
-//
-// cpuid corrupts rbx which must be preserved per the C calling convention
-//
- pushq %rbx
- movq $1, %rax
- cpuid
- movl %edx, %eax
- andq $0x01000000, %rax
- shrq $24, %rax
- popq %rbx
- ret
-//------------------------------------------------------------------------------
-// void
-// Vect2Desc (
-// IA32_IDT_GATE_DESCRIPTOR * DestDesc, // rcx
-// void (*Vector) (void) // rdx
-// )
-//
-// Abstract: Encodes an IDT descriptor with the given physical address
-//
-ASM_GLOBAL ASM_PFX(Vect2Desc)
-ASM_PFX(Vect2Desc):
- movq %rdx, %rax
- movw %ax, (%rcx) # write bits 15..0 of offset
- movw %cs, %dx
- movw %dx, 2(%rcx) # SYS_CODE_SEL from GDT
- movw $(0x0e00 | 0x8000), 4(%rcx) # type = 386 interrupt gate, present
- shrq $16, %rax
- movw %ax, 6(%rcx) # write bits 31..16 of offset
- shrq $16, %rax
- movl %eax, 8(%rcx) # write bits 63..32 of offset
-
- ret
-
-//------------------------------------------------------------------------------
-// InterruptEntryStub
-//
-// Abstract: This code is not a function, but is a small piece of code that is
-// copied and fixed up once for each IDT entry that is hooked.
-//
-ASM_GLOBAL ASM_PFX(InterruptEntryStub)
-ASM_PFX(InterruptEntryStub):
-
- pushq $0 # push vector number - will be modified before installed
- jmp ASM_PFX(CommonIdtEntry)
-
-ASM_GLOBAL ASM_PFX(InterruptEntryStubEnd)
-ASM_PFX(InterruptEntryStubEnd):
-
-//------------------------------------------------------------------------------
-// CommonIdtEntry
-//
-// Abstract: This code is not a function, but is the common part for all IDT
-// vectors.
-//
-ASM_GLOBAL ASM_PFX(CommonIdtEntry)
-//
-// At this point, the stub has saved the current application stack esp into AppRsp
-// and switched stacks to the debug stack, where it pushed the vector number
-//
-// The application stack looks like this:
-//
-// ...
-// (last application stack entry)
-// [16 bytes alignment, do not care it]
-// SS from interrupted task
-// RSP from interrupted task
-// rflags from interrupted task
-// CS from interrupted task
-// RIP from interrupted task
-// Error code <-------------------- Only present for some exeption types
-//
-// Vector Number <----------------- pushed in our IDT Entry
-//
-
-
-// The stub switched us to the debug stack and pushed the interrupt number.
-//
-// Next, construct the context record. It will be build on the debug stack by
-// pushing the registers in the correct order so as to create the context structure
-// on the debug stack. The context record must be built from the end back to the
-// beginning because the stack grows down...
-//
-// For reference, the context record looks like this:
-//
-// typedef
-// struct {
-// UINT64 ExceptionData;
-// FX_SAVE_STATE_X64 FxSaveState;
-// UINT64 Dr0, Dr1, Dr2, Dr3, Dr6, Dr7;
-// UINT64 Cr0, Cr2, Cr3, Cr4, Cr8;
-// UINT64 RFlags;
-// UINT64 Ldtr, Tr;
-// UINT64 Gdtr[2], Idtr[2];
-// UINT64 Rip;
-// UINT64 Gs, Fs, Es, Ds, Cs, Ss;
-// UINT64 Rdi, Rsi, Rbp, Rsp, Rbx, Rdx, Rcx, Rax;
-// UINT64 R8, R9, R10, R11, R12, R13, R14, R15;
-// } SYSTEM_CONTEXT_X64; // 64
-ASM_PFX(CommonIdtEntry):
-// NOTE: we save rsp here to prevent compiler put rip reference cause error AppRsp
- pushq %rax
- movq (8)(%rsp), %rax # save vector number
- movq %rax, ASM_PFX(ExceptionNumber)(%rip) # save vector number
- popq %rax
- addq $8, %rsp # pop vector number
- movq %rsp, ASM_PFX(AppRsp)(%rip) # save stack top
- movq DebugStackBegin(%rip), %rsp # switch to debugger stack
- subq $8, %rsp # leave space for vector number
-// UINT64 Rdi, Rsi, Rbp, Rsp, Rbx, Rdx, Rcx, Rax;
-// UINT64 R8, R9, R10, R11, R12, R13, R14, R15;
- pushq %r15
- pushq %r14
- pushq %r13
- pushq %r12
- pushq %r11
- pushq %r10
- pushq %r9
- pushq %r8
- pushq %rax
- pushq %rcx
- pushq %rdx
- pushq %rbx
- pushq %rsp
- pushq %rbp
- pushq %rsi
- pushq %rdi
-// Save interrupt state rflags register...
- pushfq
- popq %rax
- movq %rax, ASM_PFX(Rflags)(%rip)
-// We need to determine if any extra data was pushed by the exception, and if so, save it
-// To do this, we check the exception number pushed by the stub, and cache the
-// result in a variable since we'll need this again.
- cmpl $0, ASM_PFX(ExceptionNumber)(%rip)
- jz ExtraPushOne
- cmpl $10, ASM_PFX(ExceptionNumber)(%rip)
- jz ExtraPushOne
- cmpl $11, ASM_PFX(ExceptionNumber)(%rip)
- jz ExtraPushOne
- cmpl $12, ASM_PFX(ExceptionNumber)(%rip)
- jz ExtraPushOne
- cmpl $13, ASM_PFX(ExceptionNumber)(%rip)
- jz ExtraPushOne
- cmpl $14, ASM_PFX(ExceptionNumber)(%rip)
- jz ExtraPushOne
- cmpl $17, ASM_PFX(ExceptionNumber)(%rip)
- jz ExtraPushOne
- movl $0, ASM_PFX(ExtraPush)(%rip)
- movl $0, ASM_PFX(ExceptData)(%rip)
- jmp ExtraPushDone
-ExtraPushOne:
- movl $1, ASM_PFX(ExtraPush)(%rip)
-
-// If there's some extra data, save it also, and modify the saved AppRsp to effectively
-// pop this value off the application's stack.
- movq ASM_PFX(AppRsp)(%rip), %rax
- movq (%rax), %rbx
- movq %rbx, ASM_PFX(ExceptData)(%rip)
- addq $8, %rax
- movq %rax, ASM_PFX(AppRsp)(%rip)
-
-ExtraPushDone:
-
-// The "push" above pushed the debug stack rsp. Since what we're actually doing
-// is building the context record on the debug stack, we need to save the pushed
-// debug RSP, and replace it with the application's last stack entry...
- movq 24(%rsp), %rax
- movq %rax, ASM_PFX(DebugRsp)(%rip)
- movq ASM_PFX(AppRsp)(%rip), %rax
- movq 24(%rax), %rax
- # application stack has ss, rsp, rflags, cs, & rip, so
- # last actual application stack entry is saved at offset
- # 24 bytes from stack top.
- movq %rax, 24(%rsp)
-
-// continue building context record
-// UINT64 Gs, Fs, Es, Ds, Cs, Ss; insure high 16 bits of each is zero
- mov %ss, %rax
- pushq %rax
- # CS from application is one entry back in application stack
- movq ASM_PFX(AppRsp)(%rip), %rax
- movzwq 8(%rax), %rax
- pushq %rax
-
- mov %ds, %rax
- pushq %rax
- mov %es, %rax
- pushq %rax
- mov %fs, %rax
- pushq %rax
- mov %gs, %rax
- pushq %rax
-// UINT64 Rip;
- # Rip from application is on top of application stack
- movq ASM_PFX(AppRsp)(%rip), %rax
- pushq (%rax)
-// UINT64 Gdtr[2], Idtr[2];
- push $0
- push $0
- sidtq (%rsp)
- push $0
- push $0
- sgdtq (%rsp)
-
-// UINT64 Ldtr, Tr;
- xorq %rax, %rax
- str %ax
- pushq %rax
- sldt %ax
- pushq %rax
-
-// UINT64 RFlags;
-// Rflags from application is two entries back in application stack
- movq ASM_PFX(AppRsp)(%rip), %rax
- pushq 16(%rax)
-// UINT64 Cr0, Cr1, Cr2, Cr3, Cr4, Cr8;
-// insure FXSAVE/FXRSTOR is enabled in CR4...
-// ... while we're at it, make sure DE is also enabled...
- movq %cr8, %rax
- pushq %rax
- movq %cr4, %rax
- orq $0x208, %rax
- movq %rax, %cr4
- pushq %rax
- movq %cr3, %rax
- pushq %rax
- movq %cr2, %rax
- pushq %rax
- push $0
- movq %cr0, %rax
- pushq %rax
-// UINT64 Dr0, Dr1, Dr2, Dr3, Dr6, Dr7;
- movq %dr7, %rax
- pushq %rax
-// clear Dr7 while executing debugger itself
- xorq %rax, %rax
- movq %rax, %dr7
-
- movq %dr6, %rax
- pushq %rax
-// insure all status bits in dr6 are clear...
- xorq %rax, %rax
- movq %rax, %dr6
-
- movq %dr3, %rax
- pushq %rax
- movq %dr2, %rax
- pushq %rax
- movq %dr1, %rax
- pushq %rax
- movq %dr0, %rax
- pushq %rax
-
-// FX_SAVE_STATE_X64 FxSaveState;
- subq $512, %rsp
- movq %rsp, %rdi
- # IMPORTANT!! The debug stack has been carefully constructed to
- # insure that rsp and rdi are 16 byte aligned when we get here.
- # They MUST be. If they are not, a GP fault will occur.
-
- # FXSTOR_RDI
- fxsave (%rdi)
-
-// UEFI calling convention for x64 requires that Direction flag in EFLAGs is clear
- cld
-
-// UINT64 ExceptionData;
- movq ASM_PFX(ExceptData)(%rip), %rax
- pushq %rax
-
-// call to C code which will in turn call registered handler
-// pass in the vector number
- movq %rsp, %rdx
- movq ASM_PFX(ExceptionNumber)(%rip), %rcx
- subq $40, %rsp
- call ASM_PFX(InterruptDistrubutionHub)
- addq $40, %rsp
-// restore context...
-// UINT64 ExceptionData;
- addq $8, %rsp
-
-// FX_SAVE_STATE_X64 FxSaveState;
- movq %rsp, %rsi
-
- # FXRSTOR_RSI
- fxrstor (%rsi)
-
- addq $512, %rsp
-
-// UINT64 Dr0, Dr1, Dr2, Dr3, Dr6, Dr7;
- popq %rax
- movq %rax, %dr0
- popq %rax
- movq %rax, %dr1
- popq %rax
- movq %rax, %dr2
- popq %rax
- movq %rax, %dr3
-
-// skip restore of dr6. We cleared dr6 during the context save.
- addq $8, %rsp
- popq %rax
- movq %rax, %dr7
-
-// UINT64 Cr0, Cr1, Cr2, Cr3, Cr4, Cr8;
- popq %rax
- movq %rax, %cr0
- addq $8, %rsp
- popq %rax
- movq %rax, %cr2
- popq %rax
- movq %rax, %cr3
- popq %rax
- movq %rax, %cr4
- popq %rax
- movq %rax, %cr8
-// UINT64 RFlags;
- movq ASM_PFX(AppRsp)(%rip), %rax
- popq 16(%rax)
-// UINT64 Ldtr, Tr;
-// UINT64 Gdtr[2], Idtr[2];
-// Best not let anyone mess with these particular registers...
- addq $48, %rsp
-// UINT64 Rip;
- popq (%rax)
-
-// UINT64 Gs, Fs, Es, Ds, Cs, Ss;
-// NOTE - modified segment registers could hang the debugger... We
-// could attempt to insulate ourselves against this possibility,
-// but that poses risks as well.
-//
-
- popq %rax
- # mov %rax, %gs
- popq %rax
- # mov %rax, %fs
- popq %rax
- mov %rax, %es
- popq %rax
- mov %rax, %ds
- movq ASM_PFX(AppRsp)(%rip), %rax
- popq 8(%rax)
- popq %rax
- mov %rax, %ss
-## The next stuff to restore is the general purpose registers that were pushed
-## using the "push" instruction.
-##
-## The value of RSP as stored in the context record is the application RSP
-## including the 5 entries on the application stack caused by the exception
-## itself. It may have been modified by the debug agent, so we need to
-## determine if we need to relocate the application stack.
-
- movq 24(%rsp), %rbx # move the potentially modified AppRsp into rbx
- movq ASM_PFX(AppRsp)(%rip), %rax
- movq 24(%rax), %rax
- cmpq %rax, %rbx
- je NoAppStackMove
-
- movq ASM_PFX(AppRsp)(%rip), %rax
- movq (%rax), %rcx # RIP
- movq %rcx, (%rbx)
-
- movq 8(%rax), %rcx # CS
- movq %rcx, 8(%rbx)
-
- movq 16(%rax), %rcx # RFLAGS
- movq %rcx, 16(%rbx)
-
- movq 24(%rax), %rcx # RSP
- movq %rcx, 24(%rbx)
-
- movq 32(%rax), %rcx # SS
- movq %rcx, 32(%rbx)
-
- movq %rbx, %rax # modify the saved AppRsp to the new AppRsp
- movq %rax, ASM_PFX(AppRsp)(%rip)
-NoAppStackMove:
- movq ASM_PFX(DebugRsp)(%rip), %rax # restore the DebugRsp on the debug stack
- # so our "pop" will not cause a stack switch
- movq %rax, 24(%rsp)
-
- cmpl $0x068, ASM_PFX(ExceptionNumber)(%rip)
- jne NoChain
-
-Chain:
-
-// Restore rflags so when we chain, the flags will be exactly as if we were never here.
-// We gin up the stack to do an iretq so we can get ALL the flags.
- movq ASM_PFX(AppRsp)(%rip), %rax
- movq 40(%rax), %rbx
- pushq %rbx
- mov %ss, %rax
- pushq %rax
- movq %rsp, %rax
- addq $16, %rax
- pushq %rax
- movq ASM_PFX(AppRsp)(%rip), %rax
- movq 16(%rax), %rbx
- andq $0xfffffffffffffcff, %rbx # special handling for IF and TF
- pushq %rbx
- mov %cs, %rax
- pushq %rax
- movq PhonyIretq(%rip), %rax
- pushq %rax
- iretq
-PhonyIretq:
-
-// UINT64 Rdi, Rsi, Rbp, Rsp, Rbx, Rdx, Rcx, Rax;
-// UINT64 R8, R9, R10, R11, R12, R13, R14, R15;
- popq %rdi
- popq %rsi
- popq %rbp
- popq %rsp
- popq %rbx
- popq %rdx
- popq %rcx
- popq %rax
- popq %r8
- popq %r9
- popq %r10
- popq %r11
- popq %r12
- popq %r13
- popq %r14
- popq %r15
-
-// Switch back to application stack
- movq ASM_PFX(AppRsp)(%rip), %rsp
-// Jump to original handler
- jmp ASM_PFX(OrigVector)
-NoChain:
-// UINT64 Rdi, Rsi, Rbp, Rsp, Rbx, Rdx, Rcx, Rax;
-// UINT64 R8, R9, R10, R11, R12, R13, R14, R15;
- popq %rdi
- popq %rsi
- popq %rbp
- popq %rsp
- popq %rbx
- popq %rdx
- popq %rcx
- popq %rax
- popq %r8
- popq %r9
- popq %r10
- popq %r11
- popq %r12
- popq %r13
- popq %r14
- popq %r15
-
-// Switch back to application stack
- movq ASM_PFX(AppRsp)(%rip), %rsp
-
-// We're outa here...
- iret
diff --git a/MdeModulePkg/Universal/DebugSupportDxe/X64/AsmFuncs.asm b/MdeModulePkg/Universal/DebugSupportDxe/X64/AsmFuncs.asm
deleted file mode 100644
index bce49ef..0000000
--- a/MdeModulePkg/Universal/DebugSupportDxe/X64/AsmFuncs.asm
+++ /dev/null
@@ -1,596 +0,0 @@
-;/** @file
-; Low level x64 routines used by the debug support driver.
-;
-; Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-;**/
-
-EXCPT64_DIVIDE_ERROR EQU 0
-EXCPT64_DEBUG EQU 1
-EXCPT64_NMI EQU 2
-EXCPT64_BREAKPOINT EQU 3
-EXCPT64_OVERFLOW EQU 4
-EXCPT64_BOUND EQU 5
-EXCPT64_INVALID_OPCODE EQU 6
-EXCPT64_DOUBLE_FAULT EQU 8
-EXCPT64_INVALID_TSS EQU 10
-EXCPT64_SEG_NOT_PRESENT EQU 11
-EXCPT64_STACK_FAULT EQU 12
-EXCPT64_GP_FAULT EQU 13
-EXCPT64_PAGE_FAULT EQU 14
-EXCPT64_FP_ERROR EQU 16
-EXCPT64_ALIGNMENT_CHECK EQU 17
-EXCPT64_MACHINE_CHECK EQU 18
-EXCPT64_SIMD EQU 19
-
-FXSTOR_FLAG EQU 01000000h ; bit cpuid 24 of feature flags
-
-;; The FXSTOR and FXRSTOR commands are used for saving and restoring the x87,
-;; MMX, SSE, SSE2, etc registers. The initialization of the debugsupport driver
-;; MUST check the CPUID feature flags to see that these instructions are available
-;; and fail to init if they are not.
-
-;; fxstor [rdi]
-FXSTOR_RDI MACRO
- db 0fh, 0aeh, 00000111y ; mod = 00, reg/op = 000, r/m = 111 = [rdi]
-ENDM
-
-;; fxrstor [rsi]
-FXRSTOR_RSI MACRO
- db 0fh, 0aeh, 00001110y ; mod = 00, reg/op = 001, r/m = 110 = [rsi]
-ENDM
-
-data SEGMENT
-
-public OrigVector, InterruptEntryStub, StubSize, CommonIdtEntry, FxStorSupport
-
-StubSize dd InterruptEntryStubEnd - InterruptEntryStub
-AppRsp dq 1111111111111111h ; ?
-DebugRsp dq 2222222222222222h ; ?
-ExtraPush dq 3333333333333333h ; ?
-ExceptData dq 4444444444444444h ; ?
-Rflags dq 5555555555555555h ; ?
-OrigVector dq 6666666666666666h ; ?
-
-;; The declarations below define the memory region that will be used for the debug stack.
-;; The context record will be built by pushing register values onto this stack.
-;; It is imparitive that alignment be carefully managed, since the FXSTOR and
-;; FXRSTOR instructions will GP fault if their memory operand is not 16 byte aligned.
-;;
-;; The stub will switch stacks from the application stack to the debuger stack
-;; and pushes the exception number.
-;;
-;; Then we building the context record on the stack. Since the stack grows down,
-;; we push the fields of the context record from the back to the front. There
-;; are 336 bytes of stack used prior allocating the 512 bytes of stack to be
-;; used as the memory buffer for the fxstor instruction. Therefore address of
-;; the buffer used for the FXSTOR instruction is &Eax - 336 - 512, which
-;; must be 16 byte aligned.
-;;
-;; We carefully locate the stack to make this happen.
-;;
-;; For reference, the context structure looks like this:
-;; struct {
-;; UINT64 ExceptionData;
-;; FX_SAVE_STATE_X64 FxSaveState; // 512 bytes, must be 16 byte aligned
-;; UINT64 Dr0, Dr1, Dr2, Dr3, Dr6, Dr7;
-;; UINT64 Cr0, Cr1, Cr2, Cr3, Cr4, Cr8;
-;; UINT64 RFlags;
-;; UINT64 Ldtr, Tr;
-;; UINT64 Gdtr[2], Idtr[2];
-;; UINT64 Rip;
-;; UINT64 Gs, Fs, Es, Ds, Cs, Ss;
-;; UINT64 Rdi, Rsi, Rbp, Rsp, Rbx, Rdx, Rcx, Rax;
-;; UINT64 R8, R9, R10, R11, R12, R13, R14, R15;
-;; } SYSTEM_CONTEXT_X64; // 64 bit system context record
-
-align 16
-DebugStackEnd db "DbgStkEnd >>>>>>" ;; 16 byte long string - must be 16 bytes to preserve alignment
- dd 1ffch dup (000000000h) ;; 32K should be enough stack
- ;; This allocation is coocked to insure
- ;; that the the buffer for the FXSTORE instruction
- ;; will be 16 byte aligned also.
- ;;
-ExceptionNumber dq ? ;; first entry will be the vector number pushed by the stub
-
-DebugStackBegin db "<<<< DbgStkBegin" ;; initial debug ESP == DebugStackBegin, set in stub
-
-data ENDS
-
-text SEGMENT
-
-externdef InterruptDistrubutionHub:near
-
-;------------------------------------------------------------------------------
-; BOOLEAN
-; FxStorSupport (
-; void
-; )
-;
-; Abstract: Returns TRUE if FxStor instructions are supported
-;
-FxStorSupport PROC PUBLIC
-
-;
-; cpuid corrupts rbx which must be preserved per the C calling convention
-;
- push rbx
- mov rax, 1
- cpuid
- mov eax, edx
- and rax, FXSTOR_FLAG
- shr rax, 24
- pop rbx
- ret
-FxStorSupport ENDP
-
-;------------------------------------------------------------------------------
-; void
-; Vect2Desc (
-; IA32_IDT_GATE_DESCRIPTOR * DestDesc, // rcx
-; void (*Vector) (void) // rdx
-; )
-;
-; Abstract: Encodes an IDT descriptor with the given physical address
-;
-Vect2Desc PROC PUBLIC
-
- mov rax, rdx
- mov word ptr [rcx], ax ; write bits 15..0 of offset
- mov dx, cs
- mov word ptr [rcx+2], dx ; SYS_CODE_SEL from GDT
- mov word ptr [rcx+4], 0e00h OR 8000h ; type = 386 interrupt gate, present
- shr rax, 16
- mov word ptr [rcx+6], ax ; write bits 31..16 of offset
- shr rax, 16
- mov dword ptr [rcx+8], eax ; write bits 63..32 of offset
-
- ret
-
-Vect2Desc ENDP
-
-
-
-;------------------------------------------------------------------------------
-; InterruptEntryStub
-;
-; Abstract: This code is not a function, but is a small piece of code that is
-; copied and fixed up once for each IDT entry that is hooked.
-;
-InterruptEntryStub::
- push 0 ; push vector number - will be modified before installed
- db 0e9h ; jump rel32
- dd 0 ; fixed up to relative address of CommonIdtEntry
-InterruptEntryStubEnd:
-
-
-
-;------------------------------------------------------------------------------
-; CommonIdtEntry
-;
-; Abstract: This code is not a function, but is the common part for all IDT
-; vectors.
-;
-CommonIdtEntry::
-;;
-;; At this point, the stub has saved the current application stack esp into AppRsp
-;; and switched stacks to the debug stack, where it pushed the vector number
-;;
-;; The application stack looks like this:
-;;
-;; ...
-;; (last application stack entry)
-;; [16 bytes alignment, do not care it]
-;; SS from interrupted task
-;; RSP from interrupted task
-;; rflags from interrupted task
-;; CS from interrupted task
-;; RIP from interrupted task
-;; Error code <-------------------- Only present for some exeption types
-;;
-;; Vector Number <----------------- pushed in our IDT Entry
-;;
-
-
-;; The stub switched us to the debug stack and pushed the interrupt number.
-;;
-;; Next, construct the context record. It will be build on the debug stack by
-;; pushing the registers in the correct order so as to create the context structure
-;; on the debug stack. The context record must be built from the end back to the
-;; beginning because the stack grows down...
-;
-;; For reference, the context record looks like this:
-;;
-;; typedef
-;; struct {
-;; UINT64 ExceptionData;
-;; FX_SAVE_STATE_X64 FxSaveState;
-;; UINT64 Dr0, Dr1, Dr2, Dr3, Dr6, Dr7;
-;; UINT64 Cr0, Cr2, Cr3, Cr4, Cr8;
-;; UINT64 RFlags;
-;; UINT64 Ldtr, Tr;
-;; UINT64 Gdtr[2], Idtr[2];
-;; UINT64 Rip;
-;; UINT64 Gs, Fs, Es, Ds, Cs, Ss;
-;; UINT64 Rdi, Rsi, Rbp, Rsp, Rbx, Rdx, Rcx, Rax;
-;; UINT64 R8, R9, R10, R11, R12, R13, R14, R15;
-;; } SYSTEM_CONTEXT_X64; // 64 bit system context record
-
-;; NOTE: we save rsp here to prevent compiler put rip reference cause error AppRsp
- push rax
- mov rax, qword ptr [rsp][8] ; save vector number
- mov ExceptionNumber, rax ; save vector number
- pop rax
- add rsp, 8 ; pop vector number
- mov AppRsp, rsp ; save stack top
- mov rsp, offset DebugStackBegin ; switch to debugger stack
- sub rsp, 8 ; leave space for vector number
-
-;; UINT64 Rdi, Rsi, Rbp, Rsp, Rbx, Rdx, Rcx, Rax;
-;; UINT64 R8, R9, R10, R11, R12, R13, R14, R15;
- push r15
- push r14
- push r13
- push r12
- push r11
- push r10
- push r9
- push r8
- push rax
- push rcx
- push rdx
- push rbx
- push rsp
- push rbp
- push rsi
- push rdi
-
-;; Save interrupt state rflags register...
- pushfq
- pop rax
- mov qword ptr Rflags, rax
-
-;; We need to determine if any extra data was pushed by the exception, and if so, save it
-;; To do this, we check the exception number pushed by the stub, and cache the
-;; result in a variable since we'll need this again.
- cmp ExceptionNumber, EXCPT64_DOUBLE_FAULT
- jz ExtraPushOne
- cmp ExceptionNumber, EXCPT64_INVALID_TSS
- jz ExtraPushOne
- cmp ExceptionNumber, EXCPT64_SEG_NOT_PRESENT
- jz ExtraPushOne
- cmp ExceptionNumber, EXCPT64_STACK_FAULT
- jz ExtraPushOne
- cmp ExceptionNumber, EXCPT64_GP_FAULT
- jz ExtraPushOne
- cmp ExceptionNumber, EXCPT64_PAGE_FAULT
- jz ExtraPushOne
- cmp ExceptionNumber, EXCPT64_ALIGNMENT_CHECK
- jz ExtraPushOne
- mov ExtraPush, 0
- mov ExceptData, 0
- jmp ExtraPushDone
-ExtraPushOne:
- mov ExtraPush, 1
-
-;; If there's some extra data, save it also, and modify the saved AppRsp to effectively
-;; pop this value off the application's stack.
- mov rax, AppRsp
- mov rbx, [rax]
- mov ExceptData, rbx
- add rax, 8
- mov AppRsp, rax
-
-ExtraPushDone:
-
-;; The "push" above pushed the debug stack rsp. Since what we're actually doing
-;; is building the context record on the debug stack, we need to save the pushed
-;; debug RSP, and replace it with the application's last stack entry...
- mov rax, [rsp + 24]
- mov DebugRsp, rax
- mov rax, AppRsp
- mov rax, QWORD PTR [rax + 24]
- ; application stack has ss, rsp, rflags, cs, & rip, so
- ; last actual application stack entry is saved at offset
- ; 24 bytes from stack top.
- mov [rsp + 24], rax
-
-;; continue building context record
-;; UINT64 Gs, Fs, Es, Ds, Cs, Ss; insure high 16 bits of each is zero
- mov rax, ss
- push rax
-
- ; CS from application is one entry back in application stack
- mov rax, AppRsp
- movzx rax, word ptr [rax + 8]
- push rax
-
- mov rax, ds
- push rax
- mov rax, es
- push rax
- mov rax, fs
- push rax
- mov rax, gs
- push rax
-
-;; UINT64 Rip;
- ; Rip from application is on top of application stack
- mov rax, AppRsp
- push qword ptr [rax]
-
-;; UINT64 Gdtr[2], Idtr[2];
- push 0
- push 0
- sidt fword ptr [rsp]
- push 0
- push 0
- sgdt fword ptr [rsp]
-
-;; UINT64 Ldtr, Tr;
- xor rax, rax
- str ax
- push rax
- sldt ax
- push rax
-
-;; UINT64 RFlags;
-;; Rflags from application is two entries back in application stack
- mov rax, AppRsp
- push qword ptr [rax + 16]
-
-;; UINT64 Cr0, Cr1, Cr2, Cr3, Cr4, Cr8;
-;; insure FXSAVE/FXRSTOR is enabled in CR4...
-;; ... while we're at it, make sure DE is also enabled...
- mov rax, cr8
- push rax
- mov rax, cr4
- or rax, 208h
- mov cr4, rax
- push rax
- mov rax, cr3
- push rax
- mov rax, cr2
- push rax
- push 0
- mov rax, cr0
- push rax
-
-;; UINT64 Dr0, Dr1, Dr2, Dr3, Dr6, Dr7;
- mov rax, dr7
- push rax
-;; clear Dr7 while executing debugger itself
- xor rax, rax
- mov dr7, rax
-
- mov rax, dr6
- push rax
-;; insure all status bits in dr6 are clear...
- xor rax, rax
- mov dr6, rax
-
- mov rax, dr3
- push rax
- mov rax, dr2
- push rax
- mov rax, dr1
- push rax
- mov rax, dr0
- push rax
-
-;; FX_SAVE_STATE_X64 FxSaveState;
- sub rsp, 512
- mov rdi, rsp
- ; IMPORTANT!! The debug stack has been carefully constructed to
- ; insure that rsp and rdi are 16 byte aligned when we get here.
- ; They MUST be. If they are not, a GP fault will occur.
- FXSTOR_RDI
-
-;; UEFI calling convention for x64 requires that Direction flag in EFLAGs is clear
- cld
-
-;; UINT64 ExceptionData;
- mov rax, ExceptData
- push rax
-
-; call to C code which will in turn call registered handler
-; pass in the vector number
- mov rdx, rsp
- mov rcx, ExceptionNumber
- sub rsp, 40
- call InterruptDistrubutionHub
- add rsp, 40
-
-; restore context...
-;; UINT64 ExceptionData;
- add rsp, 8
-
-;; FX_SAVE_STATE_X64 FxSaveState;
- mov rsi, rsp
- FXRSTOR_RSI
- add rsp, 512
-
-;; UINT64 Dr0, Dr1, Dr2, Dr3, Dr6, Dr7;
- pop rax
- mov dr0, rax
- pop rax
- mov dr1, rax
- pop rax
- mov dr2, rax
- pop rax
- mov dr3, rax
-;; skip restore of dr6. We cleared dr6 during the context save.
- add rsp, 8
- pop rax
- mov dr7, rax
-
-;; UINT64 Cr0, Cr1, Cr2, Cr3, Cr4, Cr8;
- pop rax
- mov cr0, rax
- add rsp, 8
- pop rax
- mov cr2, rax
- pop rax
- mov cr3, rax
- pop rax
- mov cr4, rax
- pop rax
- mov cr8, rax
-
-;; UINT64 RFlags;
- mov rax, AppRsp
- pop qword ptr [rax + 16]
-
-;; UINT64 Ldtr, Tr;
-;; UINT64 Gdtr[2], Idtr[2];
-;; Best not let anyone mess with these particular registers...
- add rsp, 48
-
-;; UINT64 Rip;
- pop qword ptr [rax]
-
-;; UINT64 Gs, Fs, Es, Ds, Cs, Ss;
-;; NOTE - modified segment registers could hang the debugger... We
-;; could attempt to insulate ourselves against this possibility,
-;; but that poses risks as well.
-;;
-
- pop rax
- ; mov gs, rax
- pop rax
- ; mov fs, rax
- pop rax
- mov es, rax
- pop rax
- mov ds, rax
- mov rax, AppRsp
- pop qword ptr [rax + 8]
- pop rax
- mov ss, rax
-
-;; The next stuff to restore is the general purpose registers that were pushed
-;; using the "push" instruction.
-;;
-;; The value of RSP as stored in the context record is the application RSP
-;; including the 5 entries on the application stack caused by the exception
-;; itself. It may have been modified by the debug agent, so we need to
-;; determine if we need to relocate the application stack.
-
- mov rbx, [rsp + 24] ; move the potentially modified AppRsp into rbx
- mov rax, AppRsp
- mov rax, QWORD PTR [rax + 24]
- cmp rbx, rax
- je NoAppStackMove
-
- mov rax, AppRsp
- mov rcx, [rax] ; RIP
- mov [rbx], rcx
-
- mov rcx, [rax + 8] ; CS
- mov [rbx + 8], rcx
-
- mov rcx, [rax + 16] ; RFLAGS
- mov [rbx + 16], rcx
-
- mov rcx, [rax + 24] ; RSP
- mov [rbx + 24], rcx
-
- mov rcx, [rax + 32] ; SS
- mov [rbx + 32], rcx
-
- mov rax, rbx ; modify the saved AppRsp to the new AppRsp
- mov AppRsp, rax
-NoAppStackMove:
- mov rax, DebugRsp ; restore the DebugRsp on the debug stack
- ; so our "pop" will not cause a stack switch
- mov [rsp + 24], rax
-
- cmp ExceptionNumber, 068h
- jne NoChain
-
-Chain:
-
-;; Restore rflags so when we chain, the flags will be exactly as if we were never here.
-;; We gin up the stack to do an iretq so we can get ALL the flags.
- mov rax, AppRsp
- mov rbx, [rax + 40]
- push rbx
- mov rax, ss
- push rax
- mov rax, rsp
- add rax, 16
- push rax
- mov rax, AppRsp
- mov rbx, [rax + 16]
- and rbx, NOT 300h ; special handling for IF and TF
- push rbx
- mov rax, cs
- push rax
- mov rax, offset PhonyIretq
- push rax
- iretq
-PhonyIretq:
-
-;; UINT64 Rdi, Rsi, Rbp, Rsp, Rbx, Rdx, Rcx, Rax;
-;; UINT64 R8, R9, R10, R11, R12, R13, R14, R15;
- pop rdi
- pop rsi
- pop rbp
- pop rsp
- pop rbx
- pop rdx
- pop rcx
- pop rax
- pop r8
- pop r9
- pop r10
- pop r11
- pop r12
- pop r13
- pop r14
- pop r15
-
-;; Switch back to application stack
- mov rsp, AppRsp
-
-;; Jump to original handler
- jmp OrigVector
-
-NoChain:
-;; UINT64 Rdi, Rsi, Rbp, Rsp, Rbx, Rdx, Rcx, Rax;
-;; UINT64 R8, R9, R10, R11, R12, R13, R14, R15;
- pop rdi
- pop rsi
- pop rbp
- pop rsp
- pop rbx
- pop rdx
- pop rcx
- pop rax
- pop r8
- pop r9
- pop r10
- pop r11
- pop r12
- pop r13
- pop r14
- pop r15
-
-;; Switch back to application stack
- mov rsp, AppRsp
-
-;; We're outa here...
- iretq
-text ENDS
-
-END
-
-
-
diff --git a/MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf b/MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf
index ce413c0..4131136 100644
--- a/MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf
+++ b/MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf
@@ -68,14 +68,10 @@
[Sources.Ia32]
Ia32/EbcSupport.c
Ia32/EbcLowLevel.nasm
- Ia32/EbcLowLevel.S
- Ia32/EbcLowLevel.asm
[Sources.X64]
X64/EbcSupport.c
X64/EbcLowLevel.nasm
- X64/EbcLowLevel.S
- X64/EbcLowLevel.asm
[Sources.IPF]
Ipf/EbcSupport.h
diff --git a/MdeModulePkg/Universal/EbcDxe/EbcDxe.inf b/MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
index d11888e..232370a 100644
--- a/MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
+++ b/MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
@@ -43,14 +43,10 @@
[Sources.Ia32]
Ia32/EbcSupport.c
Ia32/EbcLowLevel.nasm
- Ia32/EbcLowLevel.S
- Ia32/EbcLowLevel.asm
[Sources.X64]
X64/EbcSupport.c
X64/EbcLowLevel.nasm
- X64/EbcLowLevel.S
- X64/EbcLowLevel.asm
[Sources.IPF]
Ipf/EbcSupport.h
diff --git a/MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.S b/MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.S
deleted file mode 100644
index caf8d40..0000000
--- a/MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.S
+++ /dev/null
@@ -1,83 +0,0 @@
-#/** @file
-#
-# Low level IA32 specific EBC support routines.
-#
-# Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.<BR>
-# 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
-# http://opensource.org/licenses/bsd-license.php
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-#**/
-
-ASM_GLOBAL ASM_PFX(CopyMem)
-ASM_GLOBAL ASM_PFX(EbcInterpret)
-ASM_GLOBAL ASM_PFX(ExecuteEbcImageEntryPoint)
-
-ASM_GLOBAL ASM_PFX(EbcLLCALLEXNative)
-ASM_PFX(EbcLLCALLEXNative):
- push %ebp
- push %ebx
- mov %esp,%ebp
- mov 0xc(%esp),%ecx
- mov 0x14(%esp),%eax
- mov 0x10(%esp),%edx
- sub %edx,%eax
- sub %eax,%esp
- mov %esp,%ebx
- push %ecx
- push %eax
- push %edx
- push %ebx
- call ASM_PFX(CopyMem)
- pop %eax
- pop %eax
- pop %eax
- pop %ecx
- call *%ecx
- mov %ebp,%esp
- mov %ebp,%esp
- pop %ebx
- pop %ebp
- ret
-
-ASM_GLOBAL ASM_PFX(EbcLLEbcInterpret)
-ASM_PFX(EbcLLEbcInterpret):
- # Construct new stack
- push %ebp
- mov %esp, %ebp
- push %esi
- push %edi
- sub $0x40, %esp
- push %eax
- mov %ebp, %esi
- add $0x8, %esi
- mov %esp, %edi
- add $0x4, %edi
- mov $0x10, %ecx
- rep movsd
-
- # call C-code
- call ASM_PFX(EbcInterpret)
- add $0x44, %esp
- pop %edi
- pop %esi
- pop %ebp
- ret
-
-ASM_GLOBAL ASM_PFX(EbcLLExecuteEbcImageEntryPoint)
-ASM_PFX(EbcLLExecuteEbcImageEntryPoint):
- # Construct new stack
- mov %eax, -0xC(%esp)
- mov 0x4(%esp), %eax
- mov %eax, -0x8(%esp)
- mov 0x8(%esp), %eax
- mov %eax, -0x4(%esp)
- # call C-code
- sub $0xC, %esp
- call ASM_PFX(ExecuteEbcImageEntryPoint)
- add $0xC, %esp
- ret
diff --git a/MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.asm b/MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.asm
deleted file mode 100644
index d5e7423..0000000
--- a/MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.asm
+++ /dev/null
@@ -1,207 +0,0 @@
-;/** @file
-;
-; This code provides low level routines that support the Virtual Machine
-; for option ROMs.
-;
-; Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-;**/
-
- page ,132
- title VM ASSEMBLY LANGUAGE ROUTINES
-
-;---------------------------------------------------------------------------
-; Equate files needed.
-;---------------------------------------------------------------------------
-
-.XLIST
-
-.LIST
-
-;---------------------------------------------------------------------------
-; Assembler options
-;---------------------------------------------------------------------------
-
-.686p
-.model flat, C
-.code
-CopyMem PROTO Destination:PTR DWORD, Source:PTR DWORD, Count:DWORD
-EbcInterpret PROTO
-ExecuteEbcImageEntryPoint PROTO
-
-;****************************************************************************
-; EbcLLCALLEXNative
-;
-; This function is called to execute an EBC CALLEX instruction
-; to native code.
-; This instruction requires that we thunk out to external native
-; code. For IA32, we simply switch stacks and jump to the
-; specified function. On return, we restore the stack pointer
-; to its original location.
-;
-; Destroys no working registers.
-;****************************************************************************
-; INT64 EbcLLCALLEXNative(UINTN FuncAddr, UINTN NewStackPointer, VOID *FramePtr)
-EbcLLCALLEXNative PROC PUBLIC
- push ebp
- push ebx
- mov ebp, esp ; standard function prolog
-
- ; Get function address in a register
- ; mov ecx, FuncAddr => mov ecx, dword ptr [FuncAddr]
- mov ecx, dword ptr [esp + 0Ch]
-
- ; Set stack pointer to new value
- ; mov eax, NewStackPointer => mov eax, dword ptr [NewSp]
- mov eax, dword ptr [esp + 14h]
- mov edx, dword ptr [esp + 10h]
- sub eax, edx
- sub esp, eax
- mov ebx, esp
- push ecx
- push eax
- push edx
- push ebx
- call CopyMem
- pop eax
- pop eax
- pop eax
- pop ecx
-
- ; Now call the external routine
- call ecx
-
- ; ebp is preserved by the callee. In this function it
- ; equals the original esp, so set them equal
- mov esp, ebp
-
- ; Standard function epilog
- mov esp, ebp
- pop ebx
- pop ebp
- ret
-EbcLLCALLEXNative ENDP
-
-;****************************************************************************
-; EbcLLEbcInterpret
-;
-; Begin executing an EBC image.
-;****************************************************************************
-; UINT64 EbcLLEbcInterpret(VOID)
-EbcLLEbcInterpret PROC PUBLIC
- ;
- ;; mov eax, 0xca112ebc
- ;; mov eax, EbcEntryPoint
- ;; mov ecx, EbcLLEbcInterpret
- ;; jmp ecx
- ;
- ; Caller uses above instruction to jump here
- ; The stack is below:
- ; +-----------+
- ; | RetAddr |
- ; +-----------+
- ; |EntryPoint | (EAX)
- ; +-----------+
- ; | Arg1 | <- EDI
- ; +-----------+
- ; | Arg2 |
- ; +-----------+
- ; | ... |
- ; +-----------+
- ; | Arg16 |
- ; +-----------+
- ; | EDI |
- ; +-----------+
- ; | ESI |
- ; +-----------+
- ; | EBP | <- EBP
- ; +-----------+
- ; | RetAddr | <- ESP is here
- ; +-----------+
- ; | Arg1 | <- ESI
- ; +-----------+
- ; | Arg2 |
- ; +-----------+
- ; | ... |
- ; +-----------+
- ; | Arg16 |
- ; +-----------+
- ;
-
- ; Construct new stack
- push ebp
- mov ebp, esp
- push esi
- push edi
- sub esp, 40h
- push eax
- mov esi, ebp
- add esi, 8
- mov edi, esp
- add edi, 4
- mov ecx, 16
- rep movsd
-
- ; call C-code
- call EbcInterpret
- add esp, 44h
- pop edi
- pop esi
- pop ebp
- ret
-EbcLLEbcInterpret ENDP
-
-;****************************************************************************
-; EbcLLExecuteEbcImageEntryPoint
-;
-; Begin executing an EBC image.
-;****************************************************************************
-; UINT64 EbcLLExecuteEbcImageEntryPoint(VOID)
-EbcLLExecuteEbcImageEntryPoint PROC PUBLIC
- ;
- ;; mov eax, 0xca112ebc
- ;; mov eax, EbcEntryPoint
- ;; mov ecx, EbcLLExecuteEbcImageEntryPoint
- ;; jmp ecx
- ;
- ; Caller uses above instruction to jump here
- ; The stack is below:
- ; +-----------+
- ; | RetAddr |
- ; +-----------+
- ; |EntryPoint | (EAX)
- ; +-----------+
- ; |ImageHandle|
- ; +-----------+
- ; |SystemTable|
- ; +-----------+
- ; | RetAddr | <- ESP is here
- ; +-----------+
- ; |ImageHandle|
- ; +-----------+
- ; |SystemTable|
- ; +-----------+
- ;
-
- ; Construct new stack
- mov [esp - 0Ch], eax
- mov eax, [esp + 04h]
- mov [esp - 08h], eax
- mov eax, [esp + 08h]
- mov [esp - 04h], eax
-
- ; call C-code
- sub esp, 0Ch
- call ExecuteEbcImageEntryPoint
- add esp, 0Ch
- ret
-EbcLLExecuteEbcImageEntryPoint ENDP
-
-END
diff --git a/MdeModulePkg/Universal/EbcDxe/X64/EbcLowLevel.S b/MdeModulePkg/Universal/EbcDxe/X64/EbcLowLevel.S
deleted file mode 100644
index b01486a..0000000
--- a/MdeModulePkg/Universal/EbcDxe/X64/EbcLowLevel.S
+++ /dev/null
@@ -1,147 +0,0 @@
-#/** @file
-#
-# This code provides low level routines that support the Virtual Machine
-# for option ROMs.
-#
-# Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>
-# 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
-# http://opensource.org/licenses/bsd-license.php
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-#**/
-
-#---------------------------------------------------------------------------
-# Equate files needed.
-#---------------------------------------------------------------------------
-
-ASM_GLOBAL ASM_PFX(CopyMem);
-ASM_GLOBAL ASM_PFX(EbcInterpret);
-ASM_GLOBAL ASM_PFX(ExecuteEbcImageEntryPoint);
-
-#****************************************************************************
-# EbcLLCALLEX
-#
-# This function is called to execute an EBC CALLEX instruction.
-# This instruction requires that we thunk out to external native
-# code. For x64, we switch stacks, copy the arguments to the stack
-# and jump to the specified function.
-# On return, we restore the stack pointer to its original location.
-#
-# Destroys no working registers.
-#****************************************************************************
-# VOID EbcLLCALLEXNative(UINTN FuncAddr, UINTN NewStackPointer, VOID *FramePtr)
-ASM_GLOBAL ASM_PFX(EbcLLCALLEXNative);
-ASM_PFX(EbcLLCALLEXNative):
- push %rbp
- push %rbx
- mov %rsp, %rbp
- # Function prolog
-
- # Copy FuncAddr to a preserved register.
- mov %rcx, %rbx
-
- # Set stack pointer to new value
- sub %rdx, %r8
-
- #
- # Fix X64 native function call prolog. Prepare space for at least 4 arguments,
- # even if the native function's arguments are less than 4.
- #
- # From MSDN x64 Software Conventions, Overview of x64 Calling Conventions:
- # "The caller is responsible for allocating space for parameters to the
- # callee, and must always allocate sufficient space for the 4 register
- # parameters, even if the callee doesn't have that many parameters.
- # This aids in the simplicity of supporting C unprototyped functions,
- # and vararg C/C++ functions."
- #
- cmp $0x20, %r8
- jae skip_expansion
- mov $0x20, %r8
-skip_expansion:
-
- sub %r8, %rsp
-
- #
- # Fix X64 native function call 16-byte alignment.
- #
- # From MSDN x64 Software Conventions, Stack Usage:
- # "The stack will always be maintained 16-byte aligned, except within
- # the prolog (for example, after the return address is pushed)."
- #
- and $0xFFFFFFFFFFFFFFF0, %rsp
-
- mov %rsp, %rcx
- sub $0x20, %rsp
- call ASM_PFX(CopyMem)
- add $0x20, %rsp
-
- # Considering the worst case, load 4 potiential arguments
- # into registers.
- mov (%rsp), %rcx
- mov 0x8(%rsp), %rdx
- mov 0x10(%rsp), %r8
- mov 0x18(%rsp), %r9
-
- # Now call the external routine
- call *%rbx
-
- # Function epilog
- mov %rbp, %rsp
- pop %rbx
- pop %rbp
- ret
-
-ASM_GLOBAL ASM_PFX(EbcLLEbcInterpret);
-ASM_PFX(EbcLLEbcInterpret):
- # save old parameter to stack
- mov %rcx, 0x8(%rsp)
- mov %rdx, 0x10(%rsp)
- mov %r8, 0x18(%rsp)
- mov %r9, 0x20(%rsp)
-
- # Construct new stack
- push %rbp
- mov %rsp, %rbp
- push %rsi
- push %rdi
- push %rbx
- sub $0x80, %rsp
- push %r10
- mov %rbp, %rsi
- add $0x10, %rsi
- mov %rsp, %rdi
- add $0x8, %rdi
- mov $0x10, %rcx
- rep movsq
-
- # build new paramater calling convention
- mov 0x18(%rsp), %r9
- mov 0x10(%rsp), %r8
- mov 0x8(%rsp), %rdx
- mov %r10, %rcx
-
- # call C-code
- call ASM_PFX(EbcInterpret)
- add $0x88, %esp
- pop %rbx
- pop %rdi
- pop %rsi
- pop %rbp
- ret
-
-ASM_GLOBAL ASM_PFX(EbcLLExecuteEbcImageEntryPoint);
-ASM_PFX(EbcLLExecuteEbcImageEntryPoint):
- # build new paramater calling convention
- mov %rdx, %r8
- mov %rcx, %rdx
- mov %r10, %rcx
-
- # call C-code
- sub $0x28, %rsp
- call ASM_PFX(ExecuteEbcImageEntryPoint)
- add $0x28, %rsp
- ret
diff --git a/MdeModulePkg/Universal/EbcDxe/X64/EbcLowLevel.asm b/MdeModulePkg/Universal/EbcDxe/X64/EbcLowLevel.asm
deleted file mode 100644
index 1fbd165..0000000
--- a/MdeModulePkg/Universal/EbcDxe/X64/EbcLowLevel.asm
+++ /dev/null
@@ -1,246 +0,0 @@
-;/** @file
-;
-; This code provides low level routines that support the Virtual Machine.
-; for option ROMs.
-;
-; Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
-; Copyright (c) 2014 Hewlett-Packard Development Company, L.P.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-;**/
-
- page ,132
- title VM ASSEMBLY LANGUAGE ROUTINES
-
-;---------------------------------------------------------------------------
-; Equate files needed.
-;---------------------------------------------------------------------------
-
-.CODE
-
-CopyMem PROTO Destination:PTR DWORD, Source:PTR DWORD, Count:DWORD
-EbcInterpret PROTO
-ExecuteEbcImageEntryPoint PROTO
-
-;****************************************************************************
-; EbcLLCALLEX
-;
-; This function is called to execute an EBC CALLEX instruction.
-; This instruction requires that we thunk out to external native
-; code. For x64, we switch stacks, copy the arguments to the stack
-; and jump to the specified function.
-; On return, we restore the stack pointer to its original location.
-;
-; Destroys no working registers.
-;****************************************************************************
-; INT64 EbcLLCALLEXNative(UINTN FuncAddr, UINTN NewStackPointer, VOID *FramePtr)
-EbcLLCALLEXNative PROC PUBLIC
- push rbp
- push rbx
- mov rbp, rsp
- ; Function prolog
-
- ; Copy FuncAddr to a preserved register.
- mov rbx, rcx
-
- ; Set stack pointer to new value
- sub r8, rdx
-
- ;
- ; Fix X64 native function call prolog. Prepare space for at least 4 arguments,
- ; even if the native function's arguments are less than 4.
- ;
- ; From MSDN x64 Software Conventions, Overview of x64 Calling Conventions:
- ; "The caller is responsible for allocating space for parameters to the
- ; callee, and must always allocate sufficient space for the 4 register
- ; parameters, even if the callee doesn't have that many parameters.
- ; This aids in the simplicity of supporting C unprototyped functions,
- ; and vararg C/C++ functions."
- ;
- cmp r8, 20h
- jae skip_expansion
- mov r8, 20h
-skip_expansion:
-
- sub rsp, r8
-
- ;
- ; Fix X64 native function call 16-byte alignment.
- ;
- ; From MSDN x64 Software Conventions, Stack Usage:
- ; "The stack will always be maintained 16-byte aligned, except within
- ; the prolog (for example, after the return address is pushed)."
- ;
- and rsp, NOT 0fh
-
- mov rcx, rsp
- sub rsp, 20h
- call CopyMem
- add rsp, 20h
-
- ; Considering the worst case, load 4 potiential arguments
- ; into registers.
- mov rcx, qword ptr [rsp]
- mov rdx, qword ptr [rsp+8h]
- mov r8, qword ptr [rsp+10h]
- mov r9, qword ptr [rsp+18h]
-
- ; Now call the external routine
- call rbx
-
- ; Function epilog
- mov rsp, rbp
- pop rbx
- pop rbp
- ret
-EbcLLCALLEXNative ENDP
-
-;****************************************************************************
-; EbcLLEbcInterpret
-;
-; Begin executing an EBC image.
-;****************************************************************************
-; UINT64 EbcLLEbcInterpret(VOID)
-EbcLLEbcInterpret PROC PUBLIC
- ;
- ;; mov rax, ca112ebccall2ebch
- ;; mov r10, EbcEntryPoint
- ;; mov r11, EbcLLEbcInterpret
- ;; jmp r11
- ;
- ; Caller uses above instruction to jump here
- ; The stack is below:
- ; +-----------+
- ; | RetAddr |
- ; +-----------+
- ; |EntryPoint | (R10)
- ; +-----------+
- ; | Arg1 | <- RDI
- ; +-----------+
- ; | Arg2 |
- ; +-----------+
- ; | ... |
- ; +-----------+
- ; | Arg16 |
- ; +-----------+
- ; | Dummy |
- ; +-----------+
- ; | RDI |
- ; +-----------+
- ; | RSI |
- ; +-----------+
- ; | RBP | <- RBP
- ; +-----------+
- ; | RetAddr | <- RSP is here
- ; +-----------+
- ; | Scratch1 | (RCX) <- RSI
- ; +-----------+
- ; | Scratch2 | (RDX)
- ; +-----------+
- ; | Scratch3 | (R8)
- ; +-----------+
- ; | Scratch4 | (R9)
- ; +-----------+
- ; | Arg5 |
- ; +-----------+
- ; | Arg6 |
- ; +-----------+
- ; | ... |
- ; +-----------+
- ; | Arg16 |
- ; +-----------+
- ;
-
- ; save old parameter to stack
- mov [rsp + 08h], rcx
- mov [rsp + 10h], rdx
- mov [rsp + 18h], r8
- mov [rsp + 20h], r9
-
- ; Construct new stack
- push rbp
- mov rbp, rsp
- push rsi
- push rdi
- push rbx
- sub rsp, 80h
- push r10
- mov rsi, rbp
- add rsi, 10h
- mov rdi, rsp
- add rdi, 8
- mov rcx, 16
- rep movsq
-
- ; build new paramater calling convention
- mov r9, [rsp + 18h]
- mov r8, [rsp + 10h]
- mov rdx, [rsp + 08h]
- mov rcx, r10
-
- ; call C-code
- call EbcInterpret
- add rsp, 88h
- pop rbx
- pop rdi
- pop rsi
- pop rbp
- ret
-EbcLLEbcInterpret ENDP
-
-;****************************************************************************
-; EbcLLExecuteEbcImageEntryPoint
-;
-; Begin executing an EBC image.
-;****************************************************************************
-; UINT64 EbcLLExecuteEbcImageEntryPoint(VOID)
-EbcLLExecuteEbcImageEntryPoint PROC PUBLIC
- ;
- ;; mov rax, ca112ebccall2ebch
- ;; mov r10, EbcEntryPoint
- ;; mov r11, EbcLLExecuteEbcImageEntryPoint
- ;; jmp r11
- ;
- ; Caller uses above instruction to jump here
- ; The stack is below:
- ; +-----------+
- ; | RetAddr |
- ; +-----------+
- ; |EntryPoint | (R10)
- ; +-----------+
- ; |ImageHandle|
- ; +-----------+
- ; |SystemTable|
- ; +-----------+
- ; | Dummy |
- ; +-----------+
- ; | Dummy |
- ; +-----------+
- ; | RetAddr | <- RSP is here
- ; +-----------+
- ; |ImageHandle| (RCX)
- ; +-----------+
- ; |SystemTable| (RDX)
- ; +-----------+
- ;
-
- ; build new paramater calling convention
- mov r8, rdx
- mov rdx, rcx
- mov rcx, r10
-
- ; call C-code
- sub rsp, 28h
- call ExecuteEbcImageEntryPoint
- add rsp, 28h
- ret
-EbcLLExecuteEbcImageEntryPoint ENDP
-
-END
-
--
2.8.0.windows.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Patch 3/5] MdePkg: Remove X86 ASM and S files
2018-05-13 14:31 [Patch 0/5] Remove X86 ASM and S files Liming Gao
2018-05-13 14:31 ` [Patch 1/5] IntelFrameworkModulePkg: " Liming Gao
2018-05-13 14:31 ` [Patch 2/5] MdeModulePkg: " Liming Gao
@ 2018-05-13 14:31 ` Liming Gao
2018-05-13 14:31 ` [Patch 4/5] SourceLevelDebugPkg: " Liming Gao
` (2 subsequent siblings)
5 siblings, 0 replies; 11+ messages in thread
From: Liming Gao @ 2018-05-13 14:31 UTC (permalink / raw)
To: edk2-devel
NASM has replaced ASM and S files.
Rmove ASM from all modules.
Remove S files from the drivers only.
After NASM is updated, S files can be removed from Library.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Liming Gao <liming.gao@intel.com>
---
MdePkg/Library/BaseCpuLib/BaseCpuLib.inf | 4 -
MdePkg/Library/BaseCpuLib/Ia32/CpuFlushTlb.asm | 40 ---
MdePkg/Library/BaseCpuLib/Ia32/CpuSleep.asm | 39 ---
MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.asm | 38 ---
MdePkg/Library/BaseCpuLib/X64/CpuSleep.asm | 37 ---
.../BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf | 2 -
MdePkg/Library/BaseIoLibIntrinsic/Ia32/IoFifo.asm | 141 ---------
MdePkg/Library/BaseIoLibIntrinsic/X64/IoFifo.asm | 127 ---------
MdePkg/Library/BaseLib/BaseLib.inf | 246 ----------------
MdePkg/Library/BaseLib/Ia32/ARShiftU64.asm | 48 ----
MdePkg/Library/BaseLib/Ia32/CpuBreakpoint.asm | 40 ---
MdePkg/Library/BaseLib/Ia32/CpuId.asm | 66 -----
MdePkg/Library/BaseLib/Ia32/CpuIdEx.asm | 68 -----
MdePkg/Library/BaseLib/Ia32/CpuPause.asm | 40 ---
MdePkg/Library/BaseLib/Ia32/DisableCache.asm | 45 ---
MdePkg/Library/BaseLib/Ia32/DisableInterrupts.asm | 40 ---
MdePkg/Library/BaseLib/Ia32/DisablePaging32.asm | 57 ----
MdePkg/Library/BaseLib/Ia32/DivU64x32.asm | 46 ---
MdePkg/Library/BaseLib/Ia32/DivU64x32Remainder.asm | 51 ----
MdePkg/Library/BaseLib/Ia32/DivU64x64Remainder.asm | 92 ------
MdePkg/Library/BaseLib/Ia32/EnableCache.asm | 45 ---
.../BaseLib/Ia32/EnableDisableInterrupts.asm | 41 ---
MdePkg/Library/BaseLib/Ia32/EnableInterrupts.asm | 40 ---
MdePkg/Library/BaseLib/Ia32/EnablePaging32.asm | 57 ----
MdePkg/Library/BaseLib/Ia32/EnablePaging64.asm | 68 -----
MdePkg/Library/BaseLib/Ia32/FlushCacheLine.asm | 55 ----
MdePkg/Library/BaseLib/Ia32/FxRestore.asm | 42 ---
MdePkg/Library/BaseLib/Ia32/FxSave.asm | 42 ---
MdePkg/Library/BaseLib/Ia32/Invd.asm | 40 ---
MdePkg/Library/BaseLib/Ia32/LRotU64.asm | 51 ----
MdePkg/Library/BaseLib/Ia32/LShiftU64.asm | 48 ----
MdePkg/Library/BaseLib/Ia32/LongJump.asm | 46 ---
MdePkg/Library/BaseLib/Ia32/ModU64x32.asm | 45 ---
MdePkg/Library/BaseLib/Ia32/Monitor.asm | 45 ---
MdePkg/Library/BaseLib/Ia32/MultU64x32.asm | 43 ---
MdePkg/Library/BaseLib/Ia32/MultU64x64.asm | 47 ---
MdePkg/Library/BaseLib/Ia32/Mwait.asm | 43 ---
MdePkg/Library/BaseLib/Ia32/RRotU64.asm | 51 ----
MdePkg/Library/BaseLib/Ia32/RShiftU64.asm | 48 ----
MdePkg/Library/BaseLib/Ia32/RdRand.asm | 94 ------
MdePkg/Library/BaseLib/Ia32/ReadCr0.asm | 40 ---
MdePkg/Library/BaseLib/Ia32/ReadCr2.asm | 40 ---
MdePkg/Library/BaseLib/Ia32/ReadCr3.asm | 40 ---
MdePkg/Library/BaseLib/Ia32/ReadCr4.asm | 40 ---
MdePkg/Library/BaseLib/Ia32/ReadCs.asm | 40 ---
MdePkg/Library/BaseLib/Ia32/ReadDr0.asm | 40 ---
MdePkg/Library/BaseLib/Ia32/ReadDr1.asm | 40 ---
MdePkg/Library/BaseLib/Ia32/ReadDr2.asm | 40 ---
MdePkg/Library/BaseLib/Ia32/ReadDr3.asm | 40 ---
MdePkg/Library/BaseLib/Ia32/ReadDr4.asm | 47 ---
MdePkg/Library/BaseLib/Ia32/ReadDr5.asm | 47 ---
MdePkg/Library/BaseLib/Ia32/ReadDr6.asm | 40 ---
MdePkg/Library/BaseLib/Ia32/ReadDr7.asm | 40 ---
MdePkg/Library/BaseLib/Ia32/ReadDs.asm | 40 ---
MdePkg/Library/BaseLib/Ia32/ReadEflags.asm | 41 ---
MdePkg/Library/BaseLib/Ia32/ReadEs.asm | 40 ---
MdePkg/Library/BaseLib/Ia32/ReadFs.asm | 40 ---
MdePkg/Library/BaseLib/Ia32/ReadGdtr.asm | 41 ---
MdePkg/Library/BaseLib/Ia32/ReadGs.asm | 40 ---
MdePkg/Library/BaseLib/Ia32/ReadIdtr.asm | 41 ---
MdePkg/Library/BaseLib/Ia32/ReadLdtr.asm | 40 ---
MdePkg/Library/BaseLib/Ia32/ReadMm0.asm | 45 ---
MdePkg/Library/BaseLib/Ia32/ReadMm1.asm | 45 ---
MdePkg/Library/BaseLib/Ia32/ReadMm2.asm | 45 ---
MdePkg/Library/BaseLib/Ia32/ReadMm3.asm | 45 ---
MdePkg/Library/BaseLib/Ia32/ReadMm4.asm | 45 ---
MdePkg/Library/BaseLib/Ia32/ReadMm5.asm | 45 ---
MdePkg/Library/BaseLib/Ia32/ReadMm6.asm | 45 ---
MdePkg/Library/BaseLib/Ia32/ReadMm7.asm | 45 ---
MdePkg/Library/BaseLib/Ia32/ReadMsr64.asm | 41 ---
MdePkg/Library/BaseLib/Ia32/ReadPmc.asm | 41 ---
MdePkg/Library/BaseLib/Ia32/ReadSs.asm | 40 ---
MdePkg/Library/BaseLib/Ia32/ReadTr.asm | 40 ---
MdePkg/Library/BaseLib/Ia32/ReadTsc.asm | 40 ---
MdePkg/Library/BaseLib/Ia32/SetJump.asm | 51 ----
MdePkg/Library/BaseLib/Ia32/SwapBytes64.asm | 43 ---
MdePkg/Library/BaseLib/Ia32/Thunk16.asm | 260 -----------------
MdePkg/Library/BaseLib/Ia32/Wbinvd.asm | 40 ---
MdePkg/Library/BaseLib/Ia32/WriteCr0.asm | 41 ---
MdePkg/Library/BaseLib/Ia32/WriteCr2.asm | 41 ---
MdePkg/Library/BaseLib/Ia32/WriteCr3.asm | 41 ---
MdePkg/Library/BaseLib/Ia32/WriteCr4.asm | 41 ---
MdePkg/Library/BaseLib/Ia32/WriteDr0.asm | 41 ---
MdePkg/Library/BaseLib/Ia32/WriteDr1.asm | 41 ---
MdePkg/Library/BaseLib/Ia32/WriteDr2.asm | 41 ---
MdePkg/Library/BaseLib/Ia32/WriteDr3.asm | 41 ---
MdePkg/Library/BaseLib/Ia32/WriteDr4.asm | 48 ----
MdePkg/Library/BaseLib/Ia32/WriteDr5.asm | 48 ----
MdePkg/Library/BaseLib/Ia32/WriteDr6.asm | 41 ---
MdePkg/Library/BaseLib/Ia32/WriteDr7.asm | 41 ---
MdePkg/Library/BaseLib/Ia32/WriteGdtr.asm | 41 ---
MdePkg/Library/BaseLib/Ia32/WriteIdtr.asm | 44 ---
MdePkg/Library/BaseLib/Ia32/WriteLdtr.asm | 41 ---
MdePkg/Library/BaseLib/Ia32/WriteMm0.asm | 41 ---
MdePkg/Library/BaseLib/Ia32/WriteMm1.asm | 41 ---
MdePkg/Library/BaseLib/Ia32/WriteMm2.asm | 41 ---
MdePkg/Library/BaseLib/Ia32/WriteMm3.asm | 41 ---
MdePkg/Library/BaseLib/Ia32/WriteMm4.asm | 41 ---
MdePkg/Library/BaseLib/Ia32/WriteMm5.asm | 41 ---
MdePkg/Library/BaseLib/Ia32/WriteMm6.asm | 41 ---
MdePkg/Library/BaseLib/Ia32/WriteMm7.asm | 41 ---
MdePkg/Library/BaseLib/Ia32/WriteMsr64.asm | 44 ---
MdePkg/Library/BaseLib/X64/CpuBreakpoint.asm | 37 ---
MdePkg/Library/BaseLib/X64/CpuId.asm | 62 ----
MdePkg/Library/BaseLib/X64/CpuIdEx.asm | 64 -----
MdePkg/Library/BaseLib/X64/CpuPause.asm | 37 ---
MdePkg/Library/BaseLib/X64/DisableCache.asm | 43 ---
MdePkg/Library/BaseLib/X64/DisableInterrupts.asm | 38 ---
MdePkg/Library/BaseLib/X64/DisablePaging64.asm | 84 ------
MdePkg/Library/BaseLib/X64/EnableCache.asm | 43 ---
.../BaseLib/X64/EnableDisableInterrupts.asm | 39 ---
MdePkg/Library/BaseLib/X64/EnableInterrupts.asm | 38 ---
MdePkg/Library/BaseLib/X64/FlushCacheLine.asm | 39 ---
MdePkg/Library/BaseLib/X64/FxRestore.asm | 38 ---
MdePkg/Library/BaseLib/X64/FxSave.asm | 38 ---
MdePkg/Library/BaseLib/X64/Invd.asm | 38 ---
MdePkg/Library/BaseLib/X64/LongJump.asm | 58 ----
MdePkg/Library/BaseLib/X64/Monitor.asm | 43 ---
MdePkg/Library/BaseLib/X64/Mwait.asm | 41 ---
MdePkg/Library/BaseLib/X64/RdRand.asm | 83 ------
MdePkg/Library/BaseLib/X64/ReadCr0.asm | 38 ---
MdePkg/Library/BaseLib/X64/ReadCr2.asm | 38 ---
MdePkg/Library/BaseLib/X64/ReadCr3.asm | 38 ---
MdePkg/Library/BaseLib/X64/ReadCr4.asm | 38 ---
MdePkg/Library/BaseLib/X64/ReadCs.asm | 38 ---
MdePkg/Library/BaseLib/X64/ReadDr0.asm | 38 ---
MdePkg/Library/BaseLib/X64/ReadDr1.asm | 38 ---
MdePkg/Library/BaseLib/X64/ReadDr2.asm | 38 ---
MdePkg/Library/BaseLib/X64/ReadDr3.asm | 38 ---
MdePkg/Library/BaseLib/X64/ReadDr4.asm | 42 ---
MdePkg/Library/BaseLib/X64/ReadDr5.asm | 42 ---
MdePkg/Library/BaseLib/X64/ReadDr6.asm | 38 ---
MdePkg/Library/BaseLib/X64/ReadDr7.asm | 38 ---
MdePkg/Library/BaseLib/X64/ReadDs.asm | 38 ---
MdePkg/Library/BaseLib/X64/ReadEflags.asm | 39 ---
MdePkg/Library/BaseLib/X64/ReadEs.asm | 38 ---
MdePkg/Library/BaseLib/X64/ReadFs.asm | 38 ---
MdePkg/Library/BaseLib/X64/ReadGdtr.asm | 38 ---
MdePkg/Library/BaseLib/X64/ReadGs.asm | 38 ---
MdePkg/Library/BaseLib/X64/ReadIdtr.asm | 38 ---
MdePkg/Library/BaseLib/X64/ReadLdtr.asm | 38 ---
MdePkg/Library/BaseLib/X64/ReadMm0.asm | 41 ---
MdePkg/Library/BaseLib/X64/ReadMm1.asm | 41 ---
MdePkg/Library/BaseLib/X64/ReadMm2.asm | 41 ---
MdePkg/Library/BaseLib/X64/ReadMm3.asm | 41 ---
MdePkg/Library/BaseLib/X64/ReadMm4.asm | 41 ---
MdePkg/Library/BaseLib/X64/ReadMm5.asm | 41 ---
MdePkg/Library/BaseLib/X64/ReadMm6.asm | 41 ---
MdePkg/Library/BaseLib/X64/ReadMm7.asm | 41 ---
MdePkg/Library/BaseLib/X64/ReadMsr64.asm | 40 ---
MdePkg/Library/BaseLib/X64/ReadPmc.asm | 40 ---
MdePkg/Library/BaseLib/X64/ReadSs.asm | 38 ---
MdePkg/Library/BaseLib/X64/ReadTr.asm | 38 ---
MdePkg/Library/BaseLib/X64/ReadTsc.asm | 40 ---
MdePkg/Library/BaseLib/X64/SetJump.asm | 66 -----
MdePkg/Library/BaseLib/X64/SwitchStack.asm | 51 ----
MdePkg/Library/BaseLib/X64/Thunk16.asm | 315 ---------------------
MdePkg/Library/BaseLib/X64/Wbinvd.asm | 38 ---
MdePkg/Library/BaseLib/X64/WriteCr0.asm | 39 ---
MdePkg/Library/BaseLib/X64/WriteCr2.asm | 39 ---
MdePkg/Library/BaseLib/X64/WriteCr3.asm | 39 ---
MdePkg/Library/BaseLib/X64/WriteCr4.asm | 39 ---
MdePkg/Library/BaseLib/X64/WriteDr0.asm | 39 ---
MdePkg/Library/BaseLib/X64/WriteDr1.asm | 39 ---
MdePkg/Library/BaseLib/X64/WriteDr2.asm | 39 ---
MdePkg/Library/BaseLib/X64/WriteDr3.asm | 39 ---
MdePkg/Library/BaseLib/X64/WriteDr4.asm | 43 ---
MdePkg/Library/BaseLib/X64/WriteDr5.asm | 43 ---
MdePkg/Library/BaseLib/X64/WriteDr6.asm | 39 ---
MdePkg/Library/BaseLib/X64/WriteDr7.asm | 39 ---
MdePkg/Library/BaseLib/X64/WriteGdtr.asm | 38 ---
MdePkg/Library/BaseLib/X64/WriteIdtr.asm | 41 ---
MdePkg/Library/BaseLib/X64/WriteLdtr.asm | 38 ---
MdePkg/Library/BaseLib/X64/WriteMm0.asm | 41 ---
MdePkg/Library/BaseLib/X64/WriteMm1.asm | 41 ---
MdePkg/Library/BaseLib/X64/WriteMm2.asm | 41 ---
MdePkg/Library/BaseLib/X64/WriteMm3.asm | 41 ---
MdePkg/Library/BaseLib/X64/WriteMm4.asm | 41 ---
MdePkg/Library/BaseLib/X64/WriteMm5.asm | 41 ---
MdePkg/Library/BaseLib/X64/WriteMm6.asm | 41 ---
MdePkg/Library/BaseLib/X64/WriteMm7.asm | 41 ---
MdePkg/Library/BaseLib/X64/WriteMsr64.asm | 41 ---
.../Library/BaseMemoryLibMmx/BaseMemoryLibMmx.inf | 22 --
.../Library/BaseMemoryLibMmx/Ia32/CompareMem.asm | 56 ----
MdePkg/Library/BaseMemoryLibMmx/Ia32/CopyMem.asm | 77 -----
MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem16.asm | 55 ----
MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem32.asm | 55 ----
MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem64.asm | 64 -----
MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem8.asm | 55 ----
MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem.asm | 70 -----
MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem16.asm | 63 -----
MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem32.asm | 59 ----
MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem64.asm | 50 ----
MdePkg/Library/BaseMemoryLibMmx/Ia32/ZeroMem.asm | 56 ----
MdePkg/Library/BaseMemoryLibMmx/X64/CompareMem.asm | 54 ----
MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.asm | 70 -----
MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem16.asm | 53 ----
MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem32.asm | 53 ----
MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem64.asm | 53 ----
MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem8.asm | 53 ----
MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.asm | 58 ----
MdePkg/Library/BaseMemoryLibMmx/X64/SetMem16.asm | 57 ----
MdePkg/Library/BaseMemoryLibMmx/X64/SetMem32.asm | 53 ----
MdePkg/Library/BaseMemoryLibMmx/X64/SetMem64.asm | 46 ---
MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.asm | 54 ----
.../BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf | 22 --
.../BaseMemoryLibOptDxe/Ia32/CompareMem.asm | 56 ----
.../Library/BaseMemoryLibOptDxe/Ia32/CopyMem.asm | 84 ------
.../Library/BaseMemoryLibOptDxe/Ia32/ScanMem16.asm | 55 ----
.../Library/BaseMemoryLibOptDxe/Ia32/ScanMem32.asm | 55 ----
.../Library/BaseMemoryLibOptDxe/Ia32/ScanMem64.asm | 64 -----
.../Library/BaseMemoryLibOptDxe/Ia32/ScanMem8.asm | 55 ----
MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem.asm | 53 ----
.../Library/BaseMemoryLibOptDxe/Ia32/SetMem16.asm | 45 ---
.../Library/BaseMemoryLibOptDxe/Ia32/SetMem32.asm | 45 ---
.../Library/BaseMemoryLibOptDxe/Ia32/SetMem64.asm | 49 ----
.../Library/BaseMemoryLibOptDxe/Ia32/ZeroMem.asm | 50 ----
.../Library/BaseMemoryLibOptDxe/X64/CompareMem.asm | 54 ----
MdePkg/Library/BaseMemoryLibOptDxe/X64/CopyMem.asm | 79 ------
.../Library/BaseMemoryLibOptDxe/X64/ScanMem16.asm | 53 ----
.../Library/BaseMemoryLibOptDxe/X64/ScanMem32.asm | 53 ----
.../Library/BaseMemoryLibOptDxe/X64/ScanMem64.asm | 53 ----
.../Library/BaseMemoryLibOptDxe/X64/ScanMem8.asm | 53 ----
MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem.asm | 58 ----
.../Library/BaseMemoryLibOptDxe/X64/SetMem16.asm | 45 ---
.../Library/BaseMemoryLibOptDxe/X64/SetMem32.asm | 45 ---
.../Library/BaseMemoryLibOptDxe/X64/SetMem64.asm | 44 ---
MdePkg/Library/BaseMemoryLibOptDxe/X64/ZeroMem.asm | 48 ----
.../BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf | 22 --
.../BaseMemoryLibOptPei/Ia32/CompareMem.asm | 56 ----
.../Library/BaseMemoryLibOptPei/Ia32/CopyMem.asm | 61 ----
.../Library/BaseMemoryLibOptPei/Ia32/ScanMem16.asm | 55 ----
.../Library/BaseMemoryLibOptPei/Ia32/ScanMem32.asm | 55 ----
.../Library/BaseMemoryLibOptPei/Ia32/ScanMem64.asm | 64 -----
.../Library/BaseMemoryLibOptPei/Ia32/ScanMem8.asm | 55 ----
MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem.asm | 53 ----
.../Library/BaseMemoryLibOptPei/Ia32/SetMem16.asm | 45 ---
.../Library/BaseMemoryLibOptPei/Ia32/SetMem32.asm | 45 ---
.../Library/BaseMemoryLibOptPei/Ia32/SetMem64.asm | 49 ----
.../Library/BaseMemoryLibOptPei/Ia32/ZeroMem.asm | 50 ----
.../Library/BaseMemoryLibOptPei/X64/CompareMem.asm | 54 ----
MdePkg/Library/BaseMemoryLibOptPei/X64/CopyMem.asm | 61 ----
.../Library/BaseMemoryLibOptPei/X64/ScanMem16.asm | 53 ----
.../Library/BaseMemoryLibOptPei/X64/ScanMem32.asm | 53 ----
.../Library/BaseMemoryLibOptPei/X64/ScanMem64.asm | 53 ----
.../Library/BaseMemoryLibOptPei/X64/ScanMem8.asm | 53 ----
MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem.asm | 45 ---
.../Library/BaseMemoryLibOptPei/X64/SetMem16.asm | 44 ---
.../Library/BaseMemoryLibOptPei/X64/SetMem32.asm | 44 ---
.../Library/BaseMemoryLibOptPei/X64/SetMem64.asm | 43 ---
MdePkg/Library/BaseMemoryLibOptPei/X64/ZeroMem.asm | 47 ---
.../BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf | 22 --
.../BaseMemoryLibRepStr/Ia32/CompareMem.asm | 56 ----
.../Library/BaseMemoryLibRepStr/Ia32/CopyMem.asm | 63 -----
.../Library/BaseMemoryLibRepStr/Ia32/ScanMem16.asm | 57 ----
.../Library/BaseMemoryLibRepStr/Ia32/ScanMem32.asm | 57 ----
.../Library/BaseMemoryLibRepStr/Ia32/ScanMem64.asm | 66 -----
.../Library/BaseMemoryLibRepStr/Ia32/ScanMem8.asm | 57 ----
MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem.asm | 45 ---
.../Library/BaseMemoryLibRepStr/Ia32/SetMem16.asm | 45 ---
.../Library/BaseMemoryLibRepStr/Ia32/SetMem32.asm | 45 ---
.../Library/BaseMemoryLibRepStr/Ia32/SetMem64.asm | 49 ----
.../Library/BaseMemoryLibRepStr/Ia32/ZeroMem.asm | 50 ----
.../Library/BaseMemoryLibRepStr/X64/CompareMem.asm | 54 ----
MdePkg/Library/BaseMemoryLibRepStr/X64/CopyMem.asm | 61 ----
.../Library/BaseMemoryLibRepStr/X64/ScanMem16.asm | 53 ----
.../Library/BaseMemoryLibRepStr/X64/ScanMem32.asm | 53 ----
.../Library/BaseMemoryLibRepStr/X64/ScanMem64.asm | 53 ----
.../Library/BaseMemoryLibRepStr/X64/ScanMem8.asm | 53 ----
MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem.asm | 44 ---
.../Library/BaseMemoryLibRepStr/X64/SetMem16.asm | 44 ---
.../Library/BaseMemoryLibRepStr/X64/SetMem32.asm | 44 ---
.../Library/BaseMemoryLibRepStr/X64/SetMem64.asm | 43 ---
MdePkg/Library/BaseMemoryLibRepStr/X64/ZeroMem.asm | 47 ---
.../BaseMemoryLibSse2/BaseMemoryLibSse2.inf | 22 --
.../Library/BaseMemoryLibSse2/Ia32/CompareMem.asm | 56 ----
MdePkg/Library/BaseMemoryLibSse2/Ia32/CopyMem.asm | 84 ------
.../Library/BaseMemoryLibSse2/Ia32/ScanMem16.asm | 55 ----
.../Library/BaseMemoryLibSse2/Ia32/ScanMem32.asm | 55 ----
.../Library/BaseMemoryLibSse2/Ia32/ScanMem64.asm | 64 -----
MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem8.asm | 55 ----
MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem.asm | 75 -----
MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem16.asm | 71 -----
MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem32.asm | 70 -----
MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem64.asm | 64 -----
MdePkg/Library/BaseMemoryLibSse2/Ia32/ZeroMem.asm | 67 -----
.../Library/BaseMemoryLibSse2/X64/CompareMem.asm | 54 ----
MdePkg/Library/BaseMemoryLibSse2/X64/CopyMem.asm | 79 ------
MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem16.asm | 53 ----
MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem32.asm | 53 ----
MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem64.asm | 53 ----
MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem8.asm | 53 ----
MdePkg/Library/BaseMemoryLibSse2/X64/SetMem.asm | 69 -----
MdePkg/Library/BaseMemoryLibSse2/X64/SetMem16.asm | 67 -----
MdePkg/Library/BaseMemoryLibSse2/X64/SetMem32.asm | 66 -----
MdePkg/Library/BaseMemoryLibSse2/X64/SetMem64.asm | 59 ----
MdePkg/Library/BaseMemoryLibSse2/X64/ZeroMem.asm | 63 -----
.../BaseSynchronizationLib.inf | 10 -
.../Ia32/InterlockedCompareExchange16.asm | 46 ---
.../Ia32/InterlockedCompareExchange32.asm | 45 ---
.../Ia32/InterlockedCompareExchange64.asm | 47 ---
.../Ia32/InterlockedDecrement.asm | 42 ---
.../Ia32/InterlockedIncrement.asm | 42 ---
.../X64/InterlockedCompareExchange16.asm | 42 ---
.../X64/InterlockedCompareExchange32.asm | 41 ---
.../X64/InterlockedCompareExchange64.asm | 41 ---
.../X64/InterlockedDecrement.asm | 39 ---
.../X64/InterlockedIncrement.asm | 39 ---
308 files changed, 15367 deletions(-)
delete mode 100644 MdePkg/Library/BaseCpuLib/Ia32/CpuFlushTlb.asm
delete mode 100644 MdePkg/Library/BaseCpuLib/Ia32/CpuSleep.asm
delete mode 100644 MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.asm
delete mode 100644 MdePkg/Library/BaseCpuLib/X64/CpuSleep.asm
delete mode 100644 MdePkg/Library/BaseIoLibIntrinsic/Ia32/IoFifo.asm
delete mode 100644 MdePkg/Library/BaseIoLibIntrinsic/X64/IoFifo.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ARShiftU64.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/CpuBreakpoint.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/CpuId.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/CpuIdEx.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/CpuPause.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/DisableCache.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/DisableInterrupts.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/DisablePaging32.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/DivU64x32.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/DivU64x32Remainder.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/DivU64x64Remainder.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/EnableCache.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/EnableDisableInterrupts.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/EnableInterrupts.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/EnablePaging32.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/EnablePaging64.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/FlushCacheLine.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/FxRestore.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/FxSave.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/Invd.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/LRotU64.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/LShiftU64.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/LongJump.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ModU64x32.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/Monitor.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/MultU64x32.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/MultU64x64.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/Mwait.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/RRotU64.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/RShiftU64.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/RdRand.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadCr0.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadCr2.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadCr3.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadCr4.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadCs.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadDr0.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadDr1.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadDr2.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadDr3.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadDr4.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadDr5.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadDr6.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadDr7.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadDs.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadEflags.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadEs.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadFs.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadGdtr.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadGs.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadIdtr.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadLdtr.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadMm0.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadMm1.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadMm2.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadMm3.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadMm4.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadMm5.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadMm6.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadMm7.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadMsr64.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadPmc.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadSs.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadTr.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/ReadTsc.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/SetJump.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/SwapBytes64.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/Thunk16.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/Wbinvd.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteCr0.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteCr2.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteCr3.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteCr4.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteDr0.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteDr1.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteDr2.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteDr3.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteDr4.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteDr5.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteDr6.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteDr7.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteGdtr.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteIdtr.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteLdtr.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteMm0.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteMm1.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteMm2.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteMm3.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteMm4.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteMm5.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteMm6.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteMm7.asm
delete mode 100644 MdePkg/Library/BaseLib/Ia32/WriteMsr64.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/CpuBreakpoint.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/CpuId.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/CpuIdEx.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/CpuPause.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/DisableCache.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/DisableInterrupts.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/DisablePaging64.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/EnableCache.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/EnableDisableInterrupts.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/EnableInterrupts.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/FlushCacheLine.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/FxRestore.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/FxSave.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/Invd.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/LongJump.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/Monitor.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/Mwait.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/RdRand.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadCr0.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadCr2.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadCr3.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadCr4.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadCs.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadDr0.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadDr1.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadDr2.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadDr3.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadDr4.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadDr5.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadDr6.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadDr7.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadDs.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadEflags.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadEs.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadFs.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadGdtr.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadGs.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadIdtr.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadLdtr.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadMm0.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadMm1.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadMm2.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadMm3.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadMm4.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadMm5.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadMm6.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadMm7.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadMsr64.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadPmc.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadSs.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadTr.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/ReadTsc.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/SetJump.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/SwitchStack.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/Thunk16.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/Wbinvd.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteCr0.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteCr2.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteCr3.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteCr4.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteDr0.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteDr1.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteDr2.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteDr3.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteDr4.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteDr5.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteDr6.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteDr7.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteGdtr.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteIdtr.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteLdtr.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteMm0.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteMm1.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteMm2.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteMm3.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteMm4.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteMm5.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteMm6.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteMm7.asm
delete mode 100644 MdePkg/Library/BaseLib/X64/WriteMsr64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/CompareMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/CopyMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem8.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/ZeroMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/CompareMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem8.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/SetMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/SetMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/SetMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CompareMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CopyMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem8.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ZeroMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/CompareMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/CopyMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem8.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/ZeroMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/CompareMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/CopyMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem8.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/ZeroMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/CompareMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/CopyMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem8.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/ZeroMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/CompareMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/CopyMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem8.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/ZeroMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/CompareMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/CopyMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem8.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/ZeroMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/CompareMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/CopyMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem8.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/ZeroMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/CompareMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/CopyMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem8.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/SetMem.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/SetMem16.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/SetMem32.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/SetMem64.asm
delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/ZeroMem.asm
delete mode 100644 MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedCompareExchange16.asm
delete mode 100644 MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedCompareExchange32.asm
delete mode 100644 MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedCompareExchange64.asm
delete mode 100644 MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedDecrement.asm
delete mode 100644 MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedIncrement.asm
delete mode 100644 MdePkg/Library/BaseSynchronizationLib/X64/InterlockedCompareExchange16.asm
delete mode 100644 MdePkg/Library/BaseSynchronizationLib/X64/InterlockedCompareExchange32.asm
delete mode 100644 MdePkg/Library/BaseSynchronizationLib/X64/InterlockedCompareExchange64.asm
delete mode 100644 MdePkg/Library/BaseSynchronizationLib/X64/InterlockedDecrement.asm
delete mode 100644 MdePkg/Library/BaseSynchronizationLib/X64/InterlockedIncrement.asm
diff --git a/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf b/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
index dad08df..84564e0 100644
--- a/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
+++ b/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
@@ -37,18 +37,14 @@
Ia32/CpuFlushTlb.c | MSFT
Ia32/CpuSleep.nasm| INTEL
- Ia32/CpuSleep.asm | INTEL
Ia32/CpuFlushTlb.nasm| INTEL
- Ia32/CpuFlushTlb.asm | INTEL
Ia32/CpuSleepGcc.c | GCC
Ia32/CpuFlushTlbGcc.c | GCC
[Sources.X64]
X64/CpuFlushTlb.nasm
- X64/CpuFlushTlb.asm
X64/CpuSleep.nasm
- X64/CpuSleep.asm
X64/CpuSleep.nasm| GCC
X64/CpuSleep.S | GCC
diff --git a/MdePkg/Library/BaseCpuLib/Ia32/CpuFlushTlb.asm b/MdePkg/Library/BaseCpuLib/Ia32/CpuFlushTlb.asm
deleted file mode 100644
index 271690d..0000000
--- a/MdePkg/Library/BaseCpuLib/Ia32/CpuFlushTlb.asm
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------ ;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CpuFlushTlb.Asm
-;
-; Abstract:
-;
-; CpuFlushTlb function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; CpuFlushTlb (
-; VOID
-; );
-;------------------------------------------------------------------------------
-CpuFlushTlb PROC
- mov eax, cr3
- mov cr3, eax ; moving to CR3 flushes TLB
- ret
-CpuFlushTlb ENDP
-
- END
diff --git a/MdePkg/Library/BaseCpuLib/Ia32/CpuSleep.asm b/MdePkg/Library/BaseCpuLib/Ia32/CpuSleep.asm
deleted file mode 100644
index 5bfd7b2..0000000
--- a/MdePkg/Library/BaseCpuLib/Ia32/CpuSleep.asm
+++ /dev/null
@@ -1,39 +0,0 @@
-;------------------------------------------------------------------------------ ;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CpuSleep.Asm
-;
-; Abstract:
-;
-; CpuSleep function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; CpuSleep (
-; VOID
-; );
-;------------------------------------------------------------------------------
-CpuSleep PROC
- hlt
- ret
-CpuSleep ENDP
-
- END
diff --git a/MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.asm b/MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.asm
deleted file mode 100644
index 6a75287..0000000
--- a/MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.asm
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------ ;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CpuFlushTlb.Asm
-;
-; Abstract:
-;
-; CpuFlushTlb function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; CpuFlushTlb (
-; VOID
-; );
-;------------------------------------------------------------------------------
-CpuFlushTlb PROC
- mov rax, cr3
- mov cr3, rax
- ret
-CpuFlushTlb ENDP
-
- END
diff --git a/MdePkg/Library/BaseCpuLib/X64/CpuSleep.asm b/MdePkg/Library/BaseCpuLib/X64/CpuSleep.asm
deleted file mode 100644
index 196438f..0000000
--- a/MdePkg/Library/BaseCpuLib/X64/CpuSleep.asm
+++ /dev/null
@@ -1,37 +0,0 @@
-;------------------------------------------------------------------------------ ;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CpuSleep.Asm
-;
-; Abstract:
-;
-; CpuSleep function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; CpuSleep (
-; VOID
-; );
-;------------------------------------------------------------------------------
-CpuSleep PROC
- hlt
- ret
-CpuSleep ENDP
-
- END
diff --git a/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf b/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
index 8844b1c..958a51a 100644
--- a/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
+++ b/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
@@ -44,7 +44,6 @@
IoLibIcc.c | INTEL
IoLib.c
Ia32/IoFifo.nasm
- Ia32/IoFifo.asm
[Sources.X64]
IoLibGcc.c | GCC
@@ -52,7 +51,6 @@
IoLibIcc.c | INTEL
IoLib.c
X64/IoFifo.nasm
- X64/IoFifo.asm
[Sources.EBC]
IoLibEbc.c
diff --git a/MdePkg/Library/BaseIoLibIntrinsic/Ia32/IoFifo.asm b/MdePkg/Library/BaseIoLibIntrinsic/Ia32/IoFifo.asm
deleted file mode 100644
index da767d1..0000000
--- a/MdePkg/Library/BaseIoLibIntrinsic/Ia32/IoFifo.asm
+++ /dev/null
@@ -1,141 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
-; Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>
-;
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-;------------------------------------------------------------------------------
-
- .586P
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; IoReadFifo8 (
-; IN UINTN Port,
-; IN UINTN Size,
-; OUT VOID *Buffer
-; );
-;------------------------------------------------------------------------------
-IoReadFifo8 PROC
- push edi
- cld
- mov dx, [esp + 8]
- mov ecx, [esp + 12]
- mov edi, [esp + 16]
-rep insb
- pop edi
- ret
-IoReadFifo8 ENDP
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; IoReadFifo16 (
-; IN UINTN Port,
-; IN UINTN Size,
-; OUT VOID *Buffer
-; );
-;------------------------------------------------------------------------------
-IoReadFifo16 PROC
- push edi
- cld
- mov dx, [esp + 8]
- mov ecx, [esp + 12]
- mov edi, [esp + 16]
-rep insw
- pop edi
- ret
-IoReadFifo16 ENDP
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; IoReadFifo32 (
-; IN UINTN Port,
-; IN UINTN Size,
-; OUT VOID *Buffer
-; );
-;------------------------------------------------------------------------------
-IoReadFifo32 PROC
- push edi
- cld
- mov dx, [esp + 8]
- mov ecx, [esp + 12]
- mov edi, [esp + 16]
-rep insd
- pop edi
- ret
-IoReadFifo32 ENDP
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; IoWriteFifo8 (
-; IN UINTN Port,
-; IN UINTN Size,
-; IN VOID *Buffer
-; );
-;------------------------------------------------------------------------------
-IoWriteFifo8 PROC
- push esi
- cld
- mov dx, [esp + 8]
- mov ecx, [esp + 12]
- mov esi, [esp + 16]
-rep outsb
- pop esi
- ret
-IoWriteFifo8 ENDP
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; IoWriteFifo16 (
-; IN UINTN Port,
-; IN UINTN Size,
-; IN VOID *Buffer
-; );
-;------------------------------------------------------------------------------
-IoWriteFifo16 PROC
- push esi
- cld
- mov dx, [esp + 8]
- mov ecx, [esp + 12]
- mov esi, [esp + 16]
-rep outsw
- pop esi
- ret
-IoWriteFifo16 ENDP
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; IoWriteFifo32 (
-; IN UINTN Port,
-; IN UINTN Size,
-; IN VOID *Buffer
-; );
-;------------------------------------------------------------------------------
-IoWriteFifo32 PROC
- push esi
- cld
- mov dx, [esp + 8]
- mov ecx, [esp + 12]
- mov esi, [esp + 16]
-rep outsd
- pop esi
- ret
-IoWriteFifo32 ENDP
-
- END
-
diff --git a/MdePkg/Library/BaseIoLibIntrinsic/X64/IoFifo.asm b/MdePkg/Library/BaseIoLibIntrinsic/X64/IoFifo.asm
deleted file mode 100644
index 87c6107..0000000
--- a/MdePkg/Library/BaseIoLibIntrinsic/X64/IoFifo.asm
+++ /dev/null
@@ -1,127 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
-; Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>
-;
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; IoReadFifo8 (
-; IN UINTN Port, // rcx
-; IN UINTN Size, // rdx
-; OUT VOID *Buffer // r8
-; );
-;------------------------------------------------------------------------------
-IoReadFifo8 PROC
- cld
- xchg rcx, rdx
- xchg rdi, r8 ; rdi: buffer address; r8: save rdi
-rep insb
- mov rdi, r8 ; restore rdi
- ret
-IoReadFifo8 ENDP
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; IoReadFifo16 (
-; IN UINTN Port, // rcx
-; IN UINTN Size, // rdx
-; OUT VOID *Buffer // r8
-; );
-;------------------------------------------------------------------------------
-IoReadFifo16 PROC
- cld
- xchg rcx, rdx
- xchg rdi, r8 ; rdi: buffer address; r8: save rdi
-rep insw
- mov rdi, r8 ; restore rdi
- ret
-IoReadFifo16 ENDP
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; IoReadFifo32 (
-; IN UINTN Port, // rcx
-; IN UINTN Size, // rdx
-; OUT VOID *Buffer // r8
-; );
-;------------------------------------------------------------------------------
-IoReadFifo32 PROC
- cld
- xchg rcx, rdx
- xchg rdi, r8 ; rdi: buffer address; r8: save rdi
-rep insd
- mov rdi, r8 ; restore rdi
- ret
-IoReadFifo32 ENDP
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; IoWriteFifo8 (
-; IN UINTN Port, // rcx
-; IN UINTN Size, // rdx
-; IN VOID *Buffer // r8
-; );
-;------------------------------------------------------------------------------
-IoWriteFifo8 PROC
- cld
- xchg rcx, rdx
- xchg rsi, r8 ; rsi: buffer address; r8: save rsi
-rep outsb
- mov rsi, r8 ; restore rsi
- ret
-IoWriteFifo8 ENDP
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; IoWriteFifo16 (
-; IN UINTN Port, // rcx
-; IN UINTN Size, // rdx
-; IN VOID *Buffer // r8
-; );
-;------------------------------------------------------------------------------
-IoWriteFifo16 PROC
- cld
- xchg rcx, rdx
- xchg rsi, r8 ; rsi: buffer address; r8: save rsi
-rep outsw
- mov rsi, r8 ; restore rsi
- ret
-IoWriteFifo16 ENDP
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; IoWriteFifo32 (
-; IN UINTN Port, // rcx
-; IN UINTN Size, // rdx
-; IN VOID *Buffer // r8
-; );
-;------------------------------------------------------------------------------
-IoWriteFifo32 PROC
- cld
- xchg rcx, rdx
- xchg rsi, r8 ; rsi: buffer address; r8: save rsi
-rep outsd
- mov rsi, r8 ; restore rsi
- ret
-IoWriteFifo32 ENDP
-
- END
-
diff --git a/MdePkg/Library/BaseLib/BaseLib.inf b/MdePkg/Library/BaseLib/BaseLib.inf
index 5fbbd02..50283fa 100644
--- a/MdePkg/Library/BaseLib/BaseLib.inf
+++ b/MdePkg/Library/BaseLib/BaseLib.inf
@@ -148,7 +148,6 @@
Ia32/EnableInterrupts.c | MSFT
Ia32/EnableDisableInterrupts.c | MSFT
Ia32/DivU64x64Remainder.nasm| MSFT
- Ia32/DivU64x64Remainder.asm | MSFT
Ia32/DivU64x32Remainder.c | MSFT
Ia32/DivU64x32.c | MSFT
Ia32/DisablePaging32.c | MSFT
@@ -159,200 +158,104 @@
Ia32/CpuBreakpoint.c | MSFT
Ia32/ARShiftU64.c | MSFT
Ia32/Thunk16.nasm | MSFT
- Ia32/Thunk16.asm | MSFT
Ia32/EnablePaging64.nasm| MSFT
- Ia32/EnablePaging64.asm | MSFT
Ia32/EnableCache.c | MSFT
Ia32/DisableCache.c | MSFT
Ia32/RdRand.nasm| MSFT
- Ia32/RdRand.asm | MSFT
Ia32/Wbinvd.nasm| INTEL
- Ia32/Wbinvd.asm | INTEL
Ia32/WriteMm7.nasm| INTEL
- Ia32/WriteMm7.asm | INTEL
Ia32/WriteMm6.nasm| INTEL
- Ia32/WriteMm6.asm | INTEL
Ia32/WriteMm5.nasm| INTEL
- Ia32/WriteMm5.asm | INTEL
Ia32/WriteMm4.nasm| INTEL
- Ia32/WriteMm4.asm | INTEL
Ia32/WriteMm3.nasm| INTEL
- Ia32/WriteMm3.asm | INTEL
Ia32/WriteMm2.nasm| INTEL
- Ia32/WriteMm2.asm | INTEL
Ia32/WriteMm1.nasm| INTEL
- Ia32/WriteMm1.asm | INTEL
Ia32/WriteMm0.nasm| INTEL
- Ia32/WriteMm0.asm | INTEL
Ia32/WriteLdtr.nasm| INTEL
- Ia32/WriteLdtr.asm | INTEL
Ia32/WriteIdtr.nasm| INTEL
- Ia32/WriteIdtr.asm | INTEL
Ia32/WriteGdtr.nasm| INTEL
- Ia32/WriteGdtr.asm | INTEL
Ia32/WriteDr7.nasm| INTEL
- Ia32/WriteDr7.asm | INTEL
Ia32/WriteDr6.nasm| INTEL
- Ia32/WriteDr6.asm | INTEL
Ia32/WriteDr5.nasm| INTEL
- Ia32/WriteDr5.asm | INTEL
Ia32/WriteDr4.nasm| INTEL
- Ia32/WriteDr4.asm | INTEL
Ia32/WriteDr3.nasm| INTEL
- Ia32/WriteDr3.asm | INTEL
Ia32/WriteDr2.nasm| INTEL
- Ia32/WriteDr2.asm | INTEL
Ia32/WriteDr1.nasm| INTEL
- Ia32/WriteDr1.asm | INTEL
Ia32/WriteDr0.nasm| INTEL
- Ia32/WriteDr0.asm | INTEL
Ia32/WriteCr4.nasm| INTEL
- Ia32/WriteCr4.asm | INTEL
Ia32/WriteCr3.nasm| INTEL
- Ia32/WriteCr3.asm | INTEL
Ia32/WriteCr2.nasm| INTEL
- Ia32/WriteCr2.asm | INTEL
Ia32/WriteCr0.nasm| INTEL
- Ia32/WriteCr0.asm | INTEL
Ia32/WriteMsr64.nasm| INTEL
- Ia32/WriteMsr64.asm | INTEL
Ia32/SwapBytes64.nasm| INTEL
- Ia32/SwapBytes64.asm | INTEL
Ia32/SetJump.nasm| INTEL
- Ia32/SetJump.asm | INTEL
Ia32/RRotU64.nasm| INTEL
- Ia32/RRotU64.asm | INTEL
Ia32/RShiftU64.nasm| INTEL
- Ia32/RShiftU64.asm | INTEL
Ia32/ReadPmc.nasm| INTEL
- Ia32/ReadPmc.asm | INTEL
Ia32/ReadTsc.nasm| INTEL
- Ia32/ReadTsc.asm | INTEL
Ia32/ReadLdtr.nasm| INTEL
- Ia32/ReadLdtr.asm | INTEL
Ia32/ReadIdtr.nasm| INTEL
- Ia32/ReadIdtr.asm | INTEL
Ia32/ReadGdtr.nasm| INTEL
- Ia32/ReadGdtr.asm | INTEL
Ia32/ReadTr.nasm| INTEL
- Ia32/ReadTr.asm | INTEL
Ia32/ReadSs.nasm| INTEL
- Ia32/ReadSs.asm | INTEL
Ia32/ReadGs.nasm| INTEL
- Ia32/ReadGs.asm | INTEL
Ia32/ReadFs.nasm| INTEL
- Ia32/ReadFs.asm | INTEL
Ia32/ReadEs.nasm| INTEL
- Ia32/ReadEs.asm | INTEL
Ia32/ReadDs.nasm| INTEL
- Ia32/ReadDs.asm | INTEL
Ia32/ReadCs.nasm| INTEL
- Ia32/ReadCs.asm | INTEL
Ia32/ReadMsr64.nasm| INTEL
- Ia32/ReadMsr64.asm | INTEL
Ia32/ReadMm7.nasm| INTEL
- Ia32/ReadMm7.asm | INTEL
Ia32/ReadMm6.nasm| INTEL
- Ia32/ReadMm6.asm | INTEL
Ia32/ReadMm5.nasm| INTEL
- Ia32/ReadMm5.asm | INTEL
Ia32/ReadMm4.nasm| INTEL
- Ia32/ReadMm4.asm | INTEL
Ia32/ReadMm3.nasm| INTEL
- Ia32/ReadMm3.asm | INTEL
Ia32/ReadMm2.nasm| INTEL
- Ia32/ReadMm2.asm | INTEL
Ia32/ReadMm1.nasm| INTEL
- Ia32/ReadMm1.asm | INTEL
Ia32/ReadMm0.nasm| INTEL
- Ia32/ReadMm0.asm | INTEL
Ia32/ReadEflags.nasm| INTEL
- Ia32/ReadEflags.asm | INTEL
Ia32/ReadDr7.nasm| INTEL
- Ia32/ReadDr7.asm | INTEL
Ia32/ReadDr6.nasm| INTEL
- Ia32/ReadDr6.asm | INTEL
Ia32/ReadDr5.nasm| INTEL
- Ia32/ReadDr5.asm | INTEL
Ia32/ReadDr4.nasm| INTEL
- Ia32/ReadDr4.asm | INTEL
Ia32/ReadDr3.nasm| INTEL
- Ia32/ReadDr3.asm | INTEL
Ia32/ReadDr2.nasm| INTEL
- Ia32/ReadDr2.asm | INTEL
Ia32/ReadDr1.nasm| INTEL
- Ia32/ReadDr1.asm | INTEL
Ia32/ReadDr0.nasm| INTEL
- Ia32/ReadDr0.asm | INTEL
Ia32/ReadCr4.nasm| INTEL
- Ia32/ReadCr4.asm | INTEL
Ia32/ReadCr3.nasm| INTEL
- Ia32/ReadCr3.asm | INTEL
Ia32/ReadCr2.nasm| INTEL
- Ia32/ReadCr2.asm | INTEL
Ia32/ReadCr0.nasm| INTEL
- Ia32/ReadCr0.asm | INTEL
Ia32/Mwait.nasm| INTEL
- Ia32/Mwait.asm | INTEL
Ia32/Monitor.nasm| INTEL
- Ia32/Monitor.asm | INTEL
Ia32/ModU64x32.nasm| INTEL
- Ia32/ModU64x32.asm | INTEL
Ia32/MultU64x64.nasm| INTEL
- Ia32/MultU64x64.asm | INTEL
Ia32/MultU64x32.nasm| INTEL
- Ia32/MultU64x32.asm | INTEL
Ia32/LShiftU64.nasm| INTEL
- Ia32/LShiftU64.asm | INTEL
Ia32/LRotU64.nasm| INTEL
- Ia32/LRotU64.asm | INTEL
Ia32/LongJump.nasm| INTEL
- Ia32/LongJump.asm | INTEL
Ia32/Invd.nasm| INTEL
- Ia32/Invd.asm | INTEL
Ia32/FxRestore.nasm| INTEL
- Ia32/FxRestore.asm | INTEL
Ia32/FxSave.nasm| INTEL
- Ia32/FxSave.asm | INTEL
Ia32/FlushCacheLine.nasm| INTEL
- Ia32/FlushCacheLine.asm | INTEL
Ia32/EnablePaging32.nasm| INTEL
- Ia32/EnablePaging32.asm | INTEL
Ia32/EnableInterrupts.nasm| INTEL
- Ia32/EnableInterrupts.asm | INTEL
Ia32/EnableDisableInterrupts.nasm| INTEL
- Ia32/EnableDisableInterrupts.asm | INTEL
Ia32/DivU64x64Remainder.nasm| INTEL
- Ia32/DivU64x64Remainder.asm | INTEL
Ia32/DivU64x32Remainder.nasm| INTEL
- Ia32/DivU64x32Remainder.asm | INTEL
Ia32/DivU64x32.nasm| INTEL
- Ia32/DivU64x32.asm | INTEL
Ia32/DisablePaging32.nasm| INTEL
- Ia32/DisablePaging32.asm | INTEL
Ia32/DisableInterrupts.nasm| INTEL
- Ia32/DisableInterrupts.asm | INTEL
Ia32/CpuPause.nasm| INTEL
- Ia32/CpuPause.asm | INTEL
Ia32/CpuIdEx.nasm| INTEL
- Ia32/CpuIdEx.asm | INTEL
Ia32/CpuId.nasm| INTEL
- Ia32/CpuId.asm | INTEL
Ia32/CpuBreakpoint.nasm| INTEL
- Ia32/CpuBreakpoint.asm | INTEL
Ia32/ARShiftU64.nasm| INTEL
- Ia32/ARShiftU64.asm | INTEL
Ia32/Thunk16.nasm | INTEL
- Ia32/Thunk16.asm | INTEL
Ia32/EnablePaging64.nasm| INTEL
- Ia32/EnablePaging64.asm | INTEL
Ia32/EnableCache.nasm| INTEL
- Ia32/EnableCache.asm | INTEL
Ia32/DisableCache.nasm| INTEL
- Ia32/DisableCache.asm | INTEL
Ia32/RdRand.nasm| INTEL
- Ia32/RdRand.asm | INTEL
Ia32/GccInline.c | GCC
Ia32/Thunk16.nasm | GCC
@@ -435,309 +338,160 @@
[Sources.X64]
X64/Thunk16.nasm
- X64/Thunk16.asm
X64/CpuIdEx.nasm
- X64/CpuIdEx.asm
X64/CpuId.nasm
- X64/CpuId.asm
X64/LongJump.nasm
- X64/LongJump.asm
X64/SetJump.nasm
- X64/SetJump.asm
X64/SwitchStack.nasm
- X64/SwitchStack.asm
X64/EnableCache.nasm
- X64/EnableCache.asm
X64/DisableCache.nasm
- X64/DisableCache.asm
X64/WriteTr.nasm
X64/CpuBreakpoint.c | MSFT
X64/WriteMsr64.c | MSFT
X64/ReadMsr64.c | MSFT
X64/RdRand.nasm| MSFT
- X64/RdRand.asm | MSFT
X64/CpuPause.nasm| MSFT
- X64/CpuPause.asm | MSFT
X64/EnableDisableInterrupts.nasm| MSFT
- X64/EnableDisableInterrupts.asm | MSFT
X64/DisableInterrupts.nasm| MSFT
- X64/DisableInterrupts.asm | MSFT
X64/EnableInterrupts.nasm| MSFT
- X64/EnableInterrupts.asm | MSFT
X64/FlushCacheLine.nasm| MSFT
- X64/FlushCacheLine.asm | MSFT
X64/Invd.nasm| MSFT
- X64/Invd.asm | MSFT
X64/Wbinvd.nasm| MSFT
- X64/Wbinvd.asm | MSFT
X64/DisablePaging64.nasm| MSFT
- X64/DisablePaging64.asm | MSFT
X64/Mwait.nasm| MSFT
- X64/Mwait.asm | MSFT
X64/Monitor.nasm| MSFT
- X64/Monitor.asm | MSFT
X64/ReadPmc.nasm| MSFT
- X64/ReadPmc.asm | MSFT
X64/ReadTsc.nasm| MSFT
- X64/ReadTsc.asm | MSFT
X64/WriteMm7.nasm| MSFT
- X64/WriteMm7.asm | MSFT
X64/WriteMm6.nasm| MSFT
- X64/WriteMm6.asm | MSFT
X64/WriteMm5.nasm| MSFT
- X64/WriteMm5.asm | MSFT
X64/WriteMm4.nasm| MSFT
- X64/WriteMm4.asm | MSFT
X64/WriteMm3.nasm| MSFT
- X64/WriteMm3.asm | MSFT
X64/WriteMm2.nasm| MSFT
- X64/WriteMm2.asm | MSFT
X64/WriteMm1.nasm| MSFT
- X64/WriteMm1.asm | MSFT
X64/WriteMm0.nasm| MSFT
- X64/WriteMm0.asm | MSFT
X64/ReadMm7.nasm| MSFT
- X64/ReadMm7.asm | MSFT
X64/ReadMm6.nasm| MSFT
- X64/ReadMm6.asm | MSFT
X64/ReadMm5.nasm| MSFT
- X64/ReadMm5.asm | MSFT
X64/ReadMm4.nasm| MSFT
- X64/ReadMm4.asm | MSFT
X64/ReadMm3.nasm| MSFT
- X64/ReadMm3.asm | MSFT
X64/ReadMm2.nasm| MSFT
- X64/ReadMm2.asm | MSFT
X64/ReadMm1.nasm| MSFT
- X64/ReadMm1.asm | MSFT
X64/ReadMm0.nasm| MSFT
- X64/ReadMm0.asm | MSFT
X64/FxRestore.nasm| MSFT
- X64/FxRestore.asm | MSFT
X64/FxSave.nasm| MSFT
- X64/FxSave.asm | MSFT
X64/WriteLdtr.nasm| MSFT
- X64/WriteLdtr.asm | MSFT
X64/ReadLdtr.nasm| MSFT
- X64/ReadLdtr.asm | MSFT
X64/WriteIdtr.nasm| MSFT
- X64/WriteIdtr.asm | MSFT
X64/ReadIdtr.nasm| MSFT
- X64/ReadIdtr.asm | MSFT
X64/WriteGdtr.nasm| MSFT
- X64/WriteGdtr.asm | MSFT
X64/ReadGdtr.nasm| MSFT
- X64/ReadGdtr.asm | MSFT
X64/ReadTr.nasm| MSFT
- X64/ReadTr.asm | MSFT
X64/ReadSs.nasm| MSFT
- X64/ReadSs.asm | MSFT
X64/ReadGs.nasm| MSFT
- X64/ReadGs.asm | MSFT
X64/ReadFs.nasm| MSFT
- X64/ReadFs.asm | MSFT
X64/ReadEs.nasm| MSFT
- X64/ReadEs.asm | MSFT
X64/ReadDs.nasm| MSFT
- X64/ReadDs.asm | MSFT
X64/ReadCs.nasm| MSFT
- X64/ReadCs.asm | MSFT
X64/WriteDr7.nasm| MSFT
- X64/WriteDr7.asm | MSFT
X64/WriteDr6.nasm| MSFT
- X64/WriteDr6.asm | MSFT
X64/WriteDr5.nasm| MSFT
- X64/WriteDr5.asm | MSFT
X64/WriteDr4.nasm| MSFT
- X64/WriteDr4.asm | MSFT
X64/WriteDr3.nasm| MSFT
- X64/WriteDr3.asm | MSFT
X64/WriteDr2.nasm| MSFT
- X64/WriteDr2.asm | MSFT
X64/WriteDr1.nasm| MSFT
- X64/WriteDr1.asm | MSFT
X64/WriteDr0.nasm| MSFT
- X64/WriteDr0.asm | MSFT
X64/ReadDr7.nasm| MSFT
- X64/ReadDr7.asm | MSFT
X64/ReadDr6.nasm| MSFT
- X64/ReadDr6.asm | MSFT
X64/ReadDr5.nasm| MSFT
- X64/ReadDr5.asm | MSFT
X64/ReadDr4.nasm| MSFT
- X64/ReadDr4.asm | MSFT
X64/ReadDr3.nasm| MSFT
- X64/ReadDr3.asm | MSFT
X64/ReadDr2.nasm| MSFT
- X64/ReadDr2.asm | MSFT
X64/ReadDr1.nasm| MSFT
- X64/ReadDr1.asm | MSFT
X64/ReadDr0.nasm| MSFT
- X64/ReadDr0.asm | MSFT
X64/WriteCr4.nasm| MSFT
- X64/WriteCr4.asm | MSFT
X64/WriteCr3.nasm| MSFT
- X64/WriteCr3.asm | MSFT
X64/WriteCr2.nasm| MSFT
- X64/WriteCr2.asm | MSFT
X64/WriteCr0.nasm| MSFT
- X64/WriteCr0.asm | MSFT
X64/ReadCr4.nasm| MSFT
- X64/ReadCr4.asm | MSFT
X64/ReadCr3.nasm| MSFT
- X64/ReadCr3.asm | MSFT
X64/ReadCr2.nasm| MSFT
- X64/ReadCr2.asm | MSFT
X64/ReadCr0.nasm| MSFT
- X64/ReadCr0.asm | MSFT
X64/ReadEflags.nasm| MSFT
- X64/ReadEflags.asm | MSFT
X64/CpuBreakpoint.nasm| INTEL
- X64/CpuBreakpoint.asm | INTEL
X64/WriteMsr64.nasm| INTEL
- X64/WriteMsr64.asm | INTEL
X64/ReadMsr64.nasm| INTEL
- X64/ReadMsr64.asm | INTEL
X64/RdRand.nasm| INTEL
- X64/RdRand.asm | INTEL
X64/CpuPause.nasm| INTEL
- X64/CpuPause.asm | INTEL
X64/EnableDisableInterrupts.nasm| INTEL
- X64/EnableDisableInterrupts.asm | INTEL
X64/DisableInterrupts.nasm| INTEL
- X64/DisableInterrupts.asm | INTEL
X64/EnableInterrupts.nasm| INTEL
- X64/EnableInterrupts.asm | INTEL
X64/FlushCacheLine.nasm| INTEL
- X64/FlushCacheLine.asm | INTEL
X64/Invd.nasm| INTEL
- X64/Invd.asm | INTEL
X64/Wbinvd.nasm| INTEL
- X64/Wbinvd.asm | INTEL
X64/DisablePaging64.nasm| INTEL
- X64/DisablePaging64.asm | INTEL
X64/Mwait.nasm| INTEL
- X64/Mwait.asm | INTEL
X64/Monitor.nasm| INTEL
- X64/Monitor.asm | INTEL
X64/ReadPmc.nasm| INTEL
- X64/ReadPmc.asm | INTEL
X64/ReadTsc.nasm| INTEL
- X64/ReadTsc.asm | INTEL
X64/WriteMm7.nasm| INTEL
- X64/WriteMm7.asm | INTEL
X64/WriteMm6.nasm| INTEL
- X64/WriteMm6.asm | INTEL
X64/WriteMm5.nasm| INTEL
- X64/WriteMm5.asm | INTEL
X64/WriteMm4.nasm| INTEL
- X64/WriteMm4.asm | INTEL
X64/WriteMm3.nasm| INTEL
- X64/WriteMm3.asm | INTEL
X64/WriteMm2.nasm| INTEL
- X64/WriteMm2.asm | INTEL
X64/WriteMm1.nasm| INTEL
- X64/WriteMm1.asm | INTEL
X64/WriteMm0.nasm| INTEL
- X64/WriteMm0.asm | INTEL
X64/ReadMm7.nasm| INTEL
- X64/ReadMm7.asm | INTEL
X64/ReadMm6.nasm| INTEL
- X64/ReadMm6.asm | INTEL
X64/ReadMm5.nasm| INTEL
- X64/ReadMm5.asm | INTEL
X64/ReadMm4.nasm| INTEL
- X64/ReadMm4.asm | INTEL
X64/ReadMm3.nasm| INTEL
- X64/ReadMm3.asm | INTEL
X64/ReadMm2.nasm| INTEL
- X64/ReadMm2.asm | INTEL
X64/ReadMm1.nasm| INTEL
- X64/ReadMm1.asm | INTEL
X64/ReadMm0.nasm| INTEL
- X64/ReadMm0.asm | INTEL
X64/FxRestore.nasm| INTEL
- X64/FxRestore.asm | INTEL
X64/FxSave.nasm| INTEL
- X64/FxSave.asm | INTEL
X64/WriteLdtr.nasm| INTEL
- X64/WriteLdtr.asm | INTEL
X64/ReadLdtr.nasm| INTEL
- X64/ReadLdtr.asm | INTEL
X64/WriteIdtr.nasm| INTEL
- X64/WriteIdtr.asm | INTEL
X64/ReadIdtr.nasm| INTEL
- X64/ReadIdtr.asm | INTEL
X64/WriteGdtr.nasm| INTEL
- X64/WriteGdtr.asm | INTEL
X64/ReadGdtr.nasm| INTEL
- X64/ReadGdtr.asm | INTEL
X64/ReadTr.nasm| INTEL
- X64/ReadTr.asm | INTEL
X64/ReadSs.nasm| INTEL
- X64/ReadSs.asm | INTEL
X64/ReadGs.nasm| INTEL
- X64/ReadGs.asm | INTEL
X64/ReadFs.nasm| INTEL
- X64/ReadFs.asm | INTEL
X64/ReadEs.nasm| INTEL
- X64/ReadEs.asm | INTEL
X64/ReadDs.nasm| INTEL
- X64/ReadDs.asm | INTEL
X64/ReadCs.nasm| INTEL
- X64/ReadCs.asm | INTEL
X64/WriteDr7.nasm| INTEL
- X64/WriteDr7.asm | INTEL
X64/WriteDr6.nasm| INTEL
- X64/WriteDr6.asm | INTEL
X64/WriteDr5.nasm| INTEL
- X64/WriteDr5.asm | INTEL
X64/WriteDr4.nasm| INTEL
- X64/WriteDr4.asm | INTEL
X64/WriteDr3.nasm| INTEL
- X64/WriteDr3.asm | INTEL
X64/WriteDr2.nasm| INTEL
- X64/WriteDr2.asm | INTEL
X64/WriteDr1.nasm| INTEL
- X64/WriteDr1.asm | INTEL
X64/WriteDr0.nasm| INTEL
- X64/WriteDr0.asm | INTEL
X64/ReadDr7.nasm| INTEL
- X64/ReadDr7.asm | INTEL
X64/ReadDr6.nasm| INTEL
- X64/ReadDr6.asm | INTEL
X64/ReadDr5.nasm| INTEL
- X64/ReadDr5.asm | INTEL
X64/ReadDr4.nasm| INTEL
- X64/ReadDr4.asm | INTEL
X64/ReadDr3.nasm| INTEL
- X64/ReadDr3.asm | INTEL
X64/ReadDr2.nasm| INTEL
- X64/ReadDr2.asm | INTEL
X64/ReadDr1.nasm| INTEL
- X64/ReadDr1.asm | INTEL
X64/ReadDr0.nasm| INTEL
- X64/ReadDr0.asm | INTEL
X64/WriteCr4.nasm| INTEL
- X64/WriteCr4.asm | INTEL
X64/WriteCr3.nasm| INTEL
- X64/WriteCr3.asm | INTEL
X64/WriteCr2.nasm| INTEL
- X64/WriteCr2.asm | INTEL
X64/WriteCr0.nasm| INTEL
- X64/WriteCr0.asm | INTEL
X64/ReadCr4.nasm| INTEL
- X64/ReadCr4.asm | INTEL
X64/ReadCr3.nasm| INTEL
- X64/ReadCr3.asm | INTEL
X64/ReadCr2.nasm| INTEL
- X64/ReadCr2.asm | INTEL
X64/ReadCr0.nasm| INTEL
- X64/ReadCr0.asm | INTEL
X64/ReadEflags.nasm| INTEL
- X64/ReadEflags.asm | INTEL
X64/Non-existing.c
Math64.c
diff --git a/MdePkg/Library/BaseLib/Ia32/ARShiftU64.asm b/MdePkg/Library/BaseLib/Ia32/ARShiftU64.asm
deleted file mode 100644
index 10f04c3..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ARShiftU64.asm
+++ /dev/null
@@ -1,48 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ARShiftU64.asm
-;
-; Abstract:
-;
-; 64-bit arithmetic right shift function for IA-32
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; InternalMathARShiftU64 (
-; IN UINT64 Operand,
-; IN UINTN Count
-; );
-;------------------------------------------------------------------------------
-InternalMathARShiftU64 PROC
- mov cl, [esp + 12]
- mov eax, [esp + 8]
- cdq
- test cl, 32
- jnz @F
- mov edx, eax
- mov eax, [esp + 4]
-@@:
- shrd eax, edx, cl
- sar edx, cl
- ret
-InternalMathARShiftU64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/CpuBreakpoint.asm b/MdePkg/Library/BaseLib/Ia32/CpuBreakpoint.asm
deleted file mode 100644
index ab7c2cf..0000000
--- a/MdePkg/Library/BaseLib/Ia32/CpuBreakpoint.asm
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------ ;
-; Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CpuBreakpoint.Asm
-;
-; Abstract:
-;
-; CpuBreakpoint function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat
- .xmm
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; CpuBreakpoint (
-; VOID
-; );
-;------------------------------------------------------------------------------
-CpuBreakpoint PROC
- int 3
- ret
-CpuBreakpoint ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/CpuId.asm b/MdePkg/Library/BaseLib/Ia32/CpuId.asm
deleted file mode 100644
index a1a01c0..0000000
--- a/MdePkg/Library/BaseLib/Ia32/CpuId.asm
+++ /dev/null
@@ -1,66 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CpuId.Asm
-;
-; Abstract:
-;
-; AsmCpuid function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586P
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; AsmCpuid (
-; IN UINT32 RegisterInEax,
-; OUT UINT32 *RegisterOutEax OPTIONAL,
-; OUT UINT32 *RegisterOutEbx OPTIONAL,
-; OUT UINT32 *RegisterOutEcx OPTIONAL,
-; OUT UINT32 *RegisterOutEdx OPTIONAL
-; );
-;------------------------------------------------------------------------------
-AsmCpuid PROC USES ebx
- push ebp
- mov ebp, esp
- mov eax, [ebp + 12]
- cpuid
- push ecx
- mov ecx, [ebp + 16]
- jecxz @F
- mov [ecx], eax
-@@:
- mov ecx, [ebp + 20]
- jecxz @F
- mov [ecx], ebx
-@@:
- mov ecx, [ebp + 24]
- jecxz @F
- pop DWORD [ecx]
-@@:
- mov ecx, [ebp + 28]
- jecxz @F
- mov [ecx], edx
-@@:
- mov eax, [ebp + 12]
- leave
- ret
-AsmCpuid ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/CpuIdEx.asm b/MdePkg/Library/BaseLib/Ia32/CpuIdEx.asm
deleted file mode 100644
index 9cca11b..0000000
--- a/MdePkg/Library/BaseLib/Ia32/CpuIdEx.asm
+++ /dev/null
@@ -1,68 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CpuIdEx.Asm
-;
-; Abstract:
-;
-; AsmCpuidEx function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINT32
-; EFIAPI
-; AsmCpuidEx (
-; IN UINT32 RegisterInEax,
-; IN UINT32 RegisterInEcx,
-; OUT UINT32 *RegisterOutEax OPTIONAL,
-; OUT UINT32 *RegisterOutEbx OPTIONAL,
-; OUT UINT32 *RegisterOutEcx OPTIONAL,
-; OUT UINT32 *RegisterOutEdx OPTIONAL
-; )
-;------------------------------------------------------------------------------
-AsmCpuidEx PROC USES ebx
- push ebp
- mov ebp, esp
- mov eax, [ebp + 12]
- mov ecx, [ebp + 16]
- cpuid
- push ecx
- mov ecx, [ebp + 20]
- jecxz @F
- mov [ecx], eax
-@@:
- mov ecx, [ebp + 24]
- jecxz @F
- mov [ecx], ebx
-@@:
- mov ecx, [ebp + 32]
- jecxz @F
- mov [ecx], edx
-@@:
- mov ecx, [ebp + 28]
- jecxz @F
- pop DWORD [ecx]
-@@:
- mov eax, [ebp + 12]
- leave
- ret
-AsmCpuidEx ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/CpuPause.asm b/MdePkg/Library/BaseLib/Ia32/CpuPause.asm
deleted file mode 100644
index 7a5aef5..0000000
--- a/MdePkg/Library/BaseLib/Ia32/CpuPause.asm
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------ ;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CpuPause.Asm
-;
-; Abstract:
-;
-; CpuPause function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .xmm
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; CpuPause (
-; VOID
-; );
-;------------------------------------------------------------------------------
-CpuPause PROC
- pause
- ret
-CpuPause ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/DisableCache.asm b/MdePkg/Library/BaseLib/Ia32/DisableCache.asm
deleted file mode 100644
index 1d1c9e0..0000000
--- a/MdePkg/Library/BaseLib/Ia32/DisableCache.asm
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; DisableCache.Asm
-;
-; Abstract:
-;
-; Set the CD bit of CR0 to 1, clear the NW bit of CR0 to 0, and flush all caches with a
-; WBINVD instruction.
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .486p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; AsmDisableCache (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmDisableCache PROC
- mov eax, cr0
- bts eax, 30
- btr eax, 29
- mov cr0, eax
- wbinvd
- ret
-AsmDisableCache ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/DisableInterrupts.asm b/MdePkg/Library/BaseLib/Ia32/DisableInterrupts.asm
deleted file mode 100644
index 823d0dd..0000000
--- a/MdePkg/Library/BaseLib/Ia32/DisableInterrupts.asm
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; DisableInterrupts.Asm
-;
-; Abstract:
-;
-; DisableInterrupts function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; DisableInterrupts (
-; VOID
-; );
-;------------------------------------------------------------------------------
-DisableInterrupts PROC
- cli
- ret
-DisableInterrupts ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/DisablePaging32.asm b/MdePkg/Library/BaseLib/Ia32/DisablePaging32.asm
deleted file mode 100644
index 5a3887e..0000000
--- a/MdePkg/Library/BaseLib/Ia32/DisablePaging32.asm
+++ /dev/null
@@ -1,57 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; DisablePaging32.Asm
-;
-; Abstract:
-;
-; AsmDisablePaging32 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; InternalX86DisablePaging32 (
-; IN SWITCH_STACK_ENTRY_POINT EntryPoint,
-; IN VOID *Context1, OPTIONAL
-; IN VOID *Context2, OPTIONAL
-; IN VOID *NewStack
-; );
-;------------------------------------------------------------------------------
-InternalX86DisablePaging32 PROC
- mov ebx, [esp + 4]
- mov ecx, [esp + 8]
- mov edx, [esp + 12]
- pushfd
- pop edi ; save EFLAGS to edi
- cli
- mov eax, cr0
- btr eax, 31
- mov esp, [esp + 16]
- mov cr0, eax
- push edi
- popfd ; restore EFLAGS from edi
- push edx
- push ecx
- call ebx
- jmp $ ; EntryPoint() should not return
-InternalX86DisablePaging32 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/DivU64x32.asm b/MdePkg/Library/BaseLib/Ia32/DivU64x32.asm
deleted file mode 100644
index b479383..0000000
--- a/MdePkg/Library/BaseLib/Ia32/DivU64x32.asm
+++ /dev/null
@@ -1,46 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; DivU64x32.asm
-;
-; Abstract:
-;
-; Calculate the quotient of a 64-bit integer by a 32-bit integer
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; InternalMathDivU64x32 (
-; IN UINT64 Dividend,
-; IN UINT32 Divisor
-; );
-;------------------------------------------------------------------------------
-InternalMathDivU64x32 PROC
- mov eax, [esp + 8]
- mov ecx, [esp + 12]
- xor edx, edx
- div ecx
- push eax ; save quotient on stack
- mov eax, [esp + 8]
- div ecx
- pop edx ; restore high-order dword of the quotient
- ret
-InternalMathDivU64x32 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/DivU64x32Remainder.asm b/MdePkg/Library/BaseLib/Ia32/DivU64x32Remainder.asm
deleted file mode 100644
index 30b0417..0000000
--- a/MdePkg/Library/BaseLib/Ia32/DivU64x32Remainder.asm
+++ /dev/null
@@ -1,51 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; DivError.asm
-;
-; Abstract:
-;
-; Set error flag for all division functions
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; InternalMathDivRemU64x32 (
-; IN UINT64 Dividend,
-; IN UINT32 Divisor,
-; OUT UINT32 *Remainder
-; );
-;------------------------------------------------------------------------------
-InternalMathDivRemU64x32 PROC
- mov ecx, [esp + 12] ; ecx <- divisor
- mov eax, [esp + 8] ; eax <- dividend[32..63]
- xor edx, edx
- div ecx ; eax <- quotient[32..63], edx <- remainder
- push eax
- mov eax, [esp + 8] ; eax <- dividend[0..31]
- div ecx ; eax <- quotient[0..31]
- mov ecx, [esp + 20] ; ecx <- Remainder
- jecxz @F ; abandon remainder if Remainder == NULL
- mov [ecx], edx
-@@:
- pop edx ; edx <- quotient[32..63]
- ret
-InternalMathDivRemU64x32 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/DivU64x64Remainder.asm b/MdePkg/Library/BaseLib/Ia32/DivU64x64Remainder.asm
deleted file mode 100644
index 44e2271..0000000
--- a/MdePkg/Library/BaseLib/Ia32/DivU64x64Remainder.asm
+++ /dev/null
@@ -1,92 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; DivU64x64Remainder.asm
-;
-; Abstract:
-;
-; Calculate the quotient of a 64-bit integer by a 64-bit integer and returns
-; both the quotient and the remainder
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-EXTERN InternalMathDivRemU64x32:PROC
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; InternalMathDivRemU64x64 (
-; IN UINT64 Dividend,
-; IN UINT64 Divisor,
-; OUT UINT64 *Remainder OPTIONAL
-; );
-;------------------------------------------------------------------------------
-InternalMathDivRemU64x64 PROC
- mov ecx, [esp + 16] ; ecx <- divisor[32..63]
- test ecx, ecx
- jnz _@DivRemU64x64 ; call _@DivRemU64x64 if Divisor > 2^32
- mov ecx, [esp + 20]
- jecxz @F
- and dword ptr [ecx + 4], 0 ; zero high dword of remainder
- mov [esp + 16], ecx ; set up stack frame to match DivRemU64x32
-@@:
- jmp InternalMathDivRemU64x32
-InternalMathDivRemU64x64 ENDP
-
-_@DivRemU64x64 PROC PRIVATE USES ebx esi edi
- mov edx, dword ptr [esp + 20]
- mov eax, dword ptr [esp + 16] ; edx:eax <- dividend
- mov edi, edx
- mov esi, eax ; edi:esi <- dividend
- mov ebx, dword ptr [esp + 24] ; ecx:ebx <- divisor
-@@:
- shr edx, 1
- rcr eax, 1
- shrd ebx, ecx, 1
- shr ecx, 1
- jnz @B
- div ebx
- mov ebx, eax ; ebx <- quotient
- mov ecx, [esp + 28] ; ecx <- high dword of divisor
- mul dword ptr [esp + 24] ; edx:eax <- quotient * divisor[0..31]
- imul ecx, ebx ; ecx <- quotient * divisor[32..63]
- add edx, ecx ; edx <- (quotient * divisor)[32..63]
- mov ecx, dword ptr [esp + 32] ; ecx <- addr for Remainder
- jc @TooLarge ; product > 2^64
- cmp edi, edx ; compare high 32 bits
- ja @Correct
- jb @TooLarge ; product > dividend
- cmp esi, eax
- jae @Correct ; product <= dividend
-@TooLarge:
- dec ebx ; adjust quotient by -1
- jecxz @Return ; return if Remainder == NULL
- sub eax, dword ptr [esp + 24]
- sbb edx, dword ptr [esp + 28] ; edx:eax <- (quotient - 1) * divisor
-@Correct:
- jecxz @Return
- sub esi, eax
- sbb edi, edx ; edi:esi <- remainder
- mov [ecx], esi
- mov [ecx + 4], edi
-@Return:
- mov eax, ebx ; eax <- quotient
- xor edx, edx ; quotient is 32 bits long
- ret
-_@DivRemU64x64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/EnableCache.asm b/MdePkg/Library/BaseLib/Ia32/EnableCache.asm
deleted file mode 100644
index 238431c..0000000
--- a/MdePkg/Library/BaseLib/Ia32/EnableCache.asm
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; EnableCache.Asm
-;
-; Abstract:
-;
-; Flush all caches with a WBINVD instruction, clear the CD bit of CR0 to 0, and clear
-; the NW bit of CR0 to 0
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .486p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; AsmEnableCache (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmEnableCache PROC
- wbinvd
- mov eax, cr0
- btr eax, 29
- btr eax, 30
- mov cr0, eax
- ret
-AsmEnableCache ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/EnableDisableInterrupts.asm b/MdePkg/Library/BaseLib/Ia32/EnableDisableInterrupts.asm
deleted file mode 100644
index f108864..0000000
--- a/MdePkg/Library/BaseLib/Ia32/EnableDisableInterrupts.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; EnableDisableInterrupts.Asm
-;
-; Abstract:
-;
-; EnableDisableInterrupts function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386p
- .model flat
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; EnableDisableInterrupts (
-; VOID
-; );
-;------------------------------------------------------------------------------
-EnableDisableInterrupts PROC
- sti
- cli
- ret
-EnableDisableInterrupts ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/EnableInterrupts.asm b/MdePkg/Library/BaseLib/Ia32/EnableInterrupts.asm
deleted file mode 100644
index b43d451..0000000
--- a/MdePkg/Library/BaseLib/Ia32/EnableInterrupts.asm
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; EnableInterrupts.Asm
-;
-; Abstract:
-;
-; EnableInterrupts function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386p
- .model flat
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; EnableInterrupts (
-; VOID
-; );
-;------------------------------------------------------------------------------
-EnableInterrupts PROC
- sti
- ret
-EnableInterrupts ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/EnablePaging32.asm b/MdePkg/Library/BaseLib/Ia32/EnablePaging32.asm
deleted file mode 100644
index e8db4b2..0000000
--- a/MdePkg/Library/BaseLib/Ia32/EnablePaging32.asm
+++ /dev/null
@@ -1,57 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; EnablePaging32.Asm
-;
-; Abstract:
-;
-; AsmEnablePaging32 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; InternalX86EnablePaging32 (
-; IN SWITCH_STACK_ENTRY_POINT EntryPoint,
-; IN VOID *Context1, OPTIONAL
-; IN VOID *Context2, OPTIONAL
-; IN VOID *NewStack
-; );
-;------------------------------------------------------------------------------
-InternalX86EnablePaging32 PROC
- mov ebx, [esp + 4]
- mov ecx, [esp + 8]
- mov edx, [esp + 12]
- pushfd
- pop edi ; save flags in edi
- cli
- mov eax, cr0
- bts eax, 31
- mov esp, [esp + 16]
- mov cr0, eax
- push edi
- popfd ; restore flags
- push edx
- push ecx
- call ebx
- jmp $
-InternalX86EnablePaging32 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/EnablePaging64.asm b/MdePkg/Library/BaseLib/Ia32/EnablePaging64.asm
deleted file mode 100644
index 9ad3404..0000000
--- a/MdePkg/Library/BaseLib/Ia32/EnablePaging64.asm
+++ /dev/null
@@ -1,68 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; EnablePaging64.Asm
-;
-; Abstract:
-;
-; AsmEnablePaging64 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .686p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; InternalX86EnablePaging64 (
-; IN UINT16 Cs,
-; IN UINT64 EntryPoint,
-; IN UINT64 Context1, OPTIONAL
-; IN UINT64 Context2, OPTIONAL
-; IN UINT64 NewStack
-; );
-;------------------------------------------------------------------------------
-InternalX86EnablePaging64 PROC
- cli
- mov DWORD PTR [esp], @F ; offset for far retf, seg is the 1st arg
- mov eax, cr4
- or al, (1 SHL 5)
- mov cr4, eax ; enable PAE
- mov ecx, 0c0000080h
- rdmsr
- or ah, 1 ; set LME
- wrmsr
- mov eax, cr0
- bts eax, 31 ; set PG
- mov cr0, eax ; enable paging
- retf ; topmost 2 dwords hold the address
-@@: ; long mode starts here
- DB 67h, 48h ; 32-bit address size, 64-bit operand size
- mov ebx, [esp] ; mov rbx, [esp]
- DB 67h, 48h
- mov ecx, [esp + 8] ; mov rcx, [esp + 8]
- DB 67h, 48h
- mov edx, [esp + 10h] ; mov rdx, [esp + 10h]
- DB 67h, 48h
- mov esp, [esp + 18h] ; mov rsp, [esp + 18h]
- DB 48h
- add esp, -20h ; add rsp, -20h
- call ebx ; call rbx
- hlt ; no one should get here
-InternalX86EnablePaging64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/FlushCacheLine.asm b/MdePkg/Library/BaseLib/Ia32/FlushCacheLine.asm
deleted file mode 100644
index 1979f6d..0000000
--- a/MdePkg/Library/BaseLib/Ia32/FlushCacheLine.asm
+++ /dev/null
@@ -1,55 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; FlushCacheLine.Asm
-;
-; Abstract:
-;
-; AsmFlushCacheLine function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586P
- .model flat,C
- .xmm
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; EFIAPI
-; AsmFlushCacheLine (
-; IN VOID *LinearAddress
-; );
-;------------------------------------------------------------------------------
-AsmFlushCacheLine PROC
- ;
- ; If the CPU does not support CLFLUSH instruction,
- ; then promote flush range to flush entire cache.
- ;
- mov eax, 1
- push ebx
- cpuid
- pop ebx
- mov eax, [esp + 4]
- test edx, BIT19
- jz @F
- clflush [eax]
- ret
-@@:
- wbinvd
- ret
-AsmFlushCacheLine ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/FxRestore.asm b/MdePkg/Library/BaseLib/Ia32/FxRestore.asm
deleted file mode 100644
index 5b773d6..0000000
--- a/MdePkg/Library/BaseLib/Ia32/FxRestore.asm
+++ /dev/null
@@ -1,42 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; FxRestore.Asm
-;
-; Abstract:
-;
-; AsmFxRestore function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586
- .model flat,C
- .xmm
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; InternalX86FxRestore (
-; IN CONST IA32_FX_BUFFER *Buffer
-; );
-;------------------------------------------------------------------------------
-InternalX86FxRestore PROC
- mov eax, [esp + 4] ; Buffer must be 16-byte aligned
- fxrstor [eax]
- ret
-InternalX86FxRestore ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/FxSave.asm b/MdePkg/Library/BaseLib/Ia32/FxSave.asm
deleted file mode 100644
index 417106a..0000000
--- a/MdePkg/Library/BaseLib/Ia32/FxSave.asm
+++ /dev/null
@@ -1,42 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; FxSave.Asm
-;
-; Abstract:
-;
-; AsmFxSave function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586
- .model flat,C
- .xmm
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; InternalX86FxSave (
-; OUT IA32_FX_BUFFER *Buffer
-; );
-;------------------------------------------------------------------------------
-InternalX86FxSave PROC
- mov eax, [esp + 4] ; Buffer must be 16-byte aligned
- fxsave [eax]
- ret
-InternalX86FxSave ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/Invd.asm b/MdePkg/Library/BaseLib/Ia32/Invd.asm
deleted file mode 100644
index a34e217..0000000
--- a/MdePkg/Library/BaseLib/Ia32/Invd.asm
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; Invd.Asm
-;
-; Abstract:
-;
-; AsmInvd function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .486p
- .model flat
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; AsmInvd (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmInvd PROC
- invd
- ret
-AsmInvd ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/LRotU64.asm b/MdePkg/Library/BaseLib/Ia32/LRotU64.asm
deleted file mode 100644
index 9e6a94e..0000000
--- a/MdePkg/Library/BaseLib/Ia32/LRotU64.asm
+++ /dev/null
@@ -1,51 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; LRotU64.asm
-;
-; Abstract:
-;
-; 64-bit left rotation for Ia32
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; InternalMathLRotU64 (
-; IN UINT64 Operand,
-; IN UINTN Count
-; );
-;------------------------------------------------------------------------------
-InternalMathLRotU64 PROC USES ebx
- mov cl, [esp + 16]
- mov edx, [esp + 12]
- mov eax, [esp + 8]
- shld ebx, edx, cl
- shld edx, eax, cl
- ror ebx, cl
- shld eax, ebx, cl
- test cl, 32 ; Count >= 32?
- jz @F
- mov ecx, eax
- mov eax, edx
- mov edx, ecx
-@@:
- ret
-InternalMathLRotU64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/LShiftU64.asm b/MdePkg/Library/BaseLib/Ia32/LShiftU64.asm
deleted file mode 100644
index 15b7242..0000000
--- a/MdePkg/Library/BaseLib/Ia32/LShiftU64.asm
+++ /dev/null
@@ -1,48 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; LShiftU64.asm
-;
-; Abstract:
-;
-; 64-bit left shift function for IA-32
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; InternalMathLShiftU64 (
-; IN UINT64 Operand,
-; IN UINTN Count
-; );
-;------------------------------------------------------------------------------
-InternalMathLShiftU64 PROC
- mov cl, [esp + 12]
- xor eax, eax
- mov edx, [esp + 4]
- test cl, 32 ; Count >= 32?
- jnz @F
- mov eax, edx
- mov edx, [esp + 8]
-@@:
- shld edx, eax, cl
- shl eax, cl
- ret
-InternalMathLShiftU64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/LongJump.asm b/MdePkg/Library/BaseLib/Ia32/LongJump.asm
deleted file mode 100644
index d1f1d77..0000000
--- a/MdePkg/Library/BaseLib/Ia32/LongJump.asm
+++ /dev/null
@@ -1,46 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; LongJump.Asm
-;
-; Abstract:
-;
-; Implementation of _LongJump() on IA-32.
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; InternalLongJump (
-; IN BASE_LIBRARY_JUMP_BUFFER *JumpBuffer,
-; IN UINTN Value
-; );
-;------------------------------------------------------------------------------
-InternalLongJump PROC
- pop eax ; skip return address
- pop edx ; edx <- JumpBuffer
- pop eax ; eax <- Value
- mov ebx, [edx]
- mov esi, [edx + 4]
- mov edi, [edx + 8]
- mov ebp, [edx + 12]
- mov esp, [edx + 16]
- jmp dword ptr [edx + 20] ; restore "eip"
-InternalLongJump ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ModU64x32.asm b/MdePkg/Library/BaseLib/Ia32/ModU64x32.asm
deleted file mode 100644
index a910fd3..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ModU64x32.asm
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; DivU64x32.asm
-;
-; Abstract:
-;
-; Calculate the remainder of a 64-bit integer by a 32-bit integer
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINT32
-; EFIAPI
-; InternalMathModU64x32 (
-; IN UINT64 Dividend,
-; IN UINT32 Divisor
-; );
-;------------------------------------------------------------------------------
-InternalMathModU64x32 PROC
- mov eax, [esp + 8]
- mov ecx, [esp + 12]
- xor edx, edx
- div ecx
- mov eax, [esp + 4]
- div ecx
- mov eax, edx
- ret
-InternalMathModU64x32 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/Monitor.asm b/MdePkg/Library/BaseLib/Ia32/Monitor.asm
deleted file mode 100644
index a8f8612..0000000
--- a/MdePkg/Library/BaseLib/Ia32/Monitor.asm
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; Monitor.Asm
-;
-; Abstract:
-;
-; AsmMonitor function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmMonitor (
-; IN UINTN Eax,
-; IN UINTN Ecx,
-; IN UINTN Edx
-; );
-;------------------------------------------------------------------------------
-AsmMonitor PROC
- mov eax, [esp + 4]
- mov ecx, [esp + 8]
- mov edx, [esp + 12]
- DB 0fh, 1, 0c8h ; monitor
- ret
-AsmMonitor ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/MultU64x32.asm b/MdePkg/Library/BaseLib/Ia32/MultU64x32.asm
deleted file mode 100644
index 9648d65..0000000
--- a/MdePkg/Library/BaseLib/Ia32/MultU64x32.asm
+++ /dev/null
@@ -1,43 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; MultU64x32.asm
-;
-; Abstract:
-;
-; Calculate the product of a 64-bit integer and a 32-bit integer
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; InternalMathMultU64x32 (
-; IN UINT64 Multiplicand,
-; IN UINT32 Multiplier
-; );
-;------------------------------------------------------------------------------
-InternalMathMultU64x32 PROC
- mov ecx, [esp + 12]
- mov eax, ecx
- imul ecx, [esp + 8] ; overflow not detectable
- mul dword ptr [esp + 4]
- add edx, ecx
- ret
-InternalMathMultU64x32 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/MultU64x64.asm b/MdePkg/Library/BaseLib/Ia32/MultU64x64.asm
deleted file mode 100644
index 061301f..0000000
--- a/MdePkg/Library/BaseLib/Ia32/MultU64x64.asm
+++ /dev/null
@@ -1,47 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; MultU64x64.asm
-;
-; Abstract:
-;
-; Calculate the product of a 64-bit integer and another 64-bit integer
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; InternalMathMultU64x64 (
-; IN UINT64 Multiplicand,
-; IN UINT64 Multiplier
-; );
-;------------------------------------------------------------------------------
-InternalMathMultU64x64 PROC USES ebx
- mov ebx, [esp + 8] ; ebx <- M1[0..31]
- mov edx, [esp + 16] ; edx <- M2[0..31]
- mov ecx, ebx
- mov eax, edx
- imul ebx, [esp + 20] ; ebx <- M1[0..31] * M2[32..63]
- imul edx, [esp + 12] ; edx <- M1[32..63] * M2[0..31]
- add ebx, edx ; carries are abandoned
- mul ecx ; edx:eax <- M1[0..31] * M2[0..31]
- add edx, ebx ; carries are abandoned
- ret
-InternalMathMultU64x64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/Mwait.asm b/MdePkg/Library/BaseLib/Ia32/Mwait.asm
deleted file mode 100644
index 3ae3085..0000000
--- a/MdePkg/Library/BaseLib/Ia32/Mwait.asm
+++ /dev/null
@@ -1,43 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; Mwait.Asm
-;
-; Abstract:
-;
-; AsmMwait function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmMwait (
-; IN UINTN Eax,
-; IN UINTN Ecx
-; );
-;------------------------------------------------------------------------------
-AsmMwait PROC
- mov eax, [esp + 4]
- mov ecx, [esp + 8]
- DB 0fh, 1, 0c9h ; mwait
- ret
-AsmMwait ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/RRotU64.asm b/MdePkg/Library/BaseLib/Ia32/RRotU64.asm
deleted file mode 100644
index 6afb0cc..0000000
--- a/MdePkg/Library/BaseLib/Ia32/RRotU64.asm
+++ /dev/null
@@ -1,51 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; RRotU64.asm
-;
-; Abstract:
-;
-; 64-bit right rotation for Ia32
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; InternalMathRRotU64 (
-; IN UINT64 Operand,
-; IN UINTN Count
-; );
-;------------------------------------------------------------------------------
-InternalMathRRotU64 PROC USES ebx
- mov cl, [esp + 16]
- mov eax, [esp + 8]
- mov edx, [esp + 12]
- shrd ebx, eax, cl
- shrd eax, edx, cl
- rol ebx, cl
- shrd edx, ebx, cl
- test cl, 32 ; Count >= 32?
- jz @F
- mov ecx, eax ; switch eax & edx if Count >= 32
- mov eax, edx
- mov edx, ecx
-@@:
- ret
-InternalMathRRotU64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/RShiftU64.asm b/MdePkg/Library/BaseLib/Ia32/RShiftU64.asm
deleted file mode 100644
index 94f7046..0000000
--- a/MdePkg/Library/BaseLib/Ia32/RShiftU64.asm
+++ /dev/null
@@ -1,48 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; RShiftU64.asm
-;
-; Abstract:
-;
-; 64-bit logical right shift function for IA-32
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; InternalMathRShiftU64 (
-; IN UINT64 Operand,
-; IN UINTN Count
-; );
-;------------------------------------------------------------------------------
-InternalMathRShiftU64 PROC
- mov cl, [esp + 12] ; cl <- Count
- xor edx, edx
- mov eax, [esp + 8]
- test cl, 32 ; Count >= 32?
- jnz @F
- mov edx, eax
- mov eax, [esp + 4]
-@@:
- shrd eax, edx, cl
- shr edx, cl
- ret
-InternalMathRShiftU64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/RdRand.asm b/MdePkg/Library/BaseLib/Ia32/RdRand.asm
deleted file mode 100644
index cb4e811..0000000
--- a/MdePkg/Library/BaseLib/Ia32/RdRand.asm
+++ /dev/null
@@ -1,94 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; RdRand.asm
-;
-; Abstract:
-;
-; Generates random number through CPU RdRand instruction under 32-bit platform.
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
-.686P
-.model flat, C
-
-.code
-
-;------------------------------------------------------------------------------
-; Generates a 16 bit random number through RDRAND instruction.
-; Return TRUE if Rand generated successfully, or FALSE if not.
-;
-; BOOLEAN EFIAPI InternalX86RdRand16 (UINT16 *Rand);
-;------------------------------------------------------------------------------
-InternalX86RdRand16 PROC
- ; rdrand ax ; generate a 16 bit RN into ax
- ; CF=1 if RN generated ok, otherwise CF=0
- db 0fh, 0c7h, 0f0h ; 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
-rn16_ok:
- mov edx, dword ptr [esp + 4]
- mov [edx], ax
- mov eax, 1
- ret
-InternalX86RdRand16 ENDP
-
-;------------------------------------------------------------------------------
-; Generates a 32 bit random number through RDRAND instruction.
-; Return TRUE if Rand generated successfully, or FALSE if not.
-;
-; BOOLEAN EFIAPI InternalX86RdRand32 (UINT32 *Rand);
-;------------------------------------------------------------------------------
-InternalX86RdRand32 PROC
- ; rdrand eax ; generate a 32 bit RN into eax
- ; CF=1 if RN generated ok, otherwise CF=0
- db 0fh, 0c7h, 0f0h ; 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
-rn32_ok:
- mov edx, dword ptr [esp + 4]
- mov [edx], eax
- mov eax, 1
- ret
-InternalX86RdRand32 ENDP
-
-;------------------------------------------------------------------------------
-; Generates a 64 bit random number through RDRAND instruction.
-; Return TRUE if Rand generated successfully, or FALSE if not.
-;
-; BOOLEAN EFIAPI InternalX86RdRand64 (UINT64 *Rand);
-;------------------------------------------------------------------------------
-InternalX86RdRand64 PROC
- ; rdrand eax ; generate a 32 bit RN into eax
- ; CF=1 if RN generated ok, otherwise CF=0
- db 0fh, 0c7h, 0f0h ; rdrand r32: "0f c7 /6 ModRM:r/m(w)"
- jnc rn64_ret ; jmp if CF=0
- mov edx, dword ptr [esp + 4]
- mov [edx], eax
-
- db 0fh, 0c7h, 0f0h ; generate another 32 bit RN
- jnc rn64_ret ; jmp if CF=0
- mov [edx + 4], eax
-
- mov eax, 1
- ret
-rn64_ret:
- xor eax, eax
- ret ; return with failure status
-InternalX86RdRand64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadCr0.asm b/MdePkg/Library/BaseLib/Ia32/ReadCr0.asm
deleted file mode 100644
index 13d0920..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadCr0.asm
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadCr0.Asm
-;
-; Abstract:
-;
-; AsmReadCr0 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmReadCr0 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadCr0 PROC
- mov eax, cr0
- ret
-AsmReadCr0 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadCr2.asm b/MdePkg/Library/BaseLib/Ia32/ReadCr2.asm
deleted file mode 100644
index 7a267d4..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadCr2.asm
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadCr2.Asm
-;
-; Abstract:
-;
-; AsmReadCr2 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmReadCr2 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadCr2 PROC
- mov eax, cr2
- ret
-AsmReadCr2 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadCr3.asm b/MdePkg/Library/BaseLib/Ia32/ReadCr3.asm
deleted file mode 100644
index d4ba412..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadCr3.asm
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadCr3.Asm
-;
-; Abstract:
-;
-; AsmReadCr3 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmReadCr3 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadCr3 PROC
- mov eax, cr3
- ret
-AsmReadCr3 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadCr4.asm b/MdePkg/Library/BaseLib/Ia32/ReadCr4.asm
deleted file mode 100644
index 02f9072..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadCr4.asm
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadCr4.Asm
-;
-; Abstract:
-;
-; AsmReadCr4 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmReadCr4 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadCr4 PROC
- mov eax, cr4
- ret
-AsmReadCr4 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadCs.asm b/MdePkg/Library/BaseLib/Ia32/ReadCs.asm
deleted file mode 100644
index f9f1eef..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadCs.asm
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadCs.Asm
-;
-; Abstract:
-;
-; AsmReadCs function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINT16
-; EFIAPI
-; AsmReadCs (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadCs PROC
- mov eax, cs
- ret
-AsmReadCs ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadDr0.asm b/MdePkg/Library/BaseLib/Ia32/ReadDr0.asm
deleted file mode 100644
index 8a8c4d2..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadDr0.asm
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadDr0.Asm
-;
-; Abstract:
-;
-; AsmReadDr0 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmReadDr0 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadDr0 PROC
- mov eax, dr0
- ret
-AsmReadDr0 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadDr1.asm b/MdePkg/Library/BaseLib/Ia32/ReadDr1.asm
deleted file mode 100644
index cb9808b..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadDr1.asm
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadDr1.Asm
-;
-; Abstract:
-;
-; AsmReadDr1 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmReadDr1 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadDr1 PROC
- mov eax, dr1
- ret
-AsmReadDr1 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadDr2.asm b/MdePkg/Library/BaseLib/Ia32/ReadDr2.asm
deleted file mode 100644
index bbc77b6..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadDr2.asm
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadDr2.Asm
-;
-; Abstract:
-;
-; AsmReadDr2 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmReadDr2 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadDr2 PROC
- mov eax, dr2
- ret
-AsmReadDr2 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadDr3.asm b/MdePkg/Library/BaseLib/Ia32/ReadDr3.asm
deleted file mode 100644
index a6dc443..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadDr3.asm
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadDr3.Asm
-;
-; Abstract:
-;
-; AsmReadDr3 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmReadDr3 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadDr3 PROC
- mov eax, dr3
- ret
-AsmReadDr3 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadDr4.asm b/MdePkg/Library/BaseLib/Ia32/ReadDr4.asm
deleted file mode 100644
index 2d0c7a6..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadDr4.asm
+++ /dev/null
@@ -1,47 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadDr4.Asm
-;
-; Abstract:
-;
-; AsmReadDr4 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmReadDr4 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadDr4 PROC
- ;
- ; DR4 is alias to DR6 only if DE (in CR4) is cleared. Otherwise, reading
- ; this register will cause a #UD exception.
- ;
- ; MS assembler doesn't support this instruction since no one would use it
- ; under normal circustances. Here opcode is used.
- ;
- DB 0fh, 21h, 0e0h
- ret
-AsmReadDr4 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadDr5.asm b/MdePkg/Library/BaseLib/Ia32/ReadDr5.asm
deleted file mode 100644
index 58b4ac2..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadDr5.asm
+++ /dev/null
@@ -1,47 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadDr5.Asm
-;
-; Abstract:
-;
-; AsmReadDr5 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmReadDr5 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadDr5 PROC
- ;
- ; DR5 is alias to DR7 only if DE (in CR4) is cleared. Otherwise, reading
- ; this register will cause a #UD exception.
- ;
- ; MS assembler doesn't support this instruction since no one would use it
- ; under normal circustances. Here opcode is used.
- ;
- DB 0fh, 21h, 0e8h
- ret
-AsmReadDr5 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadDr6.asm b/MdePkg/Library/BaseLib/Ia32/ReadDr6.asm
deleted file mode 100644
index 6ecac10..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadDr6.asm
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadDr6.Asm
-;
-; Abstract:
-;
-; AsmReadDr6 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmReadDr6 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadDr6 PROC
- mov eax, dr6
- ret
-AsmReadDr6 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadDr7.asm b/MdePkg/Library/BaseLib/Ia32/ReadDr7.asm
deleted file mode 100644
index 3869bb1..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadDr7.asm
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadDr7.Asm
-;
-; Abstract:
-;
-; AsmReadDr7 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmReadDr7 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadDr7 PROC
- mov eax, dr7
- ret
-AsmReadDr7 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadDs.asm b/MdePkg/Library/BaseLib/Ia32/ReadDs.asm
deleted file mode 100644
index d134926..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadDs.asm
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadDs.Asm
-;
-; Abstract:
-;
-; AsmReadDs function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINT16
-; EFIAPI
-; AsmReadDs (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadDs PROC
- mov eax, ds
- ret
-AsmReadDs ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadEflags.asm b/MdePkg/Library/BaseLib/Ia32/ReadEflags.asm
deleted file mode 100644
index 4b210d1..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadEflags.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadEflags.Asm
-;
-; Abstract:
-;
-; AsmReadEflags function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmReadEflags (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadEflags PROC
- pushfd
- pop eax
- ret
-AsmReadEflags ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadEs.asm b/MdePkg/Library/BaseLib/Ia32/ReadEs.asm
deleted file mode 100644
index 4c5d0cc..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadEs.asm
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadEs.Asm
-;
-; Abstract:
-;
-; AsmReadEs function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINT16
-; EFIAPI
-; AsmReadEs (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadEs PROC
- mov eax, es
- ret
-AsmReadEs ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadFs.asm b/MdePkg/Library/BaseLib/Ia32/ReadFs.asm
deleted file mode 100644
index bdcb97f..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadFs.asm
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadFs.Asm
-;
-; Abstract:
-;
-; AsmReadFs function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINT16
-; EFIAPI
-; AsmReadFs (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadFs PROC
- mov eax, fs
- ret
-AsmReadFs ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadGdtr.asm b/MdePkg/Library/BaseLib/Ia32/ReadGdtr.asm
deleted file mode 100644
index 68c125a..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadGdtr.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadGdtr.Asm
-;
-; Abstract:
-;
-; AsmReadGdtr function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; InternalX86ReadGdtr (
-; OUT IA32_DESCRIPTOR *Gdtr
-; );
-;------------------------------------------------------------------------------
-InternalX86ReadGdtr PROC
- mov eax, [esp + 4]
- sgdt fword ptr [eax]
- ret
-InternalX86ReadGdtr ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadGs.asm b/MdePkg/Library/BaseLib/Ia32/ReadGs.asm
deleted file mode 100644
index db505de..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadGs.asm
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadGs.Asm
-;
-; Abstract:
-;
-; AsmReadGs function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINT16
-; EFIAPI
-; AsmReadGs (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadGs PROC
- mov eax, gs
- ret
-AsmReadGs ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadIdtr.asm b/MdePkg/Library/BaseLib/Ia32/ReadIdtr.asm
deleted file mode 100644
index 40b8bf8..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadIdtr.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadIdtr.Asm
-;
-; Abstract:
-;
-; AsmReadIdtr function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; InternalX86ReadIdtr (
-; OUT IA32_DESCRIPTOR *Idtr
-; );
-;------------------------------------------------------------------------------
-InternalX86ReadIdtr PROC
- mov eax, [esp + 4]
- sidt fword ptr [eax]
- ret
-InternalX86ReadIdtr ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadLdtr.asm b/MdePkg/Library/BaseLib/Ia32/ReadLdtr.asm
deleted file mode 100644
index f38ebbf..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadLdtr.asm
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadLdtr.Asm
-;
-; Abstract:
-;
-; AsmReadLdtr function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINT16
-; EFIAPI
-; AsmReadLdtr (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadLdtr PROC
- sldt ax
- ret
-AsmReadLdtr ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadMm0.asm b/MdePkg/Library/BaseLib/Ia32/ReadMm0.asm
deleted file mode 100644
index 990b647..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadMm0.asm
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadMm0.Asm
-;
-; Abstract:
-;
-; AsmReadMm0 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586
- .model flat,C
- .mmx
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; AsmReadMm0 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadMm0 PROC
- push eax
- push eax
- movq [esp], mm0
- pop eax
- pop edx
- ret
-AsmReadMm0 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadMm1.asm b/MdePkg/Library/BaseLib/Ia32/ReadMm1.asm
deleted file mode 100644
index d241fac..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadMm1.asm
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadMm1.Asm
-;
-; Abstract:
-;
-; AsmReadMm1 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586
- .model flat,C
- .mmx
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; AsmReadMm1 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadMm1 PROC
- push eax
- push eax
- movq [esp], mm1
- pop eax
- pop edx
- ret
-AsmReadMm1 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadMm2.asm b/MdePkg/Library/BaseLib/Ia32/ReadMm2.asm
deleted file mode 100644
index 07bf0ea..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadMm2.asm
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadMm2.Asm
-;
-; Abstract:
-;
-; AsmReadMm2 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586
- .model flat,C
- .mmx
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; AsmReadMm2 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadMm2 PROC
- push eax
- push eax
- movq [esp], mm2
- pop eax
- pop edx
- ret
-AsmReadMm2 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadMm3.asm b/MdePkg/Library/BaseLib/Ia32/ReadMm3.asm
deleted file mode 100644
index d323188..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadMm3.asm
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadMm3.Asm
-;
-; Abstract:
-;
-; AsmReadMm3 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586
- .model flat,C
- .mmx
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; AsmReadMm3 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadMm3 PROC
- push eax
- push eax
- movq [esp], mm3
- pop eax
- pop edx
- ret
-AsmReadMm3 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadMm4.asm b/MdePkg/Library/BaseLib/Ia32/ReadMm4.asm
deleted file mode 100644
index 3d63eae..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadMm4.asm
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadMm4.Asm
-;
-; Abstract:
-;
-; AsmReadMm4 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586
- .model flat,C
- .mmx
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; AsmReadMm4 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadMm4 PROC
- push eax
- push eax
- movq [esp], mm4
- pop eax
- pop edx
- ret
-AsmReadMm4 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadMm5.asm b/MdePkg/Library/BaseLib/Ia32/ReadMm5.asm
deleted file mode 100644
index 39d0c7e..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadMm5.asm
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadMm5.Asm
-;
-; Abstract:
-;
-; AsmReadMm5 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586
- .model flat,C
- .mmx
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; AsmReadMm5 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadMm5 PROC
- push eax
- push eax
- movq [esp], mm5
- pop eax
- pop edx
- ret
-AsmReadMm5 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadMm6.asm b/MdePkg/Library/BaseLib/Ia32/ReadMm6.asm
deleted file mode 100644
index 2673710..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadMm6.asm
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadMm6.Asm
-;
-; Abstract:
-;
-; AsmReadMm6 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586
- .model flat,C
- .mmx
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; AsmReadMm6 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadMm6 PROC
- push eax
- push eax
- movq [esp], mm6
- pop eax
- pop edx
- ret
-AsmReadMm6 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadMm7.asm b/MdePkg/Library/BaseLib/Ia32/ReadMm7.asm
deleted file mode 100644
index eadb1ac..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadMm7.asm
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadMm7.Asm
-;
-; Abstract:
-;
-; AsmReadMm7 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586
- .model flat,C
- .mmx
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; AsmReadMm7 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadMm7 PROC
- push eax
- push eax
- movq [esp], mm7
- pop eax
- pop edx
- ret
-AsmReadMm7 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadMsr64.asm b/MdePkg/Library/BaseLib/Ia32/ReadMsr64.asm
deleted file mode 100644
index da6f45f..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadMsr64.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadMsr64.Asm
-;
-; Abstract:
-;
-; AsmReadMsr64 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; AsmReadMsr64 (
-; IN UINT64 Index
-; );
-;------------------------------------------------------------------------------
-AsmReadMsr64 PROC
- mov ecx, [esp + 4]
- rdmsr
- ret
-AsmReadMsr64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadPmc.asm b/MdePkg/Library/BaseLib/Ia32/ReadPmc.asm
deleted file mode 100644
index 59ea36b..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadPmc.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadPmc.Asm
-;
-; Abstract:
-;
-; AsmReadPmc function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; AsmReadPmc (
-; IN UINT32 PmcIndex
-; );
-;------------------------------------------------------------------------------
-AsmReadPmc PROC
- mov ecx, [esp + 4]
- rdpmc
- ret
-AsmReadPmc ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadSs.asm b/MdePkg/Library/BaseLib/Ia32/ReadSs.asm
deleted file mode 100644
index bfba7c0..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadSs.asm
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadSs.Asm
-;
-; Abstract:
-;
-; AsmReadSs function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINT16
-; EFIAPI
-; AsmReadSs (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadSs PROC
- mov eax, ss
- ret
-AsmReadSs ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadTr.asm b/MdePkg/Library/BaseLib/Ia32/ReadTr.asm
deleted file mode 100644
index 7fca070..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadTr.asm
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadTr.Asm
-;
-; Abstract:
-;
-; AsmReadTr function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINT16
-; EFIAPI
-; AsmReadTr (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadTr PROC
- str ax
- ret
-AsmReadTr ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/ReadTsc.asm b/MdePkg/Library/BaseLib/Ia32/ReadTsc.asm
deleted file mode 100644
index ad02adb..0000000
--- a/MdePkg/Library/BaseLib/Ia32/ReadTsc.asm
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadTsc.Asm
-;
-; Abstract:
-;
-; AsmReadTsc function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; AsmReadTsc (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadTsc PROC
- rdtsc
- ret
-AsmReadTsc ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/SetJump.asm b/MdePkg/Library/BaseLib/Ia32/SetJump.asm
deleted file mode 100644
index 0bfa404..0000000
--- a/MdePkg/Library/BaseLib/Ia32/SetJump.asm
+++ /dev/null
@@ -1,51 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetJump.Asm
-;
-; Abstract:
-;
-; Implementation of SetJump() on IA-32.
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-InternalAssertJumpBuffer PROTO C
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; SetJump (
-; OUT BASE_LIBRARY_JUMP_BUFFER *JumpBuffer
-; );
-;------------------------------------------------------------------------------
-SetJump PROC
- push DWORD [esp + 4]
- call InternalAssertJumpBuffer ; To validate JumpBuffer
- pop ecx
- pop ecx ; ecx <- return address
- mov edx, [esp]
- mov [edx], ebx
- mov [edx + 4], esi
- mov [edx + 8], edi
- mov [edx + 12], ebp
- mov [edx + 16], esp
- mov [edx + 20], ecx ; eip value to restore in LongJump
- xor eax, eax
- jmp ecx
-SetJump ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/SwapBytes64.asm b/MdePkg/Library/BaseLib/Ia32/SwapBytes64.asm
deleted file mode 100644
index 7020753..0000000
--- a/MdePkg/Library/BaseLib/Ia32/SwapBytes64.asm
+++ /dev/null
@@ -1,43 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CpuId.Asm
-;
-; Abstract:
-;
-; AsmCpuid function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; InternalMathSwapBytes64 (
-; IN UINT64 Operand
-; );
-;------------------------------------------------------------------------------
-InternalMathSwapBytes64 PROC
- mov eax, [esp + 8] ; eax <- upper 32 bits
- mov edx, [esp + 4] ; edx <- lower 32 bits
- bswap eax
- bswap edx
- ret
-InternalMathSwapBytes64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/Thunk16.asm b/MdePkg/Library/BaseLib/Ia32/Thunk16.asm
deleted file mode 100644
index 08955d4..0000000
--- a/MdePkg/Library/BaseLib/Ia32/Thunk16.asm
+++ /dev/null
@@ -1,260 +0,0 @@
-
-#include "BaseLibInternals.h"
-
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; Thunk.asm
-;
-; Abstract:
-;
-; Real mode thunk
-;
-;------------------------------------------------------------------------------
-
- .686p
- .model flat,C
-
-EXTERNDEF C m16Start:BYTE
-EXTERNDEF C m16Size:WORD
-EXTERNDEF C mThunk16Attr:WORD
-EXTERNDEF C m16Gdt:WORD
-EXTERNDEF C m16GdtrBase:WORD
-EXTERNDEF C mTransition:WORD
-
-;
-; Here is the layout of the real mode stack. _ToUserCode() is responsible for
-; loading all these registers from real mode stack.
-;
-IA32_REGS STRUC 4t
-_EDI DD ?
-_ESI DD ?
-_EBP DD ?
-_ESP DD ?
-_EBX DD ?
-_EDX DD ?
-_ECX DD ?
-_EAX DD ?
-_DS DW ?
-_ES DW ?
-_FS DW ?
-_GS DW ?
-_EFLAGS DD ?
-_EIP DD ?
-_CS DW ?
-_SS DW ?
-IA32_REGS ENDS
-
- .const
-
-;
-; These are global constant to convey information to C code.
-;
-m16Size DW InternalAsmThunk16 - m16Start
-mThunk16Attr DW _ThunkAttr - m16Start
-m16Gdt DW _NullSegDesc - m16Start
-m16GdtrBase DW _16GdtrBase - m16Start
-mTransition DW _EntryPoint - m16Start
-
- .code
-
-m16Start LABEL BYTE
-
-SavedGdt LABEL FWORD
- DW ?
- DD ?
-;------------------------------------------------------------------------------
-; _BackFromUserCode() takes control in real mode after 'retf' has been executed
-; by user code. It will be shadowed to somewhere in memory below 1MB.
-;------------------------------------------------------------------------------
-_BackFromUserCode PROC
- ;
- ; The order of saved registers on the stack matches the order they appears
- ; in IA32_REGS structure. This facilitates wrapper function to extract them
- ; into that structure.
- ;
- push ss
- push cs
- DB 66h
- call @Base ; push eip
-@Base:
- pushf ; pushfd actually
- cli ; disable interrupts
- push gs
- push fs
- push es
- push ds
- pushaw ; pushad actually
- DB 66h, 0bah ; mov edx, imm32
-_ThunkAttr DD ?
- test dl, THUNK_ATTRIBUTE_DISABLE_A20_MASK_INT_15
- jz @1
- mov eax, 15cd2401h ; mov ax, 2401h & int 15h
- cli ; disable interrupts
- jnc @2
-@1:
- test dl, THUNK_ATTRIBUTE_DISABLE_A20_MASK_KBD_CTRL
- jz @2
- in al, 92h
- or al, 2
- out 92h, al ; deactivate A20M#
-@2:
- xor ax, ax ; xor eax, eax
- mov eax, ss ; mov ax, ss
- DB 67h
- lea bp, [esp + sizeof (IA32_REGS)]
- ;
- ; esi's in the following 2 instructions are indeed bp in 16-bit code. Fact
- ; is "esi" in 32-bit addressing mode has the same encoding of "bp" in 16-
- ; bit addressing mode.
- ;
- mov word ptr (IA32_REGS ptr [esi - sizeof (IA32_REGS)])._ESP, bp
- mov ebx, (IA32_REGS ptr [esi - sizeof (IA32_REGS)])._EIP
- shl ax, 4 ; shl eax, 4
- add bp, ax ; add ebp, eax
- DB 66h, 0b8h ; mov eax, imm32
-SavedCr4 DD ?
- mov cr4, eax
- DB 66h
- lgdt fword ptr cs:[edi + (SavedGdt - @Base)]
- DB 66h, 0b8h ; mov eax, imm32
-SavedCr0 DD ?
- mov cr0, eax
- DB 0b8h ; mov ax, imm16
-SavedSs DW ?
- mov ss, eax
- DB 66h, 0bch ; mov esp, imm32
-SavedEsp DD ?
- DB 66h
- retf ; return to protected mode
-_BackFromUserCode ENDP
-
-_EntryPoint DD _ToUserCode - m16Start
- DW 8h
-_16Idtr FWORD (1 SHL 10) - 1
-_16Gdtr LABEL FWORD
- DW GdtEnd - _NullSegDesc - 1
-_16GdtrBase DD _NullSegDesc
-
-;------------------------------------------------------------------------------
-; _ToUserCode() takes control in real mode before passing control to user code.
-; It will be shadowed to somewhere in memory below 1MB.
-;------------------------------------------------------------------------------
-_ToUserCode PROC
- mov edx, ss
- mov ss, ecx ; set new segment selectors
- mov ds, ecx
- mov es, ecx
- mov fs, ecx
- mov gs, ecx
- mov cr0, eax ; real mode starts at next instruction
- ; which (per SDM) *must* be a far JMP.
- DB 0eah
-_RealAddr DW 0,0 ; filled in by InternalAsmThunk16
-
- mov cr4, ebp
- mov ss, esi ; set up 16-bit stack segment
- xchg sp, bx ; set up 16-bit stack pointer
-
-; mov bp, [esp + sizeof(IA32_REGS)
- DB 67h
- mov ebp, [esp + sizeof(IA32_REGS)] ; BackFromUserCode address from stack
-
-; mov cs:[bp + (SavedSs - _BackFromUserCode)], dx
- mov cs:[esi + (SavedSs - _BackFromUserCode)], edx
-
-; mov cs:[bp + (SavedEsp - _BackFromUserCode)], ebx
- DB 2eh, 66h, 89h, 9eh
- DW SavedEsp - _BackFromUserCode
-
-; lidt cs:[bp + (_16Idtr - _BackFromUserCode)]
- DB 2eh, 66h, 0fh, 01h, 9eh
- DW _16Idtr - _BackFromUserCode
-
- popaw ; popad actually
- pop ds
- pop es
- pop fs
- pop gs
- popf ; popfd
- DB 66h ; Use 32-bit addressing for "retf" below
- retf ; transfer control to user code
-_ToUserCode ENDP
-
-_NullSegDesc DQ 0
-_16CsDesc LABEL QWORD
- DW -1
- DW 0
- DB 0
- DB 9bh
- DB 8fh ; 16-bit segment, 4GB limit
- DB 0
-_16DsDesc LABEL QWORD
- DW -1
- DW 0
- DB 0
- DB 93h
- DB 8fh ; 16-bit segment, 4GB limit
- DB 0
-GdtEnd LABEL QWORD
-
-;------------------------------------------------------------------------------
-; IA32_REGISTER_SET *
-; EFIAPI
-; InternalAsmThunk16 (
-; IN IA32_REGISTER_SET *RegisterSet,
-; IN OUT VOID *Transition
-; );
-;------------------------------------------------------------------------------
-InternalAsmThunk16 PROC USES ebp ebx esi edi ds es fs gs
- mov esi, [esp + 36] ; esi <- RegSet, the 1st parameter
- movzx edx, (IA32_REGS ptr [esi])._SS
- mov edi, (IA32_REGS ptr [esi])._ESP
- add edi, - (sizeof (IA32_REGS) + 4) ; reserve stack space
- mov ebx, edi ; ebx <- stack offset
- imul eax, edx, 16 ; eax <- edx * 16
- push sizeof (IA32_REGS) / 4
- add edi, eax ; edi <- linear address of 16-bit stack
- pop ecx
- rep movsd ; copy RegSet
- mov eax, [esp + 40] ; eax <- address of transition code
- mov esi, edx ; esi <- 16-bit stack segment
- lea edx, [eax + (SavedCr0 - m16Start)]
- mov ecx, eax
- and ecx, 0fh
- shl eax, 12
- lea ecx, [ecx + (_BackFromUserCode - m16Start)]
- mov ax, cx
- stosd ; [edi] <- return address of user code
- add eax, _RealAddr + 4 - _BackFromUserCode
- mov dword ptr [edx + (_RealAddr - SavedCr0)], eax
- sgdt fword ptr [edx + (SavedGdt - SavedCr0)]
- sidt fword ptr [esp + 36] ; save IDT stack in argument space
- mov eax, cr0
- mov [edx], eax ; save CR0 in SavedCr0
- and eax, 7ffffffeh ; clear PE, PG bits
- mov ebp, cr4
- mov [edx + (SavedCr4 - SavedCr0)], ebp
- and ebp, NOT 30h ; clear PAE, PSE bits
- push 10h
- pop ecx ; ecx <- selector for data segments
- lgdt fword ptr [edx + (_16Gdtr - SavedCr0)]
- pushfd ; Save df/if indeed
- call fword ptr [edx + (_EntryPoint - SavedCr0)]
- popfd
- lidt fword ptr [esp + 36] ; restore protected mode IDTR
- lea eax, [ebp - sizeof (IA32_REGS)] ; eax <- the address of IA32_REGS
- ret
-InternalAsmThunk16 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/Wbinvd.asm b/MdePkg/Library/BaseLib/Ia32/Wbinvd.asm
deleted file mode 100644
index 06db1c8..0000000
--- a/MdePkg/Library/BaseLib/Ia32/Wbinvd.asm
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; Wbinvd.Asm
-;
-; Abstract:
-;
-; AsmWbinvd function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .486p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; AsmWbinvd (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmWbinvd PROC
- wbinvd
- ret
-AsmWbinvd ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteCr0.asm b/MdePkg/Library/BaseLib/Ia32/WriteCr0.asm
deleted file mode 100644
index edcf710..0000000
--- a/MdePkg/Library/BaseLib/Ia32/WriteCr0.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteCr0.Asm
-;
-; Abstract:
-;
-; AsmWriteCr0 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmWriteCr0 (
-; UINTN Cr0
-; );
-;------------------------------------------------------------------------------
-AsmWriteCr0 PROC
- mov eax, [esp + 4]
- mov cr0, eax
- ret
-AsmWriteCr0 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteCr2.asm b/MdePkg/Library/BaseLib/Ia32/WriteCr2.asm
deleted file mode 100644
index 06c54b0..0000000
--- a/MdePkg/Library/BaseLib/Ia32/WriteCr2.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteCr2.Asm
-;
-; Abstract:
-;
-; AsmWriteCr2 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmWriteCr2 (
-; UINTN Cr2
-; );
-;------------------------------------------------------------------------------
-AsmWriteCr2 PROC
- mov eax, [esp + 4]
- mov cr2, eax
- ret
-AsmWriteCr2 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteCr3.asm b/MdePkg/Library/BaseLib/Ia32/WriteCr3.asm
deleted file mode 100644
index 69e87ba..0000000
--- a/MdePkg/Library/BaseLib/Ia32/WriteCr3.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteCr3.Asm
-;
-; Abstract:
-;
-; AsmWriteCr3 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmWriteCr3 (
-; UINTN Cr3
-; );
-;------------------------------------------------------------------------------
-AsmWriteCr3 PROC
- mov eax, [esp + 4]
- mov cr3, eax
- ret
-AsmWriteCr3 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteCr4.asm b/MdePkg/Library/BaseLib/Ia32/WriteCr4.asm
deleted file mode 100644
index ad45348..0000000
--- a/MdePkg/Library/BaseLib/Ia32/WriteCr4.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteCr4.Asm
-;
-; Abstract:
-;
-; AsmWriteCr4 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmWriteCr4 (
-; UINTN Cr4
-; );
-;------------------------------------------------------------------------------
-AsmWriteCr4 PROC
- mov eax, [esp + 4]
- mov cr4, eax
- ret
-AsmWriteCr4 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteDr0.asm b/MdePkg/Library/BaseLib/Ia32/WriteDr0.asm
deleted file mode 100644
index 5528134..0000000
--- a/MdePkg/Library/BaseLib/Ia32/WriteDr0.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteDr0.Asm
-;
-; Abstract:
-;
-; AsmWriteDr0 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmWriteDr0 (
-; IN UINTN Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteDr0 PROC
- mov eax, [esp + 4]
- mov dr0, eax
- ret
-AsmWriteDr0 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteDr1.asm b/MdePkg/Library/BaseLib/Ia32/WriteDr1.asm
deleted file mode 100644
index ad9f885..0000000
--- a/MdePkg/Library/BaseLib/Ia32/WriteDr1.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteDr1.Asm
-;
-; Abstract:
-;
-; AsmWriteDr1 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmWriteDr1 (
-; IN UINTN Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteDr1 PROC
- mov eax, [esp + 4]
- mov dr1, eax
- ret
-AsmWriteDr1 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteDr2.asm b/MdePkg/Library/BaseLib/Ia32/WriteDr2.asm
deleted file mode 100644
index 266ff7d..0000000
--- a/MdePkg/Library/BaseLib/Ia32/WriteDr2.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteDr2.Asm
-;
-; Abstract:
-;
-; AsmWriteDr2 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmWriteDr2 (
-; IN UINTN Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteDr2 PROC
- mov eax, [esp + 4]
- mov dr2, eax
- ret
-AsmWriteDr2 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteDr3.asm b/MdePkg/Library/BaseLib/Ia32/WriteDr3.asm
deleted file mode 100644
index b24d105..0000000
--- a/MdePkg/Library/BaseLib/Ia32/WriteDr3.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteDr3.Asm
-;
-; Abstract:
-;
-; AsmWriteDr3 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmWriteDr3 (
-; IN UINTN Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteDr3 PROC
- mov eax, [esp + 4]
- mov dr3, eax
- ret
-AsmWriteDr3 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteDr4.asm b/MdePkg/Library/BaseLib/Ia32/WriteDr4.asm
deleted file mode 100644
index bc8eef1..0000000
--- a/MdePkg/Library/BaseLib/Ia32/WriteDr4.asm
+++ /dev/null
@@ -1,48 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteDr4.Asm
-;
-; Abstract:
-;
-; AsmWriteDr4 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmWriteDr4 (
-; IN UINTN Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteDr4 PROC
- mov eax, [esp + 4]
- ;
- ; DR4 is alias to DR6 only if DE (in CR4) is cleared. Otherwise, writing to
- ; this register will cause a #UD exception.
- ;
- ; MS assembler doesn't support this instruction since no one would use it
- ; under normal circustances. Here opcode is used.
- ;
- DB 0fh, 23h, 0e0h
- ret
-AsmWriteDr4 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteDr5.asm b/MdePkg/Library/BaseLib/Ia32/WriteDr5.asm
deleted file mode 100644
index 0df8175..0000000
--- a/MdePkg/Library/BaseLib/Ia32/WriteDr5.asm
+++ /dev/null
@@ -1,48 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteDr5.Asm
-;
-; Abstract:
-;
-; AsmWriteDr5 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmWriteDr5 (
-; IN UINTN Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteDr5 PROC
- mov eax, [esp + 4]
- ;
- ; DR5 is alias to DR7 only if DE (in CR4) is cleared. Otherwise, writing to
- ; this register will cause a #UD exception.
- ;
- ; MS assembler doesn't support this instruction since no one would use it
- ; under normal circustances. Here opcode is used.
- ;
- DB 0fh, 23h, 0e8h
- ret
-AsmWriteDr5 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteDr6.asm b/MdePkg/Library/BaseLib/Ia32/WriteDr6.asm
deleted file mode 100644
index dc399ea..0000000
--- a/MdePkg/Library/BaseLib/Ia32/WriteDr6.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteDr6.Asm
-;
-; Abstract:
-;
-; AsmWriteDr6 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmWriteDr6 (
-; IN UINTN Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteDr6 PROC
- mov eax, [esp + 4]
- mov dr6, eax
- ret
-AsmWriteDr6 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteDr7.asm b/MdePkg/Library/BaseLib/Ia32/WriteDr7.asm
deleted file mode 100644
index ace8822..0000000
--- a/MdePkg/Library/BaseLib/Ia32/WriteDr7.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteDr7.Asm
-;
-; Abstract:
-;
-; AsmWriteDr7 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmWriteDr7 (
-; IN UINTN Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteDr7 PROC
- mov eax, [esp + 4]
- mov dr7, eax
- ret
-AsmWriteDr7 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteGdtr.asm b/MdePkg/Library/BaseLib/Ia32/WriteGdtr.asm
deleted file mode 100644
index d95ef31..0000000
--- a/MdePkg/Library/BaseLib/Ia32/WriteGdtr.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteGdtr.Asm
-;
-; Abstract:
-;
-; AsmWriteGdtr function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; InternalX86WriteGdtr (
-; IN CONST IA32_DESCRIPTOR *Idtr
-; );
-;------------------------------------------------------------------------------
-InternalX86WriteGdtr PROC
- mov eax, [esp + 4]
- lgdt fword ptr [eax]
- ret
-InternalX86WriteGdtr ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteIdtr.asm b/MdePkg/Library/BaseLib/Ia32/WriteIdtr.asm
deleted file mode 100644
index da15433..0000000
--- a/MdePkg/Library/BaseLib/Ia32/WriteIdtr.asm
+++ /dev/null
@@ -1,44 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteIdtr.Asm
-;
-; Abstract:
-;
-; AsmWriteIdtr function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; InternalX86WriteIdtr (
-; IN CONST IA32_DESCRIPTOR *Idtr
-; );
-;------------------------------------------------------------------------------
-InternalX86WriteIdtr PROC
- mov eax, [esp + 4]
- pushfd
- cli
- lidt fword ptr [eax]
- popfd
- ret
-InternalX86WriteIdtr ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteLdtr.asm b/MdePkg/Library/BaseLib/Ia32/WriteLdtr.asm
deleted file mode 100644
index adec67d..0000000
--- a/MdePkg/Library/BaseLib/Ia32/WriteLdtr.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteLdtr.Asm
-;
-; Abstract:
-;
-; AsmWriteLdtr function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386p
- .model flat
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; AsmWriteLdtr (
-; IN UINT16 Ldtr
-; );
-;------------------------------------------------------------------------------
-AsmWriteLdtr PROC
- mov eax, [esp + 4]
- lldt ax
- ret
-AsmWriteLdtr ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteMm0.asm b/MdePkg/Library/BaseLib/Ia32/WriteMm0.asm
deleted file mode 100644
index de89a86..0000000
--- a/MdePkg/Library/BaseLib/Ia32/WriteMm0.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteMm0.Asm
-;
-; Abstract:
-;
-; AsmWriteMm0 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586
- .model flat,C
- .mmx
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; AsmWriteMm0 (
-; IN UINT64 Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteMm0 PROC
- movq mm0, [esp + 4]
- ret
-AsmWriteMm0 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteMm1.asm b/MdePkg/Library/BaseLib/Ia32/WriteMm1.asm
deleted file mode 100644
index 2bb255f..0000000
--- a/MdePkg/Library/BaseLib/Ia32/WriteMm1.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteMm1.Asm
-;
-; Abstract:
-;
-; AsmWriteMm1 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586
- .model flat,C
- .mmx
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; AsmWriteMm1 (
-; IN UINT64 Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteMm1 PROC
- movq mm1, [esp + 4]
- ret
-AsmWriteMm1 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteMm2.asm b/MdePkg/Library/BaseLib/Ia32/WriteMm2.asm
deleted file mode 100644
index 99a9fc8..0000000
--- a/MdePkg/Library/BaseLib/Ia32/WriteMm2.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteMm2.Asm
-;
-; Abstract:
-;
-; AsmWriteMm2 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586
- .model flat,C
- .mmx
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; AsmWriteMm2 (
-; IN UINT64 Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteMm2 PROC
- movq mm2, [esp + 4]
- ret
-AsmWriteMm2 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteMm3.asm b/MdePkg/Library/BaseLib/Ia32/WriteMm3.asm
deleted file mode 100644
index 7ae32ed..0000000
--- a/MdePkg/Library/BaseLib/Ia32/WriteMm3.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteMm3.Asm
-;
-; Abstract:
-;
-; AsmWriteMm3 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586
- .model flat,C
- .mmx
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; AsmWriteMm3 (
-; IN UINT64 Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteMm3 PROC
- movq mm3, [esp + 4]
- ret
-AsmWriteMm3 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteMm4.asm b/MdePkg/Library/BaseLib/Ia32/WriteMm4.asm
deleted file mode 100644
index 0ede40e..0000000
--- a/MdePkg/Library/BaseLib/Ia32/WriteMm4.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteMm4.Asm
-;
-; Abstract:
-;
-; AsmWriteMm4 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586
- .model flat,C
- .mmx
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; AsmWriteMm4 (
-; IN UINT64 Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteMm4 PROC
- movq mm4, [esp + 4]
- ret
-AsmWriteMm4 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteMm5.asm b/MdePkg/Library/BaseLib/Ia32/WriteMm5.asm
deleted file mode 100644
index 1438a88..0000000
--- a/MdePkg/Library/BaseLib/Ia32/WriteMm5.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteMm5.Asm
-;
-; Abstract:
-;
-; AsmWriteMm5 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586
- .model flat,C
- .mmx
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; AsmWriteMm5 (
-; IN UINT64 Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteMm5 PROC
- movq mm5, [esp + 4]
- ret
-AsmWriteMm5 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteMm6.asm b/MdePkg/Library/BaseLib/Ia32/WriteMm6.asm
deleted file mode 100644
index d7bce97..0000000
--- a/MdePkg/Library/BaseLib/Ia32/WriteMm6.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteMm6.Asm
-;
-; Abstract:
-;
-; AsmWriteMm6 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586
- .model flat,C
- .mmx
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; AsmWriteMm6 (
-; IN UINT64 Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteMm6 PROC
- movq mm6, [esp + 4]
- ret
-AsmWriteMm6 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteMm7.asm b/MdePkg/Library/BaseLib/Ia32/WriteMm7.asm
deleted file mode 100644
index c6920b4..0000000
--- a/MdePkg/Library/BaseLib/Ia32/WriteMm7.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteMm7.Asm
-;
-; Abstract:
-;
-; AsmWriteMm7 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586
- .model flat,C
- .mmx
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; AsmWriteMm7 (
-; IN UINT64 Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteMm7 PROC
- movq mm7, [esp + 4]
- ret
-AsmWriteMm7 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/Ia32/WriteMsr64.asm b/MdePkg/Library/BaseLib/Ia32/WriteMsr64.asm
deleted file mode 100644
index 109adc8..0000000
--- a/MdePkg/Library/BaseLib/Ia32/WriteMsr64.asm
+++ /dev/null
@@ -1,44 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteMsr64.Asm
-;
-; Abstract:
-;
-; AsmWriteMsr64 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586p
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; AsmWriteMsr64 (
-; IN UINT32 Index,
-; IN UINT64 Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteMsr64 PROC
- mov edx, [esp + 12]
- mov eax, [esp + 8]
- mov ecx, [esp + 4]
- wrmsr
- ret
-AsmWriteMsr64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/CpuBreakpoint.asm b/MdePkg/Library/BaseLib/X64/CpuBreakpoint.asm
deleted file mode 100644
index 25dd9b4..0000000
--- a/MdePkg/Library/BaseLib/X64/CpuBreakpoint.asm
+++ /dev/null
@@ -1,37 +0,0 @@
-;------------------------------------------------------------------------------ ;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CpuBreakpoint.Asm
-;
-; Abstract:
-;
-; CpuBreakpoint function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; CpuBreakpoint (
-; VOID
-; );
-;------------------------------------------------------------------------------
-CpuBreakpoint PROC
- int 3
- ret
-CpuBreakpoint ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/CpuId.asm b/MdePkg/Library/BaseLib/X64/CpuId.asm
deleted file mode 100644
index c6182c1..0000000
--- a/MdePkg/Library/BaseLib/X64/CpuId.asm
+++ /dev/null
@@ -1,62 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CpuId.Asm
-;
-; Abstract:
-;
-; AsmCpuid function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; AsmCpuid (
-; IN UINT32 RegisterInEax,
-; OUT UINT32 *RegisterOutEax OPTIONAL,
-; OUT UINT32 *RegisterOutEbx OPTIONAL,
-; OUT UINT32 *RegisterOutEcx OPTIONAL,
-; OUT UINT32 *RegisterOutEdx OPTIONAL
-; )
-;------------------------------------------------------------------------------
-AsmCpuid PROC USES rbx
- mov eax, ecx
- push rax ; save Index on stack
- push rdx
- cpuid
- test r9, r9
- jz @F
- mov [r9], ecx
-@@:
- pop rcx
- jrcxz @F
- mov [rcx], eax
-@@:
- mov rcx, r8
- jrcxz @F
- mov [rcx], ebx
-@@:
- mov rcx, [rsp + 38h]
- jrcxz @F
- mov [rcx], edx
-@@:
- pop rax ; restore Index to rax as return value
- ret
-AsmCpuid ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/CpuIdEx.asm b/MdePkg/Library/BaseLib/X64/CpuIdEx.asm
deleted file mode 100644
index b41ba8e..0000000
--- a/MdePkg/Library/BaseLib/X64/CpuIdEx.asm
+++ /dev/null
@@ -1,64 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CpuIdEx.Asm
-;
-; Abstract:
-;
-; AsmCpuidEx function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINT32
-; EFIAPI
-; AsmCpuidEx (
-; IN UINT32 RegisterInEax,
-; IN UINT32 RegisterInEcx,
-; OUT UINT32 *RegisterOutEax OPTIONAL,
-; OUT UINT32 *RegisterOutEbx OPTIONAL,
-; OUT UINT32 *RegisterOutEcx OPTIONAL,
-; OUT UINT32 *RegisterOutEdx OPTIONAL
-; )
-;------------------------------------------------------------------------------
-AsmCpuidEx PROC USES rbx
- mov eax, ecx
- mov ecx, edx
- push rax ; save Index on stack
- cpuid
- mov r10, [rsp + 38h]
- test r10, r10
- jz @F
- mov [r10], ecx
-@@:
- mov rcx, r8
- jrcxz @F
- mov [rcx], eax
-@@:
- mov rcx, r9
- jrcxz @F
- mov [rcx], ebx
-@@:
- mov rcx, [rsp + 40h]
- jrcxz @F
- mov [rcx], edx
-@@:
- pop rax ; restore Index to rax as return value
- ret
-AsmCpuidEx ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/CpuPause.asm b/MdePkg/Library/BaseLib/X64/CpuPause.asm
deleted file mode 100644
index a84465f..0000000
--- a/MdePkg/Library/BaseLib/X64/CpuPause.asm
+++ /dev/null
@@ -1,37 +0,0 @@
-;------------------------------------------------------------------------------ ;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CpuPause.Asm
-;
-; Abstract:
-;
-; CpuPause function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; CpuPause (
-; VOID
-; );
-;------------------------------------------------------------------------------
-CpuPause PROC
- pause
- ret
-CpuPause ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/DisableCache.asm b/MdePkg/Library/BaseLib/X64/DisableCache.asm
deleted file mode 100644
index 9fd5bd7..0000000
--- a/MdePkg/Library/BaseLib/X64/DisableCache.asm
+++ /dev/null
@@ -1,43 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; DisableCache.Asm
-;
-; Abstract:
-;
-; Set the CD bit of CR0 to 1, clear the NW bit of CR0 to 0, and flush all caches with a
-; WBINVD instruction.
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; AsmDisableCache (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmDisableCache PROC
- mov rax, cr0
- bts rax, 30
- btr rax, 29
- mov cr0, rax
- wbinvd
- ret
-AsmDisableCache ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/DisableInterrupts.asm b/MdePkg/Library/BaseLib/X64/DisableInterrupts.asm
deleted file mode 100644
index 4e54e0d..0000000
--- a/MdePkg/Library/BaseLib/X64/DisableInterrupts.asm
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; DisableInterrupts.Asm
-;
-; Abstract:
-;
-; DisableInterrupts function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; DisableInterrupts (
-; VOID
-; );
-;------------------------------------------------------------------------------
-DisableInterrupts PROC
- cli
- ret
-DisableInterrupts ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/DisablePaging64.asm b/MdePkg/Library/BaseLib/X64/DisablePaging64.asm
deleted file mode 100644
index 32dcd5a..0000000
--- a/MdePkg/Library/BaseLib/X64/DisablePaging64.asm
+++ /dev/null
@@ -1,84 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; DisablePaging64.Asm
-;
-; Abstract:
-;
-; AsmDisablePaging64 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; InternalX86DisablePaging64 (
-; IN UINT16 Cs,
-; IN UINT32 EntryPoint,
-; IN UINT32 Context1, OPTIONAL
-; IN UINT32 Context2, OPTIONAL
-; IN UINT32 NewStack
-; );
-;------------------------------------------------------------------------------
-InternalX86DisablePaging64 PROC
- cli
- lea rsi, @F ; rsi <- The start address of transition code
- mov edi, [rsp + 28h] ; rdi <- New stack
- lea rax, mTransitionEnd ; rax <- end of transition code
- sub rax, rsi ; rax <- The size of transition piece code
- add rax, 4 ; Round RAX up to the next 4 byte boundary
- and al, 0fch
- sub rdi, rax ; rdi <- Use stack to hold transition code
- mov r10d, edi ; r10 <- The start address of transicition code below 4G
- push rcx ; save rcx to stack
- mov rcx, rax ; rcx <- The size of transition piece code
- rep movsb ; copy transition code to top of new stack which must be below 4GB
- pop rcx ; restore rcx
-
- mov esi, r8d
- mov edi, r9d
- mov eax, r10d ; eax <- start of the transition code on the stack
- 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
- DB 48h ; prefix to composite "retq" with next "retf"
- retf ; Use far return to load CS register from stack
-
-; Start of transition code
-@@:
- mov esp, eax ; set up new stack
- mov rax, cr0
- btr eax, 31 ; Clear CR0.PG
- mov cr0, rax ; disable paging and caches
-
- mov ebx, edx ; save EntryPoint to rbx, for rdmsr will overwrite rdx
- mov ecx, 0c0000080h
- rdmsr
- and ah, NOT 1 ; clear LME
- wrmsr
- mov rax, cr4
- and al, NOT (1 SHL 5) ; clear PAE
- mov cr4, rax
- push rdi ; push Context2
- push rsi ; push Context1
- call rbx ; transfer control to EntryPoint
- hlt ; no one should get here
-InternalX86DisablePaging64 ENDP
-
-mTransitionEnd LABEL BYTE
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/EnableCache.asm b/MdePkg/Library/BaseLib/X64/EnableCache.asm
deleted file mode 100644
index 88b71d7..0000000
--- a/MdePkg/Library/BaseLib/X64/EnableCache.asm
+++ /dev/null
@@ -1,43 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; EnableCache.Asm
-;
-; Abstract:
-;
-; Flush all caches with a WBINVD instruction, clear the CD bit of CR0 to 0, and clear
-; the NW bit of CR0 to 0
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; AsmEnableCache (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmEnableCache PROC
- wbinvd
- mov rax, cr0
- btr rax, 29
- btr rax, 30
- mov cr0, rax
- ret
-AsmEnableCache ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/EnableDisableInterrupts.asm b/MdePkg/Library/BaseLib/X64/EnableDisableInterrupts.asm
deleted file mode 100644
index f6b2d9c..0000000
--- a/MdePkg/Library/BaseLib/X64/EnableDisableInterrupts.asm
+++ /dev/null
@@ -1,39 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; EnableDisableInterrupts.Asm
-;
-; Abstract:
-;
-; EnableDisableInterrupts function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; EnableDisableInterrupts (
-; VOID
-; );
-;------------------------------------------------------------------------------
-EnableDisableInterrupts PROC
- sti
- cli
- ret
-EnableDisableInterrupts ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/EnableInterrupts.asm b/MdePkg/Library/BaseLib/X64/EnableInterrupts.asm
deleted file mode 100644
index e776c27..0000000
--- a/MdePkg/Library/BaseLib/X64/EnableInterrupts.asm
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; EnableInterrupts.Asm
-;
-; Abstract:
-;
-; EnableInterrupts function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; EnableInterrupts (
-; VOID
-; );
-;------------------------------------------------------------------------------
-EnableInterrupts PROC
- sti
- ret
-EnableInterrupts ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/FlushCacheLine.asm b/MdePkg/Library/BaseLib/X64/FlushCacheLine.asm
deleted file mode 100644
index e30f9a9..0000000
--- a/MdePkg/Library/BaseLib/X64/FlushCacheLine.asm
+++ /dev/null
@@ -1,39 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; FlushCacheLine.Asm
-;
-; Abstract:
-;
-; AsmFlushCacheLine function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; EFIAPI
-; AsmFlushCacheLine (
-; IN VOID *LinearAddress
-; );
-;------------------------------------------------------------------------------
-AsmFlushCacheLine PROC
- clflush [rcx]
- mov rax, rcx
- ret
-AsmFlushCacheLine ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/FxRestore.asm b/MdePkg/Library/BaseLib/X64/FxRestore.asm
deleted file mode 100644
index 8496331..0000000
--- a/MdePkg/Library/BaseLib/X64/FxRestore.asm
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; FxRestore.Asm
-;
-; Abstract:
-;
-; AsmFxRestore function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; InternalX86FxRestore (
-; IN CONST IA32_FX_BUFFER *Buffer
-; );
-;------------------------------------------------------------------------------
-InternalX86FxRestore PROC
- fxrstor [rcx]
- ret
-InternalX86FxRestore ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/FxSave.asm b/MdePkg/Library/BaseLib/X64/FxSave.asm
deleted file mode 100644
index d41e935..0000000
--- a/MdePkg/Library/BaseLib/X64/FxSave.asm
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; FxSave.Asm
-;
-; Abstract:
-;
-; AsmFxSave function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; InternalX86FxSave (
-; OUT IA32_FX_BUFFER *Buffer
-; );
-;------------------------------------------------------------------------------
-InternalX86FxSave PROC
- fxsave [rcx]
- ret
-InternalX86FxSave ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/Invd.asm b/MdePkg/Library/BaseLib/X64/Invd.asm
deleted file mode 100644
index ed6f95d..0000000
--- a/MdePkg/Library/BaseLib/X64/Invd.asm
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; Invd.Asm
-;
-; Abstract:
-;
-; AsmInvd function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; AsmInvd (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmInvd PROC
- invd
- ret
-AsmInvd ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/LongJump.asm b/MdePkg/Library/BaseLib/X64/LongJump.asm
deleted file mode 100644
index eaf32ea..0000000
--- a/MdePkg/Library/BaseLib/X64/LongJump.asm
+++ /dev/null
@@ -1,58 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; LongJump.Asm
-;
-; Abstract:
-;
-; Implementation of _LongJump() on x64.
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; InternalLongJump (
-; IN BASE_LIBRARY_JUMP_BUFFER *JumpBuffer,
-; IN UINTN Value
-; );
-;------------------------------------------------------------------------------
-InternalLongJump PROC
- mov rbx, [rcx]
- mov rsp, [rcx + 8]
- mov rbp, [rcx + 10h]
- mov rdi, [rcx + 18h]
- mov rsi, [rcx + 20h]
- mov r12, [rcx + 28h]
- mov r13, [rcx + 30h]
- mov r14, [rcx + 38h]
- mov r15, [rcx + 40h]
- ; load non-volatile fp registers
- ldmxcsr [rcx + 50h]
- movdqu xmm6, [rcx + 58h]
- movdqu xmm7, [rcx + 68h]
- movdqu xmm8, [rcx + 78h]
- movdqu xmm9, [rcx + 88h]
- movdqu xmm10, [rcx + 98h]
- movdqu xmm11, [rcx + 0A8h]
- movdqu xmm12, [rcx + 0B8h]
- movdqu xmm13, [rcx + 0C8h]
- movdqu xmm14, [rcx + 0D8h]
- movdqu xmm15, [rcx + 0E8h]
- mov rax, rdx ; set return value
- jmp qword ptr [rcx + 48h]
-InternalLongJump ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/Monitor.asm b/MdePkg/Library/BaseLib/X64/Monitor.asm
deleted file mode 100644
index 8ae6e73..0000000
--- a/MdePkg/Library/BaseLib/X64/Monitor.asm
+++ /dev/null
@@ -1,43 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; Monitor.Asm
-;
-; Abstract:
-;
-; AsmMonitor function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; AsmMonitor (
-; IN UINTN Eax,
-; IN UINTN Ecx,
-; IN UINTN Edx
-; );
-;------------------------------------------------------------------------------
-AsmMonitor PROC
- mov eax, ecx
- mov ecx, edx
- mov edx, r8d
- DB 0fh, 1, 0c8h ; monitor
- ret
-AsmMonitor ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/Mwait.asm b/MdePkg/Library/BaseLib/X64/Mwait.asm
deleted file mode 100644
index 02ec863..0000000
--- a/MdePkg/Library/BaseLib/X64/Mwait.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; Mwait.Asm
-;
-; Abstract:
-;
-; AsmMwait function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; AsmMwait (
-; IN UINTN Eax,
-; IN UINTN Ecx
-; );
-;------------------------------------------------------------------------------
-AsmMwait PROC
- mov eax, ecx
- mov ecx, edx
- DB 0fh, 1, 0c9h ; mwait
- ret
-AsmMwait ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/RdRand.asm b/MdePkg/Library/BaseLib/X64/RdRand.asm
deleted file mode 100644
index 8e2074e..0000000
--- a/MdePkg/Library/BaseLib/X64/RdRand.asm
+++ /dev/null
@@ -1,83 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; RdRand.asm
-;
-; Abstract:
-;
-; Generates random number through CPU RdRand instruction under 64-bit platform.
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; Generates a 16 bit random number through RDRAND instruction.
-; Return TRUE if Rand generated successfully, or FALSE if not.
-;
-; BOOLEAN EFIAPI InternalX86RdRand16 (UINT16 *Rand);
-;------------------------------------------------------------------------------
-InternalX86RdRand16 PROC
- ; rdrand ax ; generate a 16 bit RN into eax,
- ; CF=1 if RN generated ok, otherwise CF=0
- db 0fh, 0c7h, 0f0h ; 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
-rn16_ok:
- mov [rcx], ax
- mov rax, 1
- ret
-InternalX86RdRand16 ENDP
-
-;------------------------------------------------------------------------------
-; Generates a 32 bit random number through RDRAND instruction.
-; Return TRUE if Rand generated successfully, or FALSE if not.
-;
-; BOOLEAN EFIAPI InternalX86RdRand32 (UINT32 *Rand);
-;------------------------------------------------------------------------------
-InternalX86RdRand32 PROC
- ; rdrand eax ; generate a 32 bit RN into eax,
- ; CF=1 if RN generated ok, otherwise CF=0
- db 0fh, 0c7h, 0f0h ; 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
-rn32_ok:
- mov [rcx], eax
- mov rax, 1
- ret
-InternalX86RdRand32 ENDP
-
-;------------------------------------------------------------------------------
-; Generates a 64 bit random number through one RDRAND instruction.
-; Return TRUE if Rand generated successfully, or FALSE if not.
-;
-; BOOLEAN EFIAPI InternalX86RdRand64 (UINT64 *Random);
-;------------------------------------------------------------------------------
-InternalX86RdRand64 PROC
- ; rdrand rax ; generate a 64 bit RN into rax,
- ; CF=1 if RN generated ok, otherwise CF=0
- db 048h, 0fh, 0c7h, 0f0h ; 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
-rn64_ok:
- mov [rcx], rax
- mov rax, 1
- ret
-InternalX86RdRand64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadCr0.asm b/MdePkg/Library/BaseLib/X64/ReadCr0.asm
deleted file mode 100644
index c3ff5b0..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadCr0.asm
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadCr0.Asm
-;
-; Abstract:
-;
-; AsmReadCr0 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmReadCr0 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadCr0 PROC
- mov rax, cr0
- ret
-AsmReadCr0 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadCr2.asm b/MdePkg/Library/BaseLib/X64/ReadCr2.asm
deleted file mode 100644
index f1473b9..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadCr2.asm
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadCr2.Asm
-;
-; Abstract:
-;
-; AsmReadCr2 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmReadCr2 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadCr2 PROC
- mov rax, cr2
- ret
-AsmReadCr2 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadCr3.asm b/MdePkg/Library/BaseLib/X64/ReadCr3.asm
deleted file mode 100644
index 432468e..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadCr3.asm
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadCr3.Asm
-;
-; Abstract:
-;
-; AsmReadCr3 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmReadCr3 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadCr3 PROC
- mov rax, cr3
- ret
-AsmReadCr3 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadCr4.asm b/MdePkg/Library/BaseLib/X64/ReadCr4.asm
deleted file mode 100644
index 17d4499..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadCr4.asm
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadCr4.Asm
-;
-; Abstract:
-;
-; AsmReadCr4 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmReadCr4 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadCr4 PROC
- mov rax, cr4
- ret
-AsmReadCr4 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadCs.asm b/MdePkg/Library/BaseLib/X64/ReadCs.asm
deleted file mode 100644
index ac3040c..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadCs.asm
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadCs.Asm
-;
-; Abstract:
-;
-; AsmReadCs function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINT16
-; EFIAPI
-; AsmReadCs (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadCs PROC
- mov eax, cs
- ret
-AsmReadCs ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadDr0.asm b/MdePkg/Library/BaseLib/X64/ReadDr0.asm
deleted file mode 100644
index 8ac85ad..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadDr0.asm
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadDr0.Asm
-;
-; Abstract:
-;
-; AsmReadDr0 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmReadDr0 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadDr0 PROC
- mov rax, dr0
- ret
-AsmReadDr0 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadDr1.asm b/MdePkg/Library/BaseLib/X64/ReadDr1.asm
deleted file mode 100644
index 8b042e2..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadDr1.asm
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadDr1.Asm
-;
-; Abstract:
-;
-; AsmReadDr1 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmReadDr1 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadDr1 PROC
- mov rax, dr1
- ret
-AsmReadDr1 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadDr2.asm b/MdePkg/Library/BaseLib/X64/ReadDr2.asm
deleted file mode 100644
index 9361756..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadDr2.asm
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadDr2.Asm
-;
-; Abstract:
-;
-; AsmReadDr2 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmReadDr2 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadDr2 PROC
- mov rax, dr2
- ret
-AsmReadDr2 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadDr3.asm b/MdePkg/Library/BaseLib/X64/ReadDr3.asm
deleted file mode 100644
index a25fc9d..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadDr3.asm
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadDr3.Asm
-;
-; Abstract:
-;
-; AsmReadDr3 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmReadDr3 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadDr3 PROC
- mov rax, dr3
- ret
-AsmReadDr3 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadDr4.asm b/MdePkg/Library/BaseLib/X64/ReadDr4.asm
deleted file mode 100644
index dc6c5e9..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadDr4.asm
+++ /dev/null
@@ -1,42 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadDr4.Asm
-;
-; Abstract:
-;
-; AsmReadDr4 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmReadDr4 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadDr4 PROC
- ;
- ; 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
- ;
- DB 0fh, 21h, 0e0h
- ret
-AsmReadDr4 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadDr5.asm b/MdePkg/Library/BaseLib/X64/ReadDr5.asm
deleted file mode 100644
index 7e31352..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadDr5.asm
+++ /dev/null
@@ -1,42 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadDr5.Asm
-;
-; Abstract:
-;
-; AsmReadDr5 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmReadDr5 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadDr5 PROC
- ;
- ; 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
- ;
- DB 0fh, 21h, 0e8h
- ret
-AsmReadDr5 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadDr6.asm b/MdePkg/Library/BaseLib/X64/ReadDr6.asm
deleted file mode 100644
index ee6b9ec..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadDr6.asm
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadDr6.Asm
-;
-; Abstract:
-;
-; AsmReadDr6 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmReadDr6 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadDr6 PROC
- mov rax, dr6
- ret
-AsmReadDr6 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadDr7.asm b/MdePkg/Library/BaseLib/X64/ReadDr7.asm
deleted file mode 100644
index 7173057..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadDr7.asm
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadDr7.Asm
-;
-; Abstract:
-;
-; AsmReadDr7 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmReadDr7 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadDr7 PROC
- mov rax, dr7
- ret
-AsmReadDr7 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadDs.asm b/MdePkg/Library/BaseLib/X64/ReadDs.asm
deleted file mode 100644
index d67512c..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadDs.asm
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadDs.Asm
-;
-; Abstract:
-;
-; AsmReadDs function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINT16
-; EFIAPI
-; AsmReadDs (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadDs PROC
- mov eax, ds
- ret
-AsmReadDs ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadEflags.asm b/MdePkg/Library/BaseLib/X64/ReadEflags.asm
deleted file mode 100644
index b3ecc7c..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadEflags.asm
+++ /dev/null
@@ -1,39 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadEflags.Asm
-;
-; Abstract:
-;
-; AsmReadEflags function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmReadEflags (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadEflags PROC
- pushfq
- pop rax
- ret
-AsmReadEflags ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadEs.asm b/MdePkg/Library/BaseLib/X64/ReadEs.asm
deleted file mode 100644
index 76cffdc..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadEs.asm
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadEs.Asm
-;
-; Abstract:
-;
-; AsmReadEs function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINT16
-; EFIAPI
-; AsmReadEs (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadEs PROC
- mov eax, es
- ret
-AsmReadEs ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadFs.asm b/MdePkg/Library/BaseLib/X64/ReadFs.asm
deleted file mode 100644
index e91aa14..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadFs.asm
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadFs.Asm
-;
-; Abstract:
-;
-; AsmReadFs function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINT16
-; EFIAPI
-; AsmReadFs (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadFs PROC
- mov eax, fs
- ret
-AsmReadFs ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadGdtr.asm b/MdePkg/Library/BaseLib/X64/ReadGdtr.asm
deleted file mode 100644
index ebc60bd..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadGdtr.asm
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadGdtr.Asm
-;
-; Abstract:
-;
-; AsmReadGdtr function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; InternalX86ReadGdtr (
-; OUT IA32_DESCRIPTOR *Gdtr
-; );
-;------------------------------------------------------------------------------
-InternalX86ReadGdtr PROC
- sgdt fword ptr [rcx]
- ret
-InternalX86ReadGdtr ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadGs.asm b/MdePkg/Library/BaseLib/X64/ReadGs.asm
deleted file mode 100644
index f185c38..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadGs.asm
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadGs.Asm
-;
-; Abstract:
-;
-; AsmReadGs function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINT16
-; EFIAPI
-; AsmReadGs (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadGs PROC
- mov eax, gs
- ret
-AsmReadGs ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadIdtr.asm b/MdePkg/Library/BaseLib/X64/ReadIdtr.asm
deleted file mode 100644
index 4d53feb..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadIdtr.asm
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadIdtr.Asm
-;
-; Abstract:
-;
-; AsmReadIdtr function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; InternalX86ReadIdtr (
-; OUT IA32_DESCRIPTOR *Idtr
-; );
-;------------------------------------------------------------------------------
-InternalX86ReadIdtr PROC
- sidt fword ptr [rcx]
- ret
-InternalX86ReadIdtr ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadLdtr.asm b/MdePkg/Library/BaseLib/X64/ReadLdtr.asm
deleted file mode 100644
index dbe517e..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadLdtr.asm
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadLdtr.Asm
-;
-; Abstract:
-;
-; AsmReadLdtr function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINT16
-; EFIAPI
-; AsmReadLdtr (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadLdtr PROC
- sldt eax
- ret
-AsmReadLdtr ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadMm0.asm b/MdePkg/Library/BaseLib/X64/ReadMm0.asm
deleted file mode 100644
index 99212c7..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadMm0.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadMm0.Asm
-;
-; Abstract:
-;
-; AsmReadMm0 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; AsmReadMm0 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadMm0 PROC
- ;
- ; 64-bit MASM doesn't support MMX instructions, so use opcode here
- ;
- DB 48h, 0fh, 7eh, 0c0h
- ret
-AsmReadMm0 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadMm1.asm b/MdePkg/Library/BaseLib/X64/ReadMm1.asm
deleted file mode 100644
index 7a9ae7c..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadMm1.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadMm1.Asm
-;
-; Abstract:
-;
-; AsmReadMm1 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; AsmReadMm1 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadMm1 PROC
- ;
- ; 64-bit MASM doesn't support MMX instructions, so use opcode here
- ;
- DB 48h, 0fh, 7eh, 0c8h
- ret
-AsmReadMm1 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadMm2.asm b/MdePkg/Library/BaseLib/X64/ReadMm2.asm
deleted file mode 100644
index 337ac73..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadMm2.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadMm2.Asm
-;
-; Abstract:
-;
-; AsmReadMm2 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; AsmReadMm2 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadMm2 PROC
- ;
- ; 64-bit MASM doesn't support MMX instructions, so use opcode here
- ;
- DB 48h, 0fh, 7eh, 0d0h
- ret
-AsmReadMm2 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadMm3.asm b/MdePkg/Library/BaseLib/X64/ReadMm3.asm
deleted file mode 100644
index 266e29a..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadMm3.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadMm3.Asm
-;
-; Abstract:
-;
-; AsmReadMm3 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; AsmReadMm3 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadMm3 PROC
- ;
- ; 64-bit MASM doesn't support MMX instructions, so use opcode here
- ;
- DB 48h, 0fh, 7eh, 0d8h
- ret
-AsmReadMm3 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadMm4.asm b/MdePkg/Library/BaseLib/X64/ReadMm4.asm
deleted file mode 100644
index 9cc7435..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadMm4.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadMm4.Asm
-;
-; Abstract:
-;
-; AsmReadMm4 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; AsmReadMm4 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadMm4 PROC
- ;
- ; 64-bit MASM doesn't support MMX instructions, so use opcode here
- ;
- DB 48h, 0fh, 7eh, 0e0h
- ret
-AsmReadMm4 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadMm5.asm b/MdePkg/Library/BaseLib/X64/ReadMm5.asm
deleted file mode 100644
index b665225..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadMm5.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadMm5.Asm
-;
-; Abstract:
-;
-; AsmReadMm5 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; AsmReadMm5 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadMm5 PROC
- ;
- ; 64-bit MASM doesn't support MMX instructions, so use opcode here
- ;
- DB 48h, 0fh, 7eh, 0e8h
- ret
-AsmReadMm5 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadMm6.asm b/MdePkg/Library/BaseLib/X64/ReadMm6.asm
deleted file mode 100644
index 1e3ebc5..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadMm6.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadMm6.Asm
-;
-; Abstract:
-;
-; AsmReadMm6 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; AsmReadMm6 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadMm6 PROC
- ;
- ; 64-bit MASM doesn't support MMX instructions, so use opcode here
- ;
- DB 48h, 0fh, 7eh, 0f0h
- ret
-AsmReadMm6 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadMm7.asm b/MdePkg/Library/BaseLib/X64/ReadMm7.asm
deleted file mode 100644
index 8228672..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadMm7.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadMm7.Asm
-;
-; Abstract:
-;
-; AsmReadMm7 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; AsmReadMm7 (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadMm7 PROC
- ;
- ; 64-bit MASM doesn't support MMX instructions, so use opcode here
- ;
- DB 48h, 0fh, 7eh, 0f8h
- ret
-AsmReadMm7 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadMsr64.asm b/MdePkg/Library/BaseLib/X64/ReadMsr64.asm
deleted file mode 100644
index 878ed18..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadMsr64.asm
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadMsr64.Asm
-;
-; Abstract:
-;
-; AsmReadMsr64 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; AsmReadMsr64 (
-; IN UINT32 Index
-; );
-;------------------------------------------------------------------------------
-AsmReadMsr64 PROC
- rdmsr ; edx & eax are zero extended
- shl rdx, 20h
- or rax, rdx
- ret
-AsmReadMsr64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadPmc.asm b/MdePkg/Library/BaseLib/X64/ReadPmc.asm
deleted file mode 100644
index 1b74f67..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadPmc.asm
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadPmc.Asm
-;
-; Abstract:
-;
-; AsmReadPmc function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; AsmReadPmc (
-; IN UINT32 PmcIndex
-; );
-;------------------------------------------------------------------------------
-AsmReadPmc PROC
- rdpmc
- shl rdx, 20h
- or rax, rdx
- ret
-AsmReadPmc ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadSs.asm b/MdePkg/Library/BaseLib/X64/ReadSs.asm
deleted file mode 100644
index 8f308c4..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadSs.asm
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadSs.Asm
-;
-; Abstract:
-;
-; AsmReadSs function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINT16
-; EFIAPI
-; AsmReadSs (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadSs PROC
- mov eax, ss
- ret
-AsmReadSs ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadTr.asm b/MdePkg/Library/BaseLib/X64/ReadTr.asm
deleted file mode 100644
index a114f53..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadTr.asm
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadTr.Asm
-;
-; Abstract:
-;
-; AsmReadTr function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINT16
-; EFIAPI
-; AsmReadTr (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadTr PROC
- str eax
- ret
-AsmReadTr ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/ReadTsc.asm b/MdePkg/Library/BaseLib/X64/ReadTsc.asm
deleted file mode 100644
index d792bfb..0000000
--- a/MdePkg/Library/BaseLib/X64/ReadTsc.asm
+++ /dev/null
@@ -1,40 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ReadTsc.Asm
-;
-; Abstract:
-;
-; AsmReadTsc function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; AsmReadTsc (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmReadTsc PROC
- rdtsc
- shl rdx, 20h
- or rax, rdx
- ret
-AsmReadTsc ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/SetJump.asm b/MdePkg/Library/BaseLib/X64/SetJump.asm
deleted file mode 100644
index 13cb323..0000000
--- a/MdePkg/Library/BaseLib/X64/SetJump.asm
+++ /dev/null
@@ -1,66 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetJump.Asm
-;
-; Abstract:
-;
-; Implementation of SetJump() on x64.
-;
-;------------------------------------------------------------------------------
-
- .code
-
-EXTERN InternalAssertJumpBuffer:PROC
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; SetJump (
-; OUT BASE_LIBRARY_JUMP_BUFFER *JumpBuffer
-; );
-;------------------------------------------------------------------------------
-SetJump PROC
- push rcx
- add rsp, -20h
- call InternalAssertJumpBuffer
- add rsp, 20h
- pop rcx
- pop rdx
- mov [rcx], rbx
- mov [rcx + 8], rsp
- mov [rcx + 10h], rbp
- mov [rcx + 18h], rdi
- mov [rcx + 20h], rsi
- mov [rcx + 28h], r12
- mov [rcx + 30h], r13
- mov [rcx + 38h], r14
- mov [rcx + 40h], r15
- mov [rcx + 48h], rdx
- ; save non-volatile fp registers
- stmxcsr [rcx + 50h]
- movdqu [rcx + 58h], xmm6
- movdqu [rcx + 68h], xmm7
- movdqu [rcx + 78h], xmm8
- movdqu [rcx + 88h], xmm9
- movdqu [rcx + 98h], xmm10
- movdqu [rcx + 0A8h], xmm11
- movdqu [rcx + 0B8h], xmm12
- movdqu [rcx + 0C8h], xmm13
- movdqu [rcx + 0D8h], xmm14
- movdqu [rcx + 0E8h], xmm15
- xor rax, rax
- jmp rdx
-SetJump ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/SwitchStack.asm b/MdePkg/Library/BaseLib/X64/SwitchStack.asm
deleted file mode 100644
index 0f802b0..0000000
--- a/MdePkg/Library/BaseLib/X64/SwitchStack.asm
+++ /dev/null
@@ -1,51 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SwitchStack.Asm
-;
-; Abstract:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; Routine Description:
-;
-; Routine for switching stacks with 2 parameters
-;
-; Arguments:
-;
-; (rcx) EntryPoint - Entry point with new stack.
-; (rdx) Context1 - Parameter1 for entry point.
-; (r8) Context2 - Parameter2 for entry point.
-; (r9) NewStack - The pointer to new stack.
-;
-; Returns:
-;
-; None
-;
-;------------------------------------------------------------------------------
-InternalSwitchStack PROC
- mov rax, rcx
- mov rcx, rdx
- mov rdx, r8
- ;
- ; Reserve space for register parameters (rcx, rdx, r8 & r9) on the stack,
- ; in case the callee wishes to spill them.
- ;
- lea rsp, [r9 - 20h]
- call rax
-InternalSwitchStack ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/Thunk16.asm b/MdePkg/Library/BaseLib/X64/Thunk16.asm
deleted file mode 100644
index e01de27..0000000
--- a/MdePkg/Library/BaseLib/X64/Thunk16.asm
+++ /dev/null
@@ -1,315 +0,0 @@
-
-#include "BaseLibInternals.h"
-
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; Thunk.asm
-;
-; Abstract:
-;
-; Real mode thunk
-;
-;------------------------------------------------------------------------------
-
-EXTERNDEF m16Start:BYTE
-EXTERNDEF m16Size:WORD
-EXTERNDEF mThunk16Attr:WORD
-EXTERNDEF m16Gdt:WORD
-EXTERNDEF m16GdtrBase:WORD
-EXTERNDEF mTransition:WORD
-
-IA32_REGS STRUC 4t
-_EDI DD ?
-_ESI DD ?
-_EBP DD ?
-_ESP DD ?
-_EBX DD ?
-_EDX DD ?
-_ECX DD ?
-_EAX DD ?
-_DS DW ?
-_ES DW ?
-_FS DW ?
-_GS DW ?
-_EFLAGS DQ ?
-_EIP DD ?
-_CS DW ?
-_SS DW ?
-IA32_REGS ENDS
-
- .const
-
-m16Size DW InternalAsmThunk16 - m16Start
-mThunk16Attr DW _ThunkAttr - m16Start
-m16Gdt DW _NullSeg - m16Start
-m16GdtrBase DW _16GdtrBase - m16Start
-mTransition DW _EntryPoint - m16Start
-
- .code
-
-m16Start LABEL BYTE
-
-SavedGdt LABEL FWORD
- DW ?
- DQ ?
-
-;------------------------------------------------------------------------------
-; _BackFromUserCode() takes control in real mode after 'retf' has been executed
-; by user code. It will be shadowed to somewhere in memory below 1MB.
-;------------------------------------------------------------------------------
-_BackFromUserCode PROC
- ;
- ; The order of saved registers on the stack matches the order they appears
- ; in IA32_REGS structure. This facilitates wrapper function to extract them
- ; into that structure.
- ;
- ; Some instructions for manipulation of segment registers have to be written
- ; in opcode since 64-bit MASM prevents accesses to those registers.
- ;
- DB 16h ; push ss
- DB 0eh ; push cs
- DB 66h
- call @Base ; push eip
-@Base:
- DB 66h
- push 0 ; reserved high order 32 bits of EFlags
- pushf ; pushfd actually
- cli ; disable interrupts
- push gs
- push fs
- DB 6 ; push es
- DB 1eh ; push ds
- DB 66h, 60h ; pushad
- DB 66h, 0bah ; mov edx, imm32
-_ThunkAttr DD ?
- test dl, THUNK_ATTRIBUTE_DISABLE_A20_MASK_INT_15
- jz @1
- mov eax, 15cd2401h ; mov ax, 2401h & int 15h
- cli ; disable interrupts
- jnc @2
-@1:
- test dl, THUNK_ATTRIBUTE_DISABLE_A20_MASK_KBD_CTRL
- jz @2
- in al, 92h
- or al, 2
- out 92h, al ; deactivate A20M#
-@2:
- xor ax, ax ; xor eax, eax
- mov eax, ss ; mov ax, ss
- lea bp, [esp + sizeof (IA32_REGS)]
- ;
- ; rsi in the following 2 instructions is indeed bp in 16-bit code
- ;
- mov word ptr (IA32_REGS ptr [rsi - sizeof (IA32_REGS)])._ESP, bp
- DB 66h
- mov ebx, (IA32_REGS ptr [rsi - sizeof (IA32_REGS)])._EIP
- shl ax, 4 ; shl eax, 4
- add bp, ax ; add ebp, eax
- mov ax, cs
- shl ax, 4
- lea ax, [eax + ebx + (@64BitCode - @Base)]
- DB 66h, 2eh, 89h, 87h ; mov cs:[bx + (@64Eip - @Base)], eax
- DW @64Eip - @Base
- DB 66h, 0b8h ; mov eax, imm32
-SavedCr4 DD ?
- mov cr4, rax
- ;
- ; rdi in the instruction below is indeed bx in 16-bit code
- ;
- DB 66h, 2eh ; 2eh is "cs:" segment override
- lgdt fword ptr [rdi + (SavedGdt - @Base)]
- DB 66h
- mov ecx, 0c0000080h
- rdmsr
- or ah, 1
- wrmsr
- DB 66h, 0b8h ; mov eax, imm32
-SavedCr0 DD ?
- mov cr0, rax
- DB 66h, 0eah ; jmp far cs:@64Bit
-@64Eip DD ?
-SavedCs DW ?
-@64BitCode:
- db 090h
- db 048h, 0bch ; mov rsp, imm64
-SavedSp DQ ? ; restore stack
- nop
- ret
-_BackFromUserCode ENDP
-
-_EntryPoint DD _ToUserCode - m16Start
- DW CODE16
-_16Gdtr LABEL FWORD
- DW GDT_SIZE - 1
-_16GdtrBase DQ _NullSeg
-_16Idtr FWORD (1 SHL 10) - 1
-
-;------------------------------------------------------------------------------
-; _ToUserCode() takes control in real mode before passing control to user code.
-; It will be shadowed to somewhere in memory below 1MB.
-;------------------------------------------------------------------------------
-_ToUserCode PROC
- mov ss, edx ; set new segment selectors
- mov ds, edx
- mov es, edx
- mov fs, edx
- mov gs, edx
- DB 66h
- mov ecx, 0c0000080h
- mov cr0, rax ; real mode starts at next instruction
- rdmsr
- and ah, NOT 1
- wrmsr
- mov cr4, rbp
- mov ss, esi ; set up 16-bit stack segment
- mov sp, bx ; set up 16-bit stack pointer
- DB 66h ; make the following call 32-bit
- call @Base ; push eip
-@Base:
- pop bp ; ebp <- address of @Base
- push [esp + sizeof (IA32_REGS) + 2]
- lea eax, [rsi + (@RealMode - @Base)] ; rsi is "bp" in 16-bit code
- push rax
- retf ; execution begins at next instruction
-@RealMode:
- DB 66h, 2eh ; CS and operand size override
- lidt fword ptr [rsi + (_16Idtr - @Base)]
- DB 66h, 61h ; popad
- DB 1fh ; pop ds
- DB 07h ; pop es
- pop fs
- pop gs
- popf ; popfd
- lea sp, [esp + 4] ; skip high order 32 bits of EFlags
- DB 66h ; make the following retf 32-bit
- retf ; transfer control to user code
-_ToUserCode ENDP
-
-CODE16 = _16Code - $
-DATA16 = _16Data - $
-DATA32 = _32Data - $
-
-_NullSeg DQ 0
-_16Code LABEL QWORD
- DW -1
- DW 0
- DB 0
- DB 9bh
- DB 8fh ; 16-bit segment, 4GB limit
- DB 0
-_16Data LABEL QWORD
- DW -1
- DW 0
- DB 0
- DB 93h
- DB 8fh ; 16-bit segment, 4GB limit
- DB 0
-_32Data LABEL QWORD
- DW -1
- DW 0
- DB 0
- DB 93h
- DB 0cfh ; 16-bit segment, 4GB limit
- DB 0
-
-GDT_SIZE = $ - _NullSeg
-
-;------------------------------------------------------------------------------
-; IA32_REGISTER_SET *
-; EFIAPI
-; InternalAsmThunk16 (
-; IN IA32_REGISTER_SET *RegisterSet,
-; IN OUT VOID *Transition
-; );
-;------------------------------------------------------------------------------
-InternalAsmThunk16 PROC USES rbp rbx rsi rdi
- mov rbx, ds
- push rbx ; Save ds segment register on the stack
- mov rbx, es
- push rbx ; Save es segment register on the stack
- mov rbx, ss
- push rbx ; Save ss segment register on the stack
-
- push fs
- push gs
- mov rsi, rcx
- movzx r8d, (IA32_REGS ptr [rsi])._SS
- mov edi, (IA32_REGS ptr [rsi])._ESP
- lea rdi, [edi - (sizeof (IA32_REGS) + 4)]
- imul eax, r8d, 16 ; eax <- r8d(stack segment) * 16
- mov ebx, edi ; ebx <- stack for 16-bit code
- push sizeof (IA32_REGS) / 4
- add edi, eax ; edi <- linear address of 16-bit stack
- pop rcx
- rep movsd ; copy RegSet
- lea ecx, [rdx + (SavedCr4 - m16Start)]
- mov eax, edx ; eax <- transition code address
- and edx, 0fh
- shl eax, 12 ; segment address in high order 16 bits
- lea ax, [rdx + (_BackFromUserCode - m16Start)] ; offset address
- stosd ; [edi] <- return address of user code
-
- sgdt fword ptr [rsp + 60h] ; save GDT stack in argument space
- movzx r10, word ptr [rsp + 60h] ; r10 <- GDT limit
- lea r11, [rcx + (InternalAsmThunk16 - SavedCr4) + 0xf]
- and r11, 0xfffffff0 ; r11 <- 16-byte aligned shadowed GDT table in real mode buffer
-
- mov word ptr [rcx + (SavedGdt - SavedCr4)], r10w ; save the limit of shadowed GDT table
- mov qword ptr [rcx + (SavedGdt - SavedCr4) + 2], r11 ; save the base address of shadowed GDT table
-
- mov rsi, qword ptr [rsp + 62h] ; rsi <- the original GDT base address
- xchg rcx, r10 ; save rcx to r10 and initialize rcx to be the limit of GDT table
- inc rcx ; rcx <- the size of memory to copy
- xchg rdi, r11 ; save rdi to r11 and initialize rdi to the base address of shadowed GDT table
- rep movsb ; perform memory copy to shadow GDT table
- mov rcx, r10 ; restore the orignal rcx before memory copy
- mov rdi, r11 ; restore the original rdi before memory copy
-
- sidt fword ptr [rsp + 50h] ; save IDT stack in argument space
- mov rax, cr0
- mov [rcx + (SavedCr0 - SavedCr4)], eax
- and eax, 7ffffffeh ; clear PE, PG bits
- mov rbp, cr4
- mov [rcx], ebp ; save CR4 in SavedCr4
- and ebp, NOT 30h ; clear PAE, PSE bits
- mov esi, r8d ; esi <- 16-bit stack segment
- DB 6ah, DATA32 ; push DATA32
- pop rdx ; rdx <- 32-bit data segment selector
- lgdt fword ptr [rcx + (_16Gdtr - SavedCr4)]
- mov ss, edx
- pushfq
- lea edx, [rdx + DATA16 - DATA32]
- lea r8, @RetFromRealMode
- push r8
- mov r8d, cs
- mov [rcx + (SavedCs - SavedCr4)], r8w
- mov [rcx + (SavedSp - SavedCr4)], rsp
- jmp fword ptr [rcx + (_EntryPoint - SavedCr4)]
-@RetFromRealMode:
- popfq
- lgdt fword ptr [rsp + 60h] ; restore protected mode GDTR
- lidt fword ptr [rsp + 50h] ; restore protected mode IDTR
- lea eax, [rbp - sizeof (IA32_REGS)]
- pop gs
- pop fs
- pop rbx
- mov ss, rbx
- pop rbx
- mov es, rbx
- pop rbx
- mov ds, rbx
- ret
-InternalAsmThunk16 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/Wbinvd.asm b/MdePkg/Library/BaseLib/X64/Wbinvd.asm
deleted file mode 100644
index b0807e0..0000000
--- a/MdePkg/Library/BaseLib/X64/Wbinvd.asm
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; Wbinvd.Asm
-;
-; Abstract:
-;
-; AsmWbinvd function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; AsmWbinvd (
-; VOID
-; );
-;------------------------------------------------------------------------------
-AsmWbinvd PROC
- wbinvd
- ret
-AsmWbinvd ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/WriteCr0.asm b/MdePkg/Library/BaseLib/X64/WriteCr0.asm
deleted file mode 100644
index 98fef9c..0000000
--- a/MdePkg/Library/BaseLib/X64/WriteCr0.asm
+++ /dev/null
@@ -1,39 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteCr0.Asm
-;
-; Abstract:
-;
-; AsmWriteCr0 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmWriteCr0 (
-; UINTN Cr0
-; );
-;------------------------------------------------------------------------------
-AsmWriteCr0 PROC
- mov cr0, rcx
- mov rax, rcx
- ret
-AsmWriteCr0 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/WriteCr2.asm b/MdePkg/Library/BaseLib/X64/WriteCr2.asm
deleted file mode 100644
index 3d77d6a..0000000
--- a/MdePkg/Library/BaseLib/X64/WriteCr2.asm
+++ /dev/null
@@ -1,39 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteCr2.Asm
-;
-; Abstract:
-;
-; AsmWriteCr2 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmWriteCr2 (
-; UINTN Cr2
-; );
-;------------------------------------------------------------------------------
-AsmWriteCr2 PROC
- mov cr2, rcx
- mov rax, rcx
- ret
-AsmWriteCr2 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/WriteCr3.asm b/MdePkg/Library/BaseLib/X64/WriteCr3.asm
deleted file mode 100644
index 9b39938..0000000
--- a/MdePkg/Library/BaseLib/X64/WriteCr3.asm
+++ /dev/null
@@ -1,39 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteCr3.Asm
-;
-; Abstract:
-;
-; AsmWriteCr3 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmWriteCr3 (
-; UINTN Cr3
-; );
-;------------------------------------------------------------------------------
-AsmWriteCr3 PROC
- mov cr3, rcx
- mov rax, rcx
- ret
-AsmWriteCr3 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/WriteCr4.asm b/MdePkg/Library/BaseLib/X64/WriteCr4.asm
deleted file mode 100644
index 1455842..0000000
--- a/MdePkg/Library/BaseLib/X64/WriteCr4.asm
+++ /dev/null
@@ -1,39 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteCr4.Asm
-;
-; Abstract:
-;
-; AsmWriteCr4 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmWriteCr4 (
-; UINTN Cr4
-; );
-;------------------------------------------------------------------------------
-AsmWriteCr4 PROC
- mov cr4, rcx
- mov rax, rcx
- ret
-AsmWriteCr4 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/WriteDr0.asm b/MdePkg/Library/BaseLib/X64/WriteDr0.asm
deleted file mode 100644
index dafe9ab..0000000
--- a/MdePkg/Library/BaseLib/X64/WriteDr0.asm
+++ /dev/null
@@ -1,39 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteDr0.Asm
-;
-; Abstract:
-;
-; AsmWriteDr0 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmWriteDr0 (
-; IN UINTN Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteDr0 PROC
- mov dr0, rcx
- mov rax, rcx
- ret
-AsmWriteDr0 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/WriteDr1.asm b/MdePkg/Library/BaseLib/X64/WriteDr1.asm
deleted file mode 100644
index 7167f5e..0000000
--- a/MdePkg/Library/BaseLib/X64/WriteDr1.asm
+++ /dev/null
@@ -1,39 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteDr1.Asm
-;
-; Abstract:
-;
-; AsmWriteDr1 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmWriteDr1 (
-; IN UINTN Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteDr1 PROC
- mov dr1, rcx
- mov rax, rcx
- ret
-AsmWriteDr1 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/WriteDr2.asm b/MdePkg/Library/BaseLib/X64/WriteDr2.asm
deleted file mode 100644
index c14ba34..0000000
--- a/MdePkg/Library/BaseLib/X64/WriteDr2.asm
+++ /dev/null
@@ -1,39 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteDr2.Asm
-;
-; Abstract:
-;
-; AsmWriteDr2 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmWriteDr2 (
-; IN UINTN Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteDr2 PROC
- mov dr2, rcx
- mov rax, rcx
- ret
-AsmWriteDr2 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/WriteDr3.asm b/MdePkg/Library/BaseLib/X64/WriteDr3.asm
deleted file mode 100644
index 8873916c..0000000
--- a/MdePkg/Library/BaseLib/X64/WriteDr3.asm
+++ /dev/null
@@ -1,39 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteDr3.Asm
-;
-; Abstract:
-;
-; AsmWriteDr3 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmWriteDr3 (
-; IN UINTN Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteDr3 PROC
- mov dr3, rcx
- mov rax, rcx
- ret
-AsmWriteDr3 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/WriteDr4.asm b/MdePkg/Library/BaseLib/X64/WriteDr4.asm
deleted file mode 100644
index 4803525..0000000
--- a/MdePkg/Library/BaseLib/X64/WriteDr4.asm
+++ /dev/null
@@ -1,43 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteDr4.Asm
-;
-; Abstract:
-;
-; AsmWriteDr4 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmWriteDr4 (
-; IN UINTN Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteDr4 PROC
- ;
- ; 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
- ;
- DB 0fh, 23h, 0e1h
- mov rax, rcx
- ret
-AsmWriteDr4 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/WriteDr5.asm b/MdePkg/Library/BaseLib/X64/WriteDr5.asm
deleted file mode 100644
index 2cdb328..0000000
--- a/MdePkg/Library/BaseLib/X64/WriteDr5.asm
+++ /dev/null
@@ -1,43 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteDr5.Asm
-;
-; Abstract:
-;
-; AsmWriteDr5 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmWriteDr5 (
-; IN UINTN Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteDr5 PROC
- ;
- ; 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
- ;
- DB 0fh, 23h, 0e9h
- mov rax, rcx
- ret
-AsmWriteDr5 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/WriteDr6.asm b/MdePkg/Library/BaseLib/X64/WriteDr6.asm
deleted file mode 100644
index 22c9c87..0000000
--- a/MdePkg/Library/BaseLib/X64/WriteDr6.asm
+++ /dev/null
@@ -1,39 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteDr6.Asm
-;
-; Abstract:
-;
-; AsmWriteDr6 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmWriteDr6 (
-; IN UINTN Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteDr6 PROC
- mov dr6, rcx
- mov rax, rcx
- ret
-AsmWriteDr6 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/WriteDr7.asm b/MdePkg/Library/BaseLib/X64/WriteDr7.asm
deleted file mode 100644
index b55afd3..0000000
--- a/MdePkg/Library/BaseLib/X64/WriteDr7.asm
+++ /dev/null
@@ -1,39 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteDr7.Asm
-;
-; Abstract:
-;
-; AsmWriteDr7 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINTN
-; EFIAPI
-; AsmWriteDr7 (
-; IN UINTN Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteDr7 PROC
- mov dr7, rcx
- mov rax, rcx
- ret
-AsmWriteDr7 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/WriteGdtr.asm b/MdePkg/Library/BaseLib/X64/WriteGdtr.asm
deleted file mode 100644
index 0cc8b7a..0000000
--- a/MdePkg/Library/BaseLib/X64/WriteGdtr.asm
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteGdtr.Asm
-;
-; Abstract:
-;
-; AsmWriteGdtr function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; InternalX86WriteGdtr (
-; IN CONST IA32_DESCRIPTOR *Idtr
-; );
-;------------------------------------------------------------------------------
-InternalX86WriteGdtr PROC
- lgdt fword ptr [rcx]
- ret
-InternalX86WriteGdtr ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/WriteIdtr.asm b/MdePkg/Library/BaseLib/X64/WriteIdtr.asm
deleted file mode 100644
index 01ca1c0..0000000
--- a/MdePkg/Library/BaseLib/X64/WriteIdtr.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteIdtr.Asm
-;
-; Abstract:
-;
-; AsmWriteIdtr function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; InternalX86WriteIdtr (
-; IN CONST IA32_DESCRIPTOR *Idtr
-; );
-;------------------------------------------------------------------------------
-InternalX86WriteIdtr PROC
- pushfq
- cli
- lidt fword ptr [rcx]
- popfq
- ret
-InternalX86WriteIdtr ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/WriteLdtr.asm b/MdePkg/Library/BaseLib/X64/WriteLdtr.asm
deleted file mode 100644
index af67863..0000000
--- a/MdePkg/Library/BaseLib/X64/WriteLdtr.asm
+++ /dev/null
@@ -1,38 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteLdtr.Asm
-;
-; Abstract:
-;
-; AsmWriteLdtr function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; AsmWriteLdtr (
-; IN UINT16 Ldtr
-; );
-;------------------------------------------------------------------------------
-AsmWriteLdtr PROC
- lldt cx
- ret
-AsmWriteLdtr ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/WriteMm0.asm b/MdePkg/Library/BaseLib/X64/WriteMm0.asm
deleted file mode 100644
index f40db03..0000000
--- a/MdePkg/Library/BaseLib/X64/WriteMm0.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteMm0.Asm
-;
-; Abstract:
-;
-; AsmWriteMm0 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; AsmWriteMm0 (
-; IN UINT64 Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteMm0 PROC
- ;
- ; 64-bit MASM doesn't support MMX instructions, so use opcode here
- ;
- DB 48h, 0fh, 6eh, 0c1h
- ret
-AsmWriteMm0 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/WriteMm1.asm b/MdePkg/Library/BaseLib/X64/WriteMm1.asm
deleted file mode 100644
index ec17208..0000000
--- a/MdePkg/Library/BaseLib/X64/WriteMm1.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteMm1.Asm
-;
-; Abstract:
-;
-; AsmWriteMm1 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; AsmWriteMm1 (
-; IN UINT64 Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteMm1 PROC
- ;
- ; 64-bit MASM doesn't support MMX instructions, so use opcode here
- ;
- DB 48h, 0fh, 6eh, 0c9h
- ret
-AsmWriteMm1 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/WriteMm2.asm b/MdePkg/Library/BaseLib/X64/WriteMm2.asm
deleted file mode 100644
index 38c0d5e..0000000
--- a/MdePkg/Library/BaseLib/X64/WriteMm2.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteMm2.Asm
-;
-; Abstract:
-;
-; AsmWriteMm2 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; AsmWriteMm2 (
-; IN UINT64 Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteMm2 PROC
- ;
- ; 64-bit MASM doesn't support MMX instructions, so use opcode here
- ;
- DB 48h, 0fh, 6eh, 0d1h
- ret
-AsmWriteMm2 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/WriteMm3.asm b/MdePkg/Library/BaseLib/X64/WriteMm3.asm
deleted file mode 100644
index 5f5bbdd..0000000
--- a/MdePkg/Library/BaseLib/X64/WriteMm3.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteMm3.Asm
-;
-; Abstract:
-;
-; AsmWriteMm3 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; AsmWriteMm3 (
-; IN UINT64 Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteMm3 PROC
- ;
- ; 64-bit MASM doesn't support MMX instructions, so use opcode here
- ;
- DB 48h, 0fh, 6eh, 0d9h
- ret
-AsmWriteMm3 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/WriteMm4.asm b/MdePkg/Library/BaseLib/X64/WriteMm4.asm
deleted file mode 100644
index 7f53313..0000000
--- a/MdePkg/Library/BaseLib/X64/WriteMm4.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteMm4.Asm
-;
-; Abstract:
-;
-; AsmWriteMm4 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; AsmWriteMm4 (
-; IN UINT64 Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteMm4 PROC
- ;
- ; 64-bit MASM doesn't support MMX instructions, so use opcode here
- ;
- DB 48h, 0fh, 6eh, 0e1h
- ret
-AsmWriteMm4 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/WriteMm5.asm b/MdePkg/Library/BaseLib/X64/WriteMm5.asm
deleted file mode 100644
index ea30bc1..0000000
--- a/MdePkg/Library/BaseLib/X64/WriteMm5.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteMm5.Asm
-;
-; Abstract:
-;
-; AsmWriteMm5 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; AsmWriteMm5 (
-; IN UINT64 Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteMm5 PROC
- ;
- ; 64-bit MASM doesn't support MMX instructions, so use opcode here
- ;
- DB 48h, 0fh, 6eh, 0e9h
- ret
-AsmWriteMm5 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/WriteMm6.asm b/MdePkg/Library/BaseLib/X64/WriteMm6.asm
deleted file mode 100644
index aa926ae..0000000
--- a/MdePkg/Library/BaseLib/X64/WriteMm6.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteMm6.Asm
-;
-; Abstract:
-;
-; AsmWriteMm6 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; AsmWriteMm6 (
-; IN UINT64 Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteMm6 PROC
- ;
- ; 64-bit MASM doesn't support MMX instructions, so use opcode here
- ;
- DB 48h, 0fh, 6eh, 0f1h
- ret
-AsmWriteMm6 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/WriteMm7.asm b/MdePkg/Library/BaseLib/X64/WriteMm7.asm
deleted file mode 100644
index 652e041..0000000
--- a/MdePkg/Library/BaseLib/X64/WriteMm7.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteMm7.Asm
-;
-; Abstract:
-;
-; AsmWriteMm7 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; AsmWriteMm7 (
-; IN UINT64 Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteMm7 PROC
- ;
- ; 64-bit MASM doesn't support MMX instructions, so use opcode here
- ;
- DB 48h, 0fh, 6eh, 0f9h
- ret
-AsmWriteMm7 ENDP
-
- END
diff --git a/MdePkg/Library/BaseLib/X64/WriteMsr64.asm b/MdePkg/Library/BaseLib/X64/WriteMsr64.asm
deleted file mode 100644
index 19ef572..0000000
--- a/MdePkg/Library/BaseLib/X64/WriteMsr64.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; WriteMsr64.Asm
-;
-; Abstract:
-;
-; AsmWriteMsr64 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; AsmWriteMsr64 (
-; IN UINT32 Index,
-; IN UINT64 Value
-; );
-;------------------------------------------------------------------------------
-AsmWriteMsr64 PROC
- mov rax, rdx ; meanwhile, rax <- return value
- shr rdx, 20h ; edx:eax contains the value to write
- wrmsr
- ret
-AsmWriteMsr64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx.inf b/MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx.inf
index af08b7d..f04ca13 100644
--- a/MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx.inf
+++ b/MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx.inf
@@ -74,52 +74,30 @@
Ia32/CopyMem.nasm
Ia32/CopyMem.S
Ia32/ScanMem64.nasm
- Ia32/ScanMem64.asm
Ia32/ScanMem32.nasm
- Ia32/ScanMem32.asm
Ia32/ScanMem16.nasm
- Ia32/ScanMem16.asm
Ia32/ScanMem8.nasm
- Ia32/ScanMem8.asm
Ia32/CompareMem.nasm
- Ia32/CompareMem.asm
Ia32/SetMem64.nasm
- Ia32/SetMem64.asm
Ia32/SetMem32.nasm
- Ia32/SetMem32.asm
Ia32/SetMem16.nasm
- Ia32/SetMem16.asm
Ia32/ZeroMem.nasm
- Ia32/ZeroMem.asm
Ia32/SetMem.nasm
- Ia32/SetMem.asm
Ia32/CopyMem.nasm
- Ia32/CopyMem.asm
Ia32/IsZeroBuffer.nasm
[Sources.X64]
X64/ZeroMem.nasm
- X64/ZeroMem.asm
X64/ScanMem64.nasm
- X64/ScanMem64.asm
X64/ScanMem32.nasm
- X64/ScanMem32.asm
X64/ScanMem16.nasm
- X64/ScanMem16.asm
X64/ScanMem8.nasm
- X64/ScanMem8.asm
X64/CompareMem.nasm
- X64/CompareMem.asm
X64/SetMem64.nasm
- X64/SetMem64.asm
X64/SetMem32.nasm
- X64/SetMem32.asm
X64/SetMem16.nasm
- X64/SetMem16.asm
X64/SetMem.nasm
- X64/SetMem.asm
X64/CopyMem.nasm
- X64/CopyMem.asm
X64/ScanMem64.nasm
X64/ScanMem64.S
X64/ScanMem32.nasm
diff --git a/MdePkg/Library/BaseMemoryLibMmx/Ia32/CompareMem.asm b/MdePkg/Library/BaseMemoryLibMmx/Ia32/CompareMem.asm
deleted file mode 100644
index 5a0792d..0000000
--- a/MdePkg/Library/BaseMemoryLibMmx/Ia32/CompareMem.asm
+++ /dev/null
@@ -1,56 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CompareMem.Asm
-;
-; Abstract:
-;
-; CompareMem function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; INTN
-; EFIAPI
-; InternalMemCompareMem (
-; IN CONST VOID *DestinationBuffer,
-; IN CONST VOID *SourceBuffer,
-; IN UINTN Length
-; );
-;------------------------------------------------------------------------------
-InternalMemCompareMem PROC USES esi edi
- mov esi, [esp + 12]
- mov edi, [esp + 16]
- mov ecx, [esp + 20]
- repe cmpsb
- movzx eax, byte ptr [esi - 1]
- movzx edx, byte ptr [edi - 1]
- sub eax, edx
- ret
-InternalMemCompareMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibMmx/Ia32/CopyMem.asm b/MdePkg/Library/BaseMemoryLibMmx/Ia32/CopyMem.asm
deleted file mode 100644
index 38e1da7..0000000
--- a/MdePkg/Library/BaseMemoryLibMmx/Ia32/CopyMem.asm
+++ /dev/null
@@ -1,77 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CopyMem.asm
-;
-; Abstract:
-;
-; CopyMem function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .mmx
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; EFIAPI
-; InternalMemCopyMem (
-; IN VOID *Destination,
-; IN VOID *Source,
-; IN UINTN Count
-; );
-;------------------------------------------------------------------------------
-InternalMemCopyMem PROC USES esi edi
- mov esi, [esp + 16] ; esi <- Source
- mov edi, [esp + 12] ; edi <- Destination
- mov edx, [esp + 20] ; edx <- Count
- lea eax, [esi + edx - 1] ; eax <- End of Source
- cmp esi, edi
- jae @F
- cmp eax, edi ; Overlapped?
- jae @CopyBackward ; Copy backward if overlapped
-@@:
- mov ecx, edx
- and edx, 7
- shr ecx, 3 ; ecx <- # of Qwords to copy
- jz @CopyBytes
- push eax
- push eax
- movq [esp], mm0 ; save mm0
-@@:
- movq mm0, [esi]
- movq [edi], mm0
- add esi, 8
- add edi, 8
- loop @B
- movq mm0, [esp] ; restore mm0
- pop ecx ; stack cleanup
- pop ecx ; stack cleanup
- jmp @CopyBytes
-@CopyBackward:
- mov esi, eax ; esi <- Last byte in Source
- lea edi, [edi + edx - 1] ; edi <- Last byte in Destination
- std
-@CopyBytes:
- mov ecx, edx
- rep movsb
- cld
- mov eax, [esp + 12]
- ret
-InternalMemCopyMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem16.asm b/MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem16.asm
deleted file mode 100644
index 0ee190e..0000000
--- a/MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem16.asm
+++ /dev/null
@@ -1,55 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem16.Asm
-;
-; Abstract:
-;
-; ScanMem16 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem16 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT16 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem16 PROC USES edi
- mov ecx, [esp + 12]
- mov edi, [esp + 8]
- mov eax, [esp + 16]
- repne scasw
- lea eax, [edi - 2]
- cmovnz eax, ecx
- ret
-InternalMemScanMem16 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem32.asm b/MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem32.asm
deleted file mode 100644
index adbf295..0000000
--- a/MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem32.asm
+++ /dev/null
@@ -1,55 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem32.Asm
-;
-; Abstract:
-;
-; ScanMem32 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem32 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT32 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem32 PROC USES edi
- mov ecx, [esp + 12]
- mov edi, [esp + 8]
- mov eax, [esp + 16]
- repne scasd
- lea eax, [edi - 4]
- cmovnz eax, ecx
- ret
-InternalMemScanMem32 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem64.asm b/MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem64.asm
deleted file mode 100644
index 0a0f5d0..0000000
--- a/MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem64.asm
+++ /dev/null
@@ -1,64 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem64.Asm
-;
-; Abstract:
-;
-; ScanMem64 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem64 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT64 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem64 PROC USES edi
- mov ecx, [esp + 12]
- mov eax, [esp + 16]
- mov edx, [esp + 20]
- mov edi, [esp + 8]
-@@:
- cmp eax, [edi]
- lea edi, [edi + 8]
- loopne @B
- jne @F
- cmp edx, [edi - 4]
- jecxz @F
- jne @B
-@@:
- lea eax, [edi - 8]
- cmovne eax, ecx
- ret
-InternalMemScanMem64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem8.asm b/MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem8.asm
deleted file mode 100644
index c64d41d..0000000
--- a/MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem8.asm
+++ /dev/null
@@ -1,55 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem8.Asm
-;
-; Abstract:
-;
-; ScanMem8 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem8 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT8 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem8 PROC USES edi
- mov ecx, [esp + 12]
- mov edi, [esp + 8]
- mov al, [esp + 16]
- repne scasb
- lea eax, [edi - 1]
- cmovnz eax, ecx
- ret
-InternalMemScanMem8 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem.asm b/MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem.asm
deleted file mode 100644
index e43ea08..0000000
--- a/MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem.asm
+++ /dev/null
@@ -1,70 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem.asm
-;
-; Abstract:
-;
-; SetMem function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .mmx
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; EFIAPI
-; InternalMemSetMem (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT8 Value
-; )
-;------------------------------------------------------------------------------
-InternalMemSetMem PROC USES edi
- mov al, [esp + 16]
- mov ah, al
- shrd edx, eax, 16
- shld eax, edx, 16
- mov ecx, [esp + 12] ; ecx <- Count
- mov edi, [esp + 8] ; edi <- Buffer
- mov edx, ecx
- and edx, 7
- shr ecx, 3 ; # of Qwords to set
- jz @SetBytes
- add esp, -10h
- movq [esp], mm0 ; save mm0
- movq [esp + 8], mm1 ; save mm1
- movd mm0, eax
- movd mm1, eax
- psllq mm0, 32
- por mm0, mm1 ; fill mm0 with 8 Value's
-@@:
- movq [edi], mm0
- add edi, 8
- loop @B
- movq mm0, [esp] ; restore mm0
- movq mm1, [esp + 8] ; restore mm1
- add esp, 10h ; stack cleanup
-@SetBytes:
- mov ecx, edx
- rep stosb
- mov eax, [esp + 8] ; eax <- Buffer as return value
- ret
-InternalMemSetMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem16.asm b/MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem16.asm
deleted file mode 100644
index 8d5bca0..0000000
--- a/MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem16.asm
+++ /dev/null
@@ -1,63 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem16.asm
-;
-; Abstract:
-;
-; SetMem16 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .mmx
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; EFIAPI
-; InternalMemSetMem16 (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT16 Value
-; )
-;------------------------------------------------------------------------------
-InternalMemSetMem16 PROC USES edi
- mov eax, [esp + 16]
- shrd edx, eax, 16
- shld eax, edx, 16
- mov edx, [esp + 12]
- mov edi, [esp + 8]
- mov ecx, edx
- and edx, 3
- shr ecx, 2
- jz @SetWords
- movd mm0, eax
- movd mm1, eax
- psllq mm0, 32
- por mm0, mm1
-@@:
- movq [edi], mm0
- add edi, 8
- loop @B
-@SetWords:
- mov ecx, edx
- rep stosw
- mov eax, [esp + 8]
- ret
-InternalMemSetMem16 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem32.asm b/MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem32.asm
deleted file mode 100644
index 031c48a..0000000
--- a/MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem32.asm
+++ /dev/null
@@ -1,59 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem32.asm
-;
-; Abstract:
-;
-; SetMem32 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .mmx
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; EFIAPI
-; InternalMemSetMem32 (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT32 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemSetMem32 PROC
- mov eax, [esp + 4] ; eax <- Buffer as return value
- mov ecx, [esp + 8] ; ecx <- Count
- movd mm0, dword ptr [esp + 12] ; mm0 <- Value
- shr ecx, 1 ; ecx <- number of qwords to set
- mov edx, eax ; edx <- Buffer
- jz @SetDwords
- movq mm1, mm0
- psllq mm1, 32
- por mm0, mm1
-@@:
- movq qword ptr [edx], mm0
- lea edx, [edx + 8] ; use "lea" to avoid change in flags
- loop @B
-@SetDwords:
- jnc @F
- movd dword ptr [edx], mm0
-@@:
- ret
-InternalMemSetMem32 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem64.asm b/MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem64.asm
deleted file mode 100644
index 42870bd..0000000
--- a/MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem64.asm
+++ /dev/null
@@ -1,50 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem64.asm
-;
-; Abstract:
-;
-; SetMem64 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .mmx
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; EFIAPI
-; InternalMemSetMem64 (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT64 Value
-; )
-;------------------------------------------------------------------------------
-InternalMemSetMem64 PROC
- mov eax, [esp + 4]
- mov ecx, [esp + 8]
- movq mm0, [esp + 12]
- mov edx, eax
-@@:
- movq [edx], mm0
- add edx, 8
- loop @B
- ret
-InternalMemSetMem64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibMmx/Ia32/ZeroMem.asm b/MdePkg/Library/BaseMemoryLibMmx/Ia32/ZeroMem.asm
deleted file mode 100644
index 1676b35..0000000
--- a/MdePkg/Library/BaseMemoryLibMmx/Ia32/ZeroMem.asm
+++ /dev/null
@@ -1,56 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ZeroMem.asm
-;
-; Abstract:
-;
-; ZeroMem function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .mmx
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemZeroMem (
-; IN VOID *Buffer,
-; IN UINTN Count
-; );
-;------------------------------------------------------------------------------
-InternalMemZeroMem PROC USES edi
- mov edi, [esp + 8]
- mov ecx, [esp + 12]
- mov edx, ecx
- shr ecx, 3
- jz @ZeroBytes
- pxor mm0, mm0
-@@:
- movq [edi], mm0
- add edi, 8
- loop @B
-@ZeroBytes:
- and edx, 7
- xor eax, eax
- mov ecx, edx
- rep stosb
- mov eax, [esp + 8]
- ret
-InternalMemZeroMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibMmx/X64/CompareMem.asm b/MdePkg/Library/BaseMemoryLibMmx/X64/CompareMem.asm
deleted file mode 100644
index 0ef05b2..0000000
--- a/MdePkg/Library/BaseMemoryLibMmx/X64/CompareMem.asm
+++ /dev/null
@@ -1,54 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CompareMem.Asm
-;
-; Abstract:
-;
-; CompareMem function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; INTN
-; EFIAPI
-; InternalMemCompareMem (
-; IN CONST VOID *DestinationBuffer,
-; IN CONST VOID *SourceBuffer,
-; IN UINTN Length
-; );
-;------------------------------------------------------------------------------
-InternalMemCompareMem PROC USES rsi rdi
- mov rsi, rcx
- mov rdi, rdx
- mov rcx, r8
- repe cmpsb
- movzx rax, byte ptr [rsi - 1]
- movzx rdx, byte ptr [rdi - 1]
- sub rax, rdx
- ret
-InternalMemCompareMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.asm b/MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.asm
deleted file mode 100644
index 6e74985..0000000
--- a/MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.asm
+++ /dev/null
@@ -1,70 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CopyMem.asm
-;
-; Abstract:
-;
-; CopyMem function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; EFIAPI
-; InternalMemCopyMem (
-; OUT VOID *DestinationBuffer,
-; IN CONST VOID *SourceBuffer,
-; IN UINTN Length
-; );
-;------------------------------------------------------------------------------
-InternalMemCopyMem PROC USES rsi rdi
- mov rsi, rdx ; rsi <- Source
- mov rdi, rcx ; rdi <- Destination
- lea r9, [rsi + r8 - 1] ; r9 <- End of Source
- cmp rsi, rdi
- mov rax, rdi ; rax <- Destination as return value
- jae @F
- cmp r9, rdi
- jae @CopyBackward ; Copy backward if overlapped
-@@:
- mov rcx, r8
- and r8, 7
- shr rcx, 3 ; rcx <- # of Qwords to copy
- jz @CopyBytes
- DB 49h, 0fh, 7eh, 0c2h ; movd r10, mm0 (Save mm0 in r10)
-@@:
- DB 0fh, 6fh, 06h ; movd mm0, [rsi]
- DB 0fh, 0e7h, 07h ; movntq [rdi], mm0
- add rsi, 8
- add rdi, 8
- loop @B
- mfence
- DB 49h, 0fh, 6eh, 0c2h ; movd mm0, r10 (Restore mm0)
- jmp @CopyBytes
-@CopyBackward:
- mov rsi, r9 ; rsi <- End of Source
- lea rdi, [rdi + r8 - 1] ; rdi <- End of Destination
- std ; set direction flag
-@CopyBytes:
- mov rcx, r8
- rep movsb ; Copy bytes backward
- cld
- ret
-InternalMemCopyMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem16.asm b/MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem16.asm
deleted file mode 100644
index a6114db..0000000
--- a/MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem16.asm
+++ /dev/null
@@ -1,53 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem16.Asm
-;
-; Abstract:
-;
-; ScanMem16 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem16 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT16 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem16 PROC USES rdi
- mov rdi, rcx
- mov rax, r8
- mov rcx, rdx
- repne scasw
- lea rax, [rdi - 2]
- cmovnz rax, rcx
- ret
-InternalMemScanMem16 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem32.asm b/MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem32.asm
deleted file mode 100644
index 40ff6c9..0000000
--- a/MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem32.asm
+++ /dev/null
@@ -1,53 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem32.Asm
-;
-; Abstract:
-;
-; ScanMem32 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem32 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT32 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem32 PROC USES rdi
- mov rdi, rcx
- mov rax, r8
- mov rcx, rdx
- repne scasd
- lea rax, [rdi - 4]
- cmovnz rax, rcx
- ret
-InternalMemScanMem32 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem64.asm b/MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem64.asm
deleted file mode 100644
index e78da7d..0000000
--- a/MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem64.asm
+++ /dev/null
@@ -1,53 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem64.Asm
-;
-; Abstract:
-;
-; ScanMem64 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem64 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT64 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem64 PROC USES rdi
- mov rdi, rcx
- mov rax, r8
- mov rcx, rdx
- repne scasq
- lea rax, [rdi - 8]
- cmovnz rax, rcx
- ret
-InternalMemScanMem64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem8.asm b/MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem8.asm
deleted file mode 100644
index fee2397..0000000
--- a/MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem8.asm
+++ /dev/null
@@ -1,53 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem8.Asm
-;
-; Abstract:
-;
-; ScanMem8 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem8 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT8 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem8 PROC USES rdi
- mov rdi, rcx
- mov rcx, rdx
- mov rax, r8
- repne scasb
- lea rax, [rdi - 1]
- cmovnz rax, rcx ; set rax to 0 if not found
- ret
-InternalMemScanMem8 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.asm b/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.asm
deleted file mode 100644
index 9ff949c..0000000
--- a/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.asm
+++ /dev/null
@@ -1,58 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem.asm
-;
-; Abstract:
-;
-; SetMem function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; EFIAPI
-; InternalMemSetMem (
-; OUT VOID *Buffer,
-; IN UINTN Length,
-; IN UINT8 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemSetMem PROC USES rdi
- mov rax, r8
- mov ah, al
- DB 48h, 0fh, 6eh, 0c0h ; movd mm0, rax
- mov r8, rcx
- mov rdi, r8 ; rdi <- Buffer
- mov rcx, rdx
- and edx, 7
- shr rcx, 3
- jz @SetBytes
- DB 0fh, 70h, 0C0h, 00h ; pshufw mm0, mm0, 0h
-@@:
- DB 0fh, 0e7h, 07h ; movntq [rdi], mm0
- add rdi, 8
- loop @B
- mfence
-@SetBytes:
- mov ecx, edx
- rep stosb
- mov rax, r8
- ret
-InternalMemSetMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem16.asm b/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem16.asm
deleted file mode 100644
index fbd98b0..0000000
--- a/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem16.asm
+++ /dev/null
@@ -1,57 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem16.asm
-;
-; Abstract:
-;
-; SetMem16 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; EFIAPI
-; InternalMemSetMem16 (
-; OUT VOID *Buffer,
-; IN UINTN Length,
-; IN UINT16 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemSetMem16 PROC USES rdi
- mov rax, r8
- DB 48h, 0fh, 6eh, 0c0h ; movd mm0, rax
- mov r8, rcx
- mov rdi, r8
- mov rcx, rdx
- and edx, 3
- shr rcx, 2
- jz @SetWords
- DB 0fh, 70h, 0C0h, 00h ; pshufw mm0, mm0, 0h
-@@:
- DB 0fh, 0e7h, 07h ; movntq [rdi], mm0
- add rdi, 8
- loop @B
- mfence
-@SetWords:
- mov ecx, edx
- rep stosw
- mov rax, r8
- ret
-InternalMemSetMem16 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem32.asm b/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem32.asm
deleted file mode 100644
index a0bdd89..0000000
--- a/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem32.asm
+++ /dev/null
@@ -1,53 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem32.asm
-;
-; Abstract:
-;
-; SetMem32 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemSetMem32 (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT32 Value
-; )
-;------------------------------------------------------------------------------
-InternalMemSetMem32 PROC
- DB 49h, 0fh, 6eh, 0c0h ; 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
- DB 0fh, 70h, 0C0h, 44h ; pshufw mm0, mm0, 44h
-@@:
- DB 0fh, 0e7h, 02h ; movntq [rdx], mm0
- lea rdx, [rdx + 8] ; use "lea" to avoid flag changes
- loop @B
- mfence
-@SetDwords:
- jnc @F
- DB 0fh, 7eh, 02h ; movd [rdx], mm0
-@@:
- ret
-InternalMemSetMem32 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem64.asm b/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem64.asm
deleted file mode 100644
index f26177f..0000000
--- a/MdePkg/Library/BaseMemoryLibMmx/X64/SetMem64.asm
+++ /dev/null
@@ -1,46 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem64.asm
-;
-; Abstract:
-;
-; SetMem64 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemSetMem64 (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT64 Value
-; )
-;------------------------------------------------------------------------------
-InternalMemSetMem64 PROC
- DB 49h, 0fh, 6eh, 0c0h ; movd mm0, r8 (Value)
- mov rax, rcx ; rax <- Buffer
- xchg rcx, rdx ; rcx <- Count
-@@:
- DB 0fh, 0e7h, 02h ; movntq [rdx], mm0
- add rdx, 8
- loop @B
- mfence
- ret
-InternalMemSetMem64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.asm b/MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.asm
deleted file mode 100644
index 0fcf50c..0000000
--- a/MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.asm
+++ /dev/null
@@ -1,54 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ZeroMem.asm
-;
-; Abstract:
-;
-; ZeroMem function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemZeroMem (
-; IN VOID *Buffer,
-; IN UINTN Count
-; );
-;------------------------------------------------------------------------------
-InternalMemZeroMem PROC USES rdi
- mov rdi, rcx
- mov rcx, rdx
- mov r8, rdi
- and edx, 7
- shr rcx, 3
- jz @ZeroBytes
- DB 0fh, 0efh, 0c0h ; pxor mm0, mm0
-@@:
- DB 0fh, 0e7h, 7 ; movntq [rdi], mm0
- add rdi, 8
- loop @B
- DB 0fh, 0aeh, 0f0h ; mfence
-@ZeroBytes:
- xor eax, eax
- mov ecx, edx
- rep stosb
- mov rax, r8
- ret
-InternalMemZeroMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf b/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
index bc5ec2f..3be1a24 100644
--- a/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
+++ b/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
@@ -57,63 +57,41 @@
Ia32/CopyMem.nasm
Ia32/CopyMem.S
Ia32/ScanMem64.nasm
- Ia32/ScanMem64.asm
Ia32/ScanMem32.nasm
- Ia32/ScanMem32.asm
Ia32/ScanMem16.nasm
- Ia32/ScanMem16.asm
Ia32/ScanMem8.nasm
- Ia32/ScanMem8.asm
Ia32/CompareMem.nasm
- Ia32/CompareMem.asm
Ia32/ZeroMem.nasm
- Ia32/ZeroMem.asm
Ia32/SetMem64.nasm
- Ia32/SetMem64.asm
Ia32/SetMem32.nasm
- Ia32/SetMem32.asm
Ia32/SetMem16.nasm
- Ia32/SetMem16.asm
Ia32/SetMem.nasm
- Ia32/SetMem.asm
Ia32/CopyMem.nasm
- Ia32/CopyMem.asm
Ia32/IsZeroBuffer.nasm
MemLibGuid.c
[Sources.X64]
X64/ScanMem64.nasm
- X64/ScanMem64.asm
X64/ScanMem64.S
X64/ScanMem32.nasm
- X64/ScanMem32.asm
X64/ScanMem32.S
X64/ScanMem16.nasm
- X64/ScanMem16.asm
X64/ScanMem16.S
X64/ScanMem8.nasm
- X64/ScanMem8.asm
X64/ScanMem8.S
X64/CompareMem.nasm
- X64/CompareMem.asm
X64/CompareMem.S
X64/ZeroMem.nasm
- X64/ZeroMem.asm
X64/ZeroMem.S
X64/SetMem64.nasm
- X64/SetMem64.asm
X64/SetMem64.S
X64/SetMem32.nasm
- X64/SetMem32.asm
X64/SetMem32.S
X64/SetMem16.nasm
- X64/SetMem16.asm
X64/SetMem16.S
X64/SetMem.nasm
- X64/SetMem.asm
X64/SetMem.S
X64/CopyMem.nasm
- X64/CopyMem.asm
X64/CopyMem.S
X64/IsZeroBuffer.nasm
MemLibGuid.c
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CompareMem.asm b/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CompareMem.asm
deleted file mode 100644
index 5a0792d..0000000
--- a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CompareMem.asm
+++ /dev/null
@@ -1,56 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CompareMem.Asm
-;
-; Abstract:
-;
-; CompareMem function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; INTN
-; EFIAPI
-; InternalMemCompareMem (
-; IN CONST VOID *DestinationBuffer,
-; IN CONST VOID *SourceBuffer,
-; IN UINTN Length
-; );
-;------------------------------------------------------------------------------
-InternalMemCompareMem PROC USES esi edi
- mov esi, [esp + 12]
- mov edi, [esp + 16]
- mov ecx, [esp + 20]
- repe cmpsb
- movzx eax, byte ptr [esi - 1]
- movzx edx, byte ptr [edi - 1]
- sub eax, edx
- ret
-InternalMemCompareMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CopyMem.asm b/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CopyMem.asm
deleted file mode 100644
index a57a628..0000000
--- a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CopyMem.asm
+++ /dev/null
@@ -1,84 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CopyMem.asm
-;
-; Abstract:
-;
-; CopyMem function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .xmm
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemCopyMem (
-; IN VOID *Destination,
-; IN VOID *Source,
-; IN UINTN Count
-; );
-;------------------------------------------------------------------------------
-InternalMemCopyMem PROC USES esi edi
- mov esi, [esp + 16] ; esi <- Source
- mov edi, [esp + 12] ; edi <- Destination
- mov edx, [esp + 20] ; edx <- Count
- lea eax, [esi + edx - 1] ; eax <- End of Source
- cmp esi, edi
- jae @F
- cmp eax, edi ; Overlapped?
- jae @CopyBackward ; Copy backward if overlapped
-@@:
- xor ecx, ecx
- sub ecx, edi
- and ecx, 15 ; ecx + edi aligns on 16-byte boundary
- jz @F
- cmp ecx, edx
- cmova ecx, edx
- sub edx, ecx ; edx <- remaining bytes to copy
- rep movsb
-@@:
- mov ecx, edx
- and edx, 15
- shr ecx, 4 ; ecx <- # of DQwords to copy
- jz @CopyBytes
- add esp, -16
- movdqu [esp], xmm0 ; save xmm0
-@@:
- movdqu xmm0, [esi] ; esi may not be 16-bytes aligned
- movntdq [edi], xmm0 ; edi should be 16-bytes aligned
- add esi, 16
- add edi, 16
- loop @B
- mfence
- movdqu xmm0, [esp] ; restore xmm0
- add esp, 16 ; stack cleanup
- jmp @CopyBytes
-@CopyBackward:
- mov esi, eax ; esi <- Last byte in Source
- lea edi, [edi + edx - 1] ; edi <- Last byte in Destination
- std
-@CopyBytes:
- mov ecx, edx
- rep movsb
- cld
- mov eax, [esp + 12] ; eax <- Destination as return value
- ret
-InternalMemCopyMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem16.asm b/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem16.asm
deleted file mode 100644
index 0ee190e..0000000
--- a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem16.asm
+++ /dev/null
@@ -1,55 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem16.Asm
-;
-; Abstract:
-;
-; ScanMem16 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem16 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT16 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem16 PROC USES edi
- mov ecx, [esp + 12]
- mov edi, [esp + 8]
- mov eax, [esp + 16]
- repne scasw
- lea eax, [edi - 2]
- cmovnz eax, ecx
- ret
-InternalMemScanMem16 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem32.asm b/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem32.asm
deleted file mode 100644
index adbf295..0000000
--- a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem32.asm
+++ /dev/null
@@ -1,55 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem32.Asm
-;
-; Abstract:
-;
-; ScanMem32 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem32 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT32 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem32 PROC USES edi
- mov ecx, [esp + 12]
- mov edi, [esp + 8]
- mov eax, [esp + 16]
- repne scasd
- lea eax, [edi - 4]
- cmovnz eax, ecx
- ret
-InternalMemScanMem32 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem64.asm b/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem64.asm
deleted file mode 100644
index 0a0f5d0..0000000
--- a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem64.asm
+++ /dev/null
@@ -1,64 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem64.Asm
-;
-; Abstract:
-;
-; ScanMem64 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem64 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT64 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem64 PROC USES edi
- mov ecx, [esp + 12]
- mov eax, [esp + 16]
- mov edx, [esp + 20]
- mov edi, [esp + 8]
-@@:
- cmp eax, [edi]
- lea edi, [edi + 8]
- loopne @B
- jne @F
- cmp edx, [edi - 4]
- jecxz @F
- jne @B
-@@:
- lea eax, [edi - 8]
- cmovne eax, ecx
- ret
-InternalMemScanMem64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem8.asm b/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem8.asm
deleted file mode 100644
index c64d41d..0000000
--- a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem8.asm
+++ /dev/null
@@ -1,55 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem8.Asm
-;
-; Abstract:
-;
-; ScanMem8 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem8 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT8 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem8 PROC USES edi
- mov ecx, [esp + 12]
- mov edi, [esp + 8]
- mov al, [esp + 16]
- repne scasb
- lea eax, [edi - 1]
- cmovnz eax, ecx
- ret
-InternalMemScanMem8 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem.asm b/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem.asm
deleted file mode 100644
index 663d238..0000000
--- a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem.asm
+++ /dev/null
@@ -1,53 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem.Asm
-;
-; Abstract:
-;
-; SetMem function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemSetMem (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT8 Value
-; )
-;------------------------------------------------------------------------------
-InternalMemSetMem PROC USES edi
- mov ecx, [esp + 12]
- mov al, [esp + 16]
- mov ah, al
- shrd edx, eax, 16
- shld eax, edx, 16
- mov edx, ecx
- mov edi, [esp + 8]
- shr ecx, 2
- rep stosd
- mov ecx, edx
- and ecx, 3
- rep stosb
- mov eax, [esp + 8]
- ret
-InternalMemSetMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem16.asm b/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem16.asm
deleted file mode 100644
index 3f3350d..0000000
--- a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem16.asm
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem16.Asm
-;
-; Abstract:
-;
-; SetMem16 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemSetMem16 (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT16 Value
-; )
-;------------------------------------------------------------------------------
-InternalMemSetMem16 PROC USES edi
- mov eax, [esp + 16]
- mov edi, [esp + 8]
- mov ecx, [esp + 12]
- rep stosw
- mov eax, [esp + 8]
- ret
-InternalMemSetMem16 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem32.asm b/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem32.asm
deleted file mode 100644
index b27b85b..0000000
--- a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem32.asm
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem32.Asm
-;
-; Abstract:
-;
-; SetMem32 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemSetMem32 (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT32 Value
-; )
-;------------------------------------------------------------------------------
-InternalMemSetMem32 PROC USES edi
- mov eax, [esp + 16]
- mov edi, [esp + 8]
- mov ecx, [esp + 12]
- rep stosd
- mov eax, [esp + 8]
- ret
-InternalMemSetMem32 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem64.asm b/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem64.asm
deleted file mode 100644
index 146f3b9..0000000
--- a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem64.asm
+++ /dev/null
@@ -1,49 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem64.Asm
-;
-; Abstract:
-;
-; SetMem64 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemSetMem64 (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT64 Value
-; )
-;------------------------------------------------------------------------------
-InternalMemSetMem64 PROC USES edi
- mov ecx, [esp + 12]
- mov eax, [esp + 16]
- mov edx, [esp + 20]
- mov edi, [esp + 8]
-@@:
- mov [edi + ecx*8 - 8], eax
- mov [edi + ecx*8 - 4], edx
- loop @B
- mov eax, edi
- ret
-InternalMemSetMem64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ZeroMem.asm b/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ZeroMem.asm
deleted file mode 100644
index 722bf67..0000000
--- a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ZeroMem.asm
+++ /dev/null
@@ -1,50 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ZeroMem.Asm
-;
-; Abstract:
-;
-; ZeroMem function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemZeroMem (
-; IN VOID *Buffer,
-; IN UINTN Count
-; );
-;------------------------------------------------------------------------------
-InternalMemZeroMem PROC USES edi
- xor eax, eax
- mov edi, [esp + 8]
- mov ecx, [esp + 12]
- mov edx, ecx
- shr ecx, 2
- and edx, 3
- push edi
- rep stosd
- mov ecx, edx
- rep stosb
- pop eax
- ret
-InternalMemZeroMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/X64/CompareMem.asm b/MdePkg/Library/BaseMemoryLibOptDxe/X64/CompareMem.asm
deleted file mode 100644
index 0ef05b2..0000000
--- a/MdePkg/Library/BaseMemoryLibOptDxe/X64/CompareMem.asm
+++ /dev/null
@@ -1,54 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CompareMem.Asm
-;
-; Abstract:
-;
-; CompareMem function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; INTN
-; EFIAPI
-; InternalMemCompareMem (
-; IN CONST VOID *DestinationBuffer,
-; IN CONST VOID *SourceBuffer,
-; IN UINTN Length
-; );
-;------------------------------------------------------------------------------
-InternalMemCompareMem PROC USES rsi rdi
- mov rsi, rcx
- mov rdi, rdx
- mov rcx, r8
- repe cmpsb
- movzx rax, byte ptr [rsi - 1]
- movzx rdx, byte ptr [rdi - 1]
- sub rax, rdx
- ret
-InternalMemCompareMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/X64/CopyMem.asm b/MdePkg/Library/BaseMemoryLibOptDxe/X64/CopyMem.asm
deleted file mode 100644
index 8bcaca7..0000000
--- a/MdePkg/Library/BaseMemoryLibOptDxe/X64/CopyMem.asm
+++ /dev/null
@@ -1,79 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CopyMem.asm
-;
-; Abstract:
-;
-; CopyMem function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; EFIAPI
-; InternalMemCopyMem (
-; IN VOID *Destination,
-; IN VOID *Source,
-; IN UINTN Count
-; );
-;------------------------------------------------------------------------------
-InternalMemCopyMem PROC USES rsi rdi
- mov rsi, rdx ; rsi <- Source
- mov rdi, rcx ; rdi <- Destination
- lea r9, [rsi + r8 - 1] ; r9 <- Last byte of Source
- cmp rsi, rdi
- mov rax, rdi ; rax <- Destination as return value
- jae @F ; Copy forward if Source > Destination
- cmp r9, rdi ; Overlapped?
- jae @CopyBackward ; Copy backward if overlapped
-@@:
- xor rcx, rcx
- sub rcx, rdi ; rcx <- -rdi
- and rcx, 15 ; rcx + rsi should be 16 bytes aligned
- jz @F ; skip if rcx == 0
- cmp rcx, r8
- cmova rcx, r8
- sub r8, rcx
- rep movsb
-@@:
- mov rcx, r8
- and r8, 15
- shr rcx, 4 ; rcx <- # of DQwords to copy
- jz @CopyBytes
- movdqa [rsp + 18h], xmm0 ; save xmm0 on stack
-@@:
- movdqu xmm0, [rsi] ; rsi may not be 16-byte aligned
- movntdq [rdi], xmm0 ; rdi should be 16-byte aligned
- add rsi, 16
- add rdi, 16
- loop @B
- mfence
- movdqa xmm0, [rsp + 18h] ; restore xmm0
- jmp @CopyBytes ; copy remaining bytes
-@CopyBackward:
- mov rsi, r9 ; rsi <- Last byte of Source
- lea rdi, [rdi + r8 - 1] ; rdi <- Last byte of Destination
- std
-@CopyBytes:
- mov rcx, r8
- rep movsb
- cld
- ret
-InternalMemCopyMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem16.asm b/MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem16.asm
deleted file mode 100644
index a6114db..0000000
--- a/MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem16.asm
+++ /dev/null
@@ -1,53 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem16.Asm
-;
-; Abstract:
-;
-; ScanMem16 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem16 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT16 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem16 PROC USES rdi
- mov rdi, rcx
- mov rax, r8
- mov rcx, rdx
- repne scasw
- lea rax, [rdi - 2]
- cmovnz rax, rcx
- ret
-InternalMemScanMem16 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem32.asm b/MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem32.asm
deleted file mode 100644
index 40ff6c9..0000000
--- a/MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem32.asm
+++ /dev/null
@@ -1,53 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem32.Asm
-;
-; Abstract:
-;
-; ScanMem32 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem32 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT32 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem32 PROC USES rdi
- mov rdi, rcx
- mov rax, r8
- mov rcx, rdx
- repne scasd
- lea rax, [rdi - 4]
- cmovnz rax, rcx
- ret
-InternalMemScanMem32 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem64.asm b/MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem64.asm
deleted file mode 100644
index e78da7d..0000000
--- a/MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem64.asm
+++ /dev/null
@@ -1,53 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem64.Asm
-;
-; Abstract:
-;
-; ScanMem64 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem64 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT64 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem64 PROC USES rdi
- mov rdi, rcx
- mov rax, r8
- mov rcx, rdx
- repne scasq
- lea rax, [rdi - 8]
- cmovnz rax, rcx
- ret
-InternalMemScanMem64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem8.asm b/MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem8.asm
deleted file mode 100644
index fee2397..0000000
--- a/MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem8.asm
+++ /dev/null
@@ -1,53 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem8.Asm
-;
-; Abstract:
-;
-; ScanMem8 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem8 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT8 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem8 PROC USES rdi
- mov rdi, rcx
- mov rcx, rdx
- mov rax, r8
- repne scasb
- lea rax, [rdi - 1]
- cmovnz rax, rcx ; set rax to 0 if not found
- ret
-InternalMemScanMem8 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem.asm b/MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem.asm
deleted file mode 100644
index 5ca1571..0000000
--- a/MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem.asm
+++ /dev/null
@@ -1,58 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem.Asm
-;
-; Abstract:
-;
-; SetMem function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; EFIAPI
-; InternalMemSetMem (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT8 Value
-; )
-;------------------------------------------------------------------------------
-InternalMemSetMem PROC USES rdi rbx
- push rcx ; push Buffer
- mov rax, r8 ; rax = Value
- and rax, 0ffh ; rax = lower 8 bits of r8, upper 56 bits are 0
- mov ah, al ; ah = al
- mov bx, ax ; bx = ax
- shl rax, 10h ; rax = ax << 16
- mov ax, bx ; ax = bx
- mov rbx, rax ; ebx = eax
- shl rax, 20h ; rax = rax << 32
- or rax, rbx ; eax = ebx
- mov rdi, rcx ; rdi = Buffer
- mov rcx, rdx ; rcx = Count
- shr rcx, 3 ; rcx = rcx / 8
- cld
- rep stosq
- mov rcx, rdx ; rcx = rdx
- and rcx, 7 ; rcx = rcx & 7
- rep stosb
- pop rax ; rax = Buffer
- ret
-InternalMemSetMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem16.asm b/MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem16.asm
deleted file mode 100644
index 1ac3b8d..0000000
--- a/MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem16.asm
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem16.Asm
-;
-; Abstract:
-;
-; SetMem16 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; EFIAPI
-; InternalMemSetMem16 (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT16 Value
-; )
-;------------------------------------------------------------------------------
-InternalMemSetMem16 PROC USES rdi
- push rcx
- mov rdi, rcx
- mov rax, r8
- xchg rcx, rdx
- rep stosw
- pop rax
- ret
-InternalMemSetMem16 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem32.asm b/MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem32.asm
deleted file mode 100644
index 4a42b2f..0000000
--- a/MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem32.asm
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem32.Asm
-;
-; Abstract:
-;
-; SetMem32 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; EFIAPI
-; InternalMemSetMem32 (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT32 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemSetMem32 PROC USES rdi
- push rcx
- mov rdi, rcx
- mov rax, r8
- xchg rcx, rdx
- rep stosd
- pop rax
- ret
-InternalMemSetMem32 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem64.asm b/MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem64.asm
deleted file mode 100644
index 9611c4c..0000000
--- a/MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem64.asm
+++ /dev/null
@@ -1,44 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem64.Asm
-;
-; Abstract:
-;
-; SetMem64 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemSetMem64 (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT64 Value
-; )
-;------------------------------------------------------------------------------
-InternalMemSetMem64 PROC USES rdi
- push rcx
- mov rdi, rcx
- mov rax, r8
- xchg rcx, rdx
- rep stosq
- pop rax
- ret
-InternalMemSetMem64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/X64/ZeroMem.asm b/MdePkg/Library/BaseMemoryLibOptDxe/X64/ZeroMem.asm
deleted file mode 100644
index 29398fb..0000000
--- a/MdePkg/Library/BaseMemoryLibOptDxe/X64/ZeroMem.asm
+++ /dev/null
@@ -1,48 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ZeroMem.Asm
-;
-; Abstract:
-;
-; ZeroMem function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemZeroMem (
-; IN VOID *Buffer,
-; IN UINTN Count
-; );
-;------------------------------------------------------------------------------
-InternalMemZeroMem PROC USES rdi
- push rcx ; push Buffer
- xor rax, rax ; rax = 0
- mov rdi, rcx ; rdi = Buffer
- mov rcx, rdx ; rcx = Count
- shr rcx, 3 ; rcx = rcx / 8
- and rdx, 7 ; rdx = rdx & 7
- cld
- rep stosq
- mov rcx, rdx ; rcx = rdx
- rep stosb
- pop rax ; rax = Buffer
- ret
-InternalMemZeroMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf b/MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf
index 21f060e..db4a2fb 100644
--- a/MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf
+++ b/MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf
@@ -57,27 +57,16 @@
Ia32/CopyMem.nasm
Ia32/CopyMem.S
Ia32/ScanMem64.nasm
- Ia32/ScanMem64.asm
Ia32/ScanMem32.nasm
- Ia32/ScanMem32.asm
Ia32/ScanMem16.nasm
- Ia32/ScanMem16.asm
Ia32/ScanMem8.nasm
- Ia32/ScanMem8.asm
Ia32/CompareMem.nasm
- Ia32/CompareMem.asm
Ia32/ZeroMem.nasm
- Ia32/ZeroMem.asm
Ia32/SetMem64.nasm
- Ia32/SetMem64.asm
Ia32/SetMem32.nasm
- Ia32/SetMem32.asm
Ia32/SetMem16.nasm
- Ia32/SetMem16.asm
Ia32/SetMem.nasm
- Ia32/SetMem.asm
Ia32/CopyMem.nasm
- Ia32/CopyMem.asm
Ia32/IsZeroBuffer.nasm
ScanMem64Wrapper.c
ScanMem32Wrapper.c
@@ -95,37 +84,26 @@
[Sources.X64]
X64/ScanMem64.nasm
- X64/ScanMem64.asm
X64/ScanMem64.S
X64/ScanMem32.nasm
- X64/ScanMem32.asm
X64/ScanMem32.S
X64/ScanMem16.nasm
- X64/ScanMem16.asm
X64/ScanMem16.S
X64/ScanMem8.nasm
- X64/ScanMem8.asm
X64/ScanMem8.S
X64/CompareMem.nasm
- X64/CompareMem.asm
X64/CompareMem.S
X64/ZeroMem.nasm
- X64/ZeroMem.asm
X64/ZeroMem.S
X64/SetMem64.nasm
- X64/SetMem64.asm
X64/SetMem64.S
X64/SetMem32.nasm
- X64/SetMem32.asm
X64/SetMem32.S
X64/SetMem16.nasm
- X64/SetMem16.asm
X64/SetMem16.S
X64/SetMem.nasm
- X64/SetMem.asm
X64/SetMem.S
X64/CopyMem.nasm
- X64/CopyMem.asm
X64/CopyMem.S
X64/IsZeroBuffer.nasm
ScanMem64Wrapper.c
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/Ia32/CompareMem.asm b/MdePkg/Library/BaseMemoryLibOptPei/Ia32/CompareMem.asm
deleted file mode 100644
index 5a0792d..0000000
--- a/MdePkg/Library/BaseMemoryLibOptPei/Ia32/CompareMem.asm
+++ /dev/null
@@ -1,56 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CompareMem.Asm
-;
-; Abstract:
-;
-; CompareMem function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; INTN
-; EFIAPI
-; InternalMemCompareMem (
-; IN CONST VOID *DestinationBuffer,
-; IN CONST VOID *SourceBuffer,
-; IN UINTN Length
-; );
-;------------------------------------------------------------------------------
-InternalMemCompareMem PROC USES esi edi
- mov esi, [esp + 12]
- mov edi, [esp + 16]
- mov ecx, [esp + 20]
- repe cmpsb
- movzx eax, byte ptr [esi - 1]
- movzx edx, byte ptr [edi - 1]
- sub eax, edx
- ret
-InternalMemCompareMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/Ia32/CopyMem.asm b/MdePkg/Library/BaseMemoryLibOptPei/Ia32/CopyMem.asm
deleted file mode 100644
index 6f8d007..0000000
--- a/MdePkg/Library/BaseMemoryLibOptPei/Ia32/CopyMem.asm
+++ /dev/null
@@ -1,61 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CopyMem.Asm
-;
-; Abstract:
-;
-; CopyMem function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemCopyMem (
-; IN VOID *Destination,
-; IN VOID *Source,
-; IN UINTN Count
-; )
-;------------------------------------------------------------------------------
-InternalMemCopyMem PROC USES esi edi
- mov esi, [esp+16] ; esi <- Source
- mov edi, [esp+12] ; edi <- Destination
- mov edx, [esp+20] ; edx <- Count
- cmp esi, edi
- je @CopyDone
- cmp edx, 0
- je @CopyDone
- lea eax, [esi + edx - 1] ; eax <- End of Source
- cmp esi, edi
- jae @CopyBytes
- cmp eax, edi
- jb @CopyBytes ; Copy backward if overlapped
- mov esi, eax ; esi <- End of Source
- lea edi, [edi + edx - 1] ; edi <- End of Destination
- std
-@CopyBytes:
- mov ecx, edx
- rep movsb ; Copy bytes backward
- cld
-@CopyDone:
- mov eax, [esp + 12] ; eax <- Destination as return value
- ret
-InternalMemCopyMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem16.asm b/MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem16.asm
deleted file mode 100644
index 0ee190e..0000000
--- a/MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem16.asm
+++ /dev/null
@@ -1,55 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem16.Asm
-;
-; Abstract:
-;
-; ScanMem16 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem16 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT16 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem16 PROC USES edi
- mov ecx, [esp + 12]
- mov edi, [esp + 8]
- mov eax, [esp + 16]
- repne scasw
- lea eax, [edi - 2]
- cmovnz eax, ecx
- ret
-InternalMemScanMem16 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem32.asm b/MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem32.asm
deleted file mode 100644
index adbf295..0000000
--- a/MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem32.asm
+++ /dev/null
@@ -1,55 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem32.Asm
-;
-; Abstract:
-;
-; ScanMem32 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem32 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT32 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem32 PROC USES edi
- mov ecx, [esp + 12]
- mov edi, [esp + 8]
- mov eax, [esp + 16]
- repne scasd
- lea eax, [edi - 4]
- cmovnz eax, ecx
- ret
-InternalMemScanMem32 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem64.asm b/MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem64.asm
deleted file mode 100644
index 0a0f5d0..0000000
--- a/MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem64.asm
+++ /dev/null
@@ -1,64 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem64.Asm
-;
-; Abstract:
-;
-; ScanMem64 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem64 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT64 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem64 PROC USES edi
- mov ecx, [esp + 12]
- mov eax, [esp + 16]
- mov edx, [esp + 20]
- mov edi, [esp + 8]
-@@:
- cmp eax, [edi]
- lea edi, [edi + 8]
- loopne @B
- jne @F
- cmp edx, [edi - 4]
- jecxz @F
- jne @B
-@@:
- lea eax, [edi - 8]
- cmovne eax, ecx
- ret
-InternalMemScanMem64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem8.asm b/MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem8.asm
deleted file mode 100644
index c64d41d..0000000
--- a/MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem8.asm
+++ /dev/null
@@ -1,55 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem8.Asm
-;
-; Abstract:
-;
-; ScanMem8 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem8 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT8 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem8 PROC USES edi
- mov ecx, [esp + 12]
- mov edi, [esp + 8]
- mov al, [esp + 16]
- repne scasb
- lea eax, [edi - 1]
- cmovnz eax, ecx
- ret
-InternalMemScanMem8 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem.asm b/MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem.asm
deleted file mode 100644
index 663d238..0000000
--- a/MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem.asm
+++ /dev/null
@@ -1,53 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem.Asm
-;
-; Abstract:
-;
-; SetMem function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemSetMem (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT8 Value
-; )
-;------------------------------------------------------------------------------
-InternalMemSetMem PROC USES edi
- mov ecx, [esp + 12]
- mov al, [esp + 16]
- mov ah, al
- shrd edx, eax, 16
- shld eax, edx, 16
- mov edx, ecx
- mov edi, [esp + 8]
- shr ecx, 2
- rep stosd
- mov ecx, edx
- and ecx, 3
- rep stosb
- mov eax, [esp + 8]
- ret
-InternalMemSetMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem16.asm b/MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem16.asm
deleted file mode 100644
index 3f3350d..0000000
--- a/MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem16.asm
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem16.Asm
-;
-; Abstract:
-;
-; SetMem16 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemSetMem16 (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT16 Value
-; )
-;------------------------------------------------------------------------------
-InternalMemSetMem16 PROC USES edi
- mov eax, [esp + 16]
- mov edi, [esp + 8]
- mov ecx, [esp + 12]
- rep stosw
- mov eax, [esp + 8]
- ret
-InternalMemSetMem16 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem32.asm b/MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem32.asm
deleted file mode 100644
index b27b85b..0000000
--- a/MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem32.asm
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem32.Asm
-;
-; Abstract:
-;
-; SetMem32 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemSetMem32 (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT32 Value
-; )
-;------------------------------------------------------------------------------
-InternalMemSetMem32 PROC USES edi
- mov eax, [esp + 16]
- mov edi, [esp + 8]
- mov ecx, [esp + 12]
- rep stosd
- mov eax, [esp + 8]
- ret
-InternalMemSetMem32 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem64.asm b/MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem64.asm
deleted file mode 100644
index 146f3b9..0000000
--- a/MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem64.asm
+++ /dev/null
@@ -1,49 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem64.Asm
-;
-; Abstract:
-;
-; SetMem64 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemSetMem64 (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT64 Value
-; )
-;------------------------------------------------------------------------------
-InternalMemSetMem64 PROC USES edi
- mov ecx, [esp + 12]
- mov eax, [esp + 16]
- mov edx, [esp + 20]
- mov edi, [esp + 8]
-@@:
- mov [edi + ecx*8 - 8], eax
- mov [edi + ecx*8 - 4], edx
- loop @B
- mov eax, edi
- ret
-InternalMemSetMem64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/Ia32/ZeroMem.asm b/MdePkg/Library/BaseMemoryLibOptPei/Ia32/ZeroMem.asm
deleted file mode 100644
index 722bf67..0000000
--- a/MdePkg/Library/BaseMemoryLibOptPei/Ia32/ZeroMem.asm
+++ /dev/null
@@ -1,50 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ZeroMem.Asm
-;
-; Abstract:
-;
-; ZeroMem function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemZeroMem (
-; IN VOID *Buffer,
-; IN UINTN Count
-; );
-;------------------------------------------------------------------------------
-InternalMemZeroMem PROC USES edi
- xor eax, eax
- mov edi, [esp + 8]
- mov ecx, [esp + 12]
- mov edx, ecx
- shr ecx, 2
- and edx, 3
- push edi
- rep stosd
- mov ecx, edx
- rep stosb
- pop eax
- ret
-InternalMemZeroMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/X64/CompareMem.asm b/MdePkg/Library/BaseMemoryLibOptPei/X64/CompareMem.asm
deleted file mode 100644
index 0ef05b2..0000000
--- a/MdePkg/Library/BaseMemoryLibOptPei/X64/CompareMem.asm
+++ /dev/null
@@ -1,54 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CompareMem.Asm
-;
-; Abstract:
-;
-; CompareMem function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; INTN
-; EFIAPI
-; InternalMemCompareMem (
-; IN CONST VOID *DestinationBuffer,
-; IN CONST VOID *SourceBuffer,
-; IN UINTN Length
-; );
-;------------------------------------------------------------------------------
-InternalMemCompareMem PROC USES rsi rdi
- mov rsi, rcx
- mov rdi, rdx
- mov rcx, r8
- repe cmpsb
- movzx rax, byte ptr [rsi - 1]
- movzx rdx, byte ptr [rdi - 1]
- sub rax, rdx
- ret
-InternalMemCompareMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/X64/CopyMem.asm b/MdePkg/Library/BaseMemoryLibOptPei/X64/CopyMem.asm
deleted file mode 100644
index df2e7cc..0000000
--- a/MdePkg/Library/BaseMemoryLibOptPei/X64/CopyMem.asm
+++ /dev/null
@@ -1,61 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CopyMem.Asm
-;
-; Abstract:
-;
-; CopyMem function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; EFIAPI
-; InternalMemCopyMem (
-; IN VOID *Destination,
-; IN VOID *Source,
-; IN UINTN Count
-; )
-;------------------------------------------------------------------------------
-InternalMemCopyMem PROC USES rsi rdi
- mov rsi, rdx ; rsi <- Source
- mov rdi, rcx ; rdi <- Destination
- lea r9, [rsi + r8 - 1] ; r9 <- End of Source
- cmp rsi, rdi
- mov rax, rdi ; rax <- Destination as return value
- jae @F
- cmp r9, rdi
- jae @CopyBackward ; Copy backward if overlapped
-@@:
- mov rcx, r8
- and r8, 7
- shr rcx, 3
- rep movsq ; Copy as many Qwords as possible
- jmp @CopyBytes
-@CopyBackward:
- mov rsi, r9 ; rsi <- End of Source
- lea rdi, [rdi + r8 - 1] ; esi <- End of Destination
- std ; set direction flag
-@CopyBytes:
- mov rcx, r8
- rep movsb ; Copy bytes backward
- cld
- ret
-InternalMemCopyMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem16.asm b/MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem16.asm
deleted file mode 100644
index a6114db..0000000
--- a/MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem16.asm
+++ /dev/null
@@ -1,53 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem16.Asm
-;
-; Abstract:
-;
-; ScanMem16 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem16 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT16 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem16 PROC USES rdi
- mov rdi, rcx
- mov rax, r8
- mov rcx, rdx
- repne scasw
- lea rax, [rdi - 2]
- cmovnz rax, rcx
- ret
-InternalMemScanMem16 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem32.asm b/MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem32.asm
deleted file mode 100644
index 40ff6c9..0000000
--- a/MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem32.asm
+++ /dev/null
@@ -1,53 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem32.Asm
-;
-; Abstract:
-;
-; ScanMem32 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem32 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT32 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem32 PROC USES rdi
- mov rdi, rcx
- mov rax, r8
- mov rcx, rdx
- repne scasd
- lea rax, [rdi - 4]
- cmovnz rax, rcx
- ret
-InternalMemScanMem32 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem64.asm b/MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem64.asm
deleted file mode 100644
index e78da7d..0000000
--- a/MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem64.asm
+++ /dev/null
@@ -1,53 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem64.Asm
-;
-; Abstract:
-;
-; ScanMem64 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem64 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT64 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem64 PROC USES rdi
- mov rdi, rcx
- mov rax, r8
- mov rcx, rdx
- repne scasq
- lea rax, [rdi - 8]
- cmovnz rax, rcx
- ret
-InternalMemScanMem64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem8.asm b/MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem8.asm
deleted file mode 100644
index fee2397..0000000
--- a/MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem8.asm
+++ /dev/null
@@ -1,53 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem8.Asm
-;
-; Abstract:
-;
-; ScanMem8 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem8 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT8 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem8 PROC USES rdi
- mov rdi, rcx
- mov rcx, rdx
- mov rax, r8
- repne scasb
- lea rax, [rdi - 1]
- cmovnz rax, rcx ; set rax to 0 if not found
- ret
-InternalMemScanMem8 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem.asm b/MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem.asm
deleted file mode 100644
index 72b6405..0000000
--- a/MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem.asm
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem.Asm
-;
-; Abstract:
-;
-; SetMem function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; EFIAPI
-; InternalMemSetMem (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT8 Value
-; )
-;------------------------------------------------------------------------------
-InternalMemSetMem PROC USES rdi
- push rcx ; push Buffer
- mov rax, r8 ; rax = Value
- mov rdi, rcx ; rdi = Buffer
- mov rcx, rdx ; rcx = Count
- rep stosb
- pop rax ; rax = Buffer
- ret
-InternalMemSetMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem16.asm b/MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem16.asm
deleted file mode 100644
index 446e3a3..0000000
--- a/MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem16.asm
+++ /dev/null
@@ -1,44 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem16.Asm
-;
-; Abstract:
-;
-; SetMem16 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; EFIAPI
-; InternalMemSetMem16 (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT16 Value
-; )
-;------------------------------------------------------------------------------
-InternalMemSetMem16 PROC USES rdi
- mov rdi, rcx
- mov rax, r8
- xchg rcx, rdx
- rep stosw
- mov rax, rdx
- ret
-InternalMemSetMem16 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem32.asm b/MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem32.asm
deleted file mode 100644
index abe733e..0000000
--- a/MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem32.asm
+++ /dev/null
@@ -1,44 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem32.Asm
-;
-; Abstract:
-;
-; SetMem32 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; EFIAPI
-; InternalMemSetMem32 (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT32 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemSetMem32 PROC USES rdi
- mov rdi, rcx
- mov rax, r8
- xchg rcx, rdx
- rep stosd
- mov rax, rdx
- ret
-InternalMemSetMem32 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem64.asm b/MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem64.asm
deleted file mode 100644
index 0a91105..0000000
--- a/MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem64.asm
+++ /dev/null
@@ -1,43 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem64.Asm
-;
-; Abstract:
-;
-; SetMem64 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemSetMem64 (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT64 Value
-; )
-;------------------------------------------------------------------------------
-InternalMemSetMem64 PROC USES rdi
- mov rdi, rcx
- mov rax, r8
- xchg rcx, rdx
- rep stosq
- mov rax, rdx
- ret
-InternalMemSetMem64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/X64/ZeroMem.asm b/MdePkg/Library/BaseMemoryLibOptPei/X64/ZeroMem.asm
deleted file mode 100644
index fc4403a..0000000
--- a/MdePkg/Library/BaseMemoryLibOptPei/X64/ZeroMem.asm
+++ /dev/null
@@ -1,47 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ZeroMem.Asm
-;
-; Abstract:
-;
-; ZeroMem function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemZeroMem (
-; IN VOID *Buffer,
-; IN UINTN Count
-; );
-;------------------------------------------------------------------------------
-InternalMemZeroMem PROC USES rdi
- push rcx
- xor rax, rax
- mov rdi, rcx
- mov rcx, rdx
- shr rcx, 3
- and rdx, 7
- rep stosq
- mov ecx, edx
- rep stosb
- pop rax
- ret
-InternalMemZeroMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf b/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
index 729e26a..892d069 100644
--- a/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
+++ b/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
@@ -70,27 +70,16 @@
Ia32/CopyMem.nasm
Ia32/CopyMem.S
Ia32/ScanMem64.nasm
- Ia32/ScanMem64.asm
Ia32/ScanMem32.nasm
- Ia32/ScanMem32.asm
Ia32/ScanMem16.nasm
- Ia32/ScanMem16.asm
Ia32/ScanMem8.nasm
- Ia32/ScanMem8.asm
Ia32/CompareMem.nasm
- Ia32/CompareMem.asm
Ia32/ZeroMem.nasm
- Ia32/ZeroMem.asm
Ia32/SetMem64.nasm
- Ia32/SetMem64.asm
Ia32/SetMem32.nasm
- Ia32/SetMem32.asm
Ia32/SetMem16.nasm
- Ia32/SetMem16.asm
Ia32/SetMem.nasm
- Ia32/SetMem.asm
Ia32/CopyMem.nasm
- Ia32/CopyMem.asm
Ia32/IsZeroBuffer.nasm
[Sources.X64]
@@ -117,27 +106,16 @@
X64/CopyMem.nasm
X64/CopyMem.S
X64/ScanMem64.nasm
- X64/ScanMem64.asm
X64/ScanMem32.nasm
- X64/ScanMem32.asm
X64/ScanMem16.nasm
- X64/ScanMem16.asm
X64/ScanMem8.nasm
- X64/ScanMem8.asm
X64/CompareMem.nasm
- X64/CompareMem.asm
X64/ZeroMem.nasm
- X64/ZeroMem.asm
X64/SetMem64.nasm
- X64/SetMem64.asm
X64/SetMem32.nasm
- X64/SetMem32.asm
X64/SetMem16.nasm
- X64/SetMem16.asm
X64/SetMem.nasm
- X64/SetMem.asm
X64/CopyMem.nasm
- X64/CopyMem.asm
X64/IsZeroBuffer.nasm
[Packages]
diff --git a/MdePkg/Library/BaseMemoryLibRepStr/Ia32/CompareMem.asm b/MdePkg/Library/BaseMemoryLibRepStr/Ia32/CompareMem.asm
deleted file mode 100644
index 5a0792d..0000000
--- a/MdePkg/Library/BaseMemoryLibRepStr/Ia32/CompareMem.asm
+++ /dev/null
@@ -1,56 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CompareMem.Asm
-;
-; Abstract:
-;
-; CompareMem function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; INTN
-; EFIAPI
-; InternalMemCompareMem (
-; IN CONST VOID *DestinationBuffer,
-; IN CONST VOID *SourceBuffer,
-; IN UINTN Length
-; );
-;------------------------------------------------------------------------------
-InternalMemCompareMem PROC USES esi edi
- mov esi, [esp + 12]
- mov edi, [esp + 16]
- mov ecx, [esp + 20]
- repe cmpsb
- movzx eax, byte ptr [esi - 1]
- movzx edx, byte ptr [edi - 1]
- sub eax, edx
- ret
-InternalMemCompareMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibRepStr/Ia32/CopyMem.asm b/MdePkg/Library/BaseMemoryLibRepStr/Ia32/CopyMem.asm
deleted file mode 100644
index cdb3520..0000000
--- a/MdePkg/Library/BaseMemoryLibRepStr/Ia32/CopyMem.asm
+++ /dev/null
@@ -1,63 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CopyMem.Asm
-;
-; Abstract:
-;
-; CopyMem function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemCopyMem (
-; IN VOID *Destination,
-; IN VOID *Source,
-; IN UINTN Count
-; )
-;------------------------------------------------------------------------------
-InternalMemCopyMem PROC USES esi edi
- mov esi, [esp + 16] ; esi <- Source
- mov edi, [esp + 12] ; edi <- Destination
- mov edx, [esp + 20] ; edx <- Count
- lea eax, [esi + edx - 1] ; eax <- End of Source
- cmp esi, edi
- jae @F
- cmp eax, edi
- jae @CopyBackward ; Copy backward if overlapped
-@@:
- mov ecx, edx
- and edx, 3
- shr ecx, 2
- rep movsd ; Copy as many Dwords as possible
- jmp @CopyBytes
-@CopyBackward:
- mov esi, eax ; esi <- End of Source
- lea edi, [edi + edx - 1] ; edi <- End of Destination
- std
-@CopyBytes:
- mov ecx, edx
- rep movsb ; Copy bytes backward
- cld
- mov eax, [esp + 12] ; eax <- Destination as return value
- ret
-InternalMemCopyMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem16.asm b/MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem16.asm
deleted file mode 100644
index c12eaff..0000000
--- a/MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem16.asm
+++ /dev/null
@@ -1,57 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem16.Asm
-;
-; Abstract:
-;
-; ScanMem16 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem16 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT16 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem16 PROC USES edi
- mov ecx, [esp + 12]
- mov edi, [esp + 8]
- mov eax, [esp + 16]
- repne scasw
- lea eax, [edi - 2]
- jz @F
- mov eax, ecx
-@@:
- ret
-InternalMemScanMem16 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem32.asm b/MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem32.asm
deleted file mode 100644
index b065620..0000000
--- a/MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem32.asm
+++ /dev/null
@@ -1,57 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem32.Asm
-;
-; Abstract:
-;
-; ScanMem32 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem32 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT32 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem32 PROC USES edi
- mov ecx, [esp + 12]
- mov edi, [esp + 8]
- mov eax, [esp + 16]
- repne scasd
- lea eax, [edi - 4]
- jz @F
- mov eax, ecx
-@@:
- ret
-InternalMemScanMem32 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem64.asm b/MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem64.asm
deleted file mode 100644
index 96e3b99..0000000
--- a/MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem64.asm
+++ /dev/null
@@ -1,66 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem64.Asm
-;
-; Abstract:
-;
-; ScanMem64 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem64 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT64 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem64 PROC USES edi
- mov ecx, [esp + 12]
- mov eax, [esp + 16]
- mov edx, [esp + 20]
- mov edi, [esp + 8]
-@@:
- cmp eax, [edi]
- lea edi, [edi + 8]
- loopne @B
- jne @F
- cmp edx, [edi - 4]
- jecxz @F
- jne @B
-@@:
- lea eax, [edi - 8]
- jz @F
- mov eax, ecx
-@@:
- ret
-InternalMemScanMem64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem8.asm b/MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem8.asm
deleted file mode 100644
index 202d58f..0000000
--- a/MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem8.asm
+++ /dev/null
@@ -1,57 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem8.Asm
-;
-; Abstract:
-;
-; ScanMem8 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem8 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT8 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem8 PROC USES edi
- mov ecx, [esp + 12]
- mov edi, [esp + 8]
- mov al, [esp + 16]
- repne scasb
- lea eax, [edi - 1]
- jz @F
- mov eax, ecx
-@@:
- ret
-InternalMemScanMem8 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem.asm b/MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem.asm
deleted file mode 100644
index 3fdaba9..0000000
--- a/MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem.asm
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem.Asm
-;
-; Abstract:
-;
-; SetMem function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemSetMem (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT8 Value
-; )
-;------------------------------------------------------------------------------
-InternalMemSetMem PROC USES edi
- mov eax, [esp + 16]
- mov edi, [esp + 8]
- mov ecx, [esp + 12]
- rep stosb
- mov eax, [esp + 8]
- ret
-InternalMemSetMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem16.asm b/MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem16.asm
deleted file mode 100644
index 3f3350d..0000000
--- a/MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem16.asm
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem16.Asm
-;
-; Abstract:
-;
-; SetMem16 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemSetMem16 (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT16 Value
-; )
-;------------------------------------------------------------------------------
-InternalMemSetMem16 PROC USES edi
- mov eax, [esp + 16]
- mov edi, [esp + 8]
- mov ecx, [esp + 12]
- rep stosw
- mov eax, [esp + 8]
- ret
-InternalMemSetMem16 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem32.asm b/MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem32.asm
deleted file mode 100644
index b27b85b..0000000
--- a/MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem32.asm
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem32.Asm
-;
-; Abstract:
-;
-; SetMem32 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemSetMem32 (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT32 Value
-; )
-;------------------------------------------------------------------------------
-InternalMemSetMem32 PROC USES edi
- mov eax, [esp + 16]
- mov edi, [esp + 8]
- mov ecx, [esp + 12]
- rep stosd
- mov eax, [esp + 8]
- ret
-InternalMemSetMem32 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem64.asm b/MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem64.asm
deleted file mode 100644
index 146f3b9..0000000
--- a/MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem64.asm
+++ /dev/null
@@ -1,49 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem64.Asm
-;
-; Abstract:
-;
-; SetMem64 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemSetMem64 (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT64 Value
-; )
-;------------------------------------------------------------------------------
-InternalMemSetMem64 PROC USES edi
- mov ecx, [esp + 12]
- mov eax, [esp + 16]
- mov edx, [esp + 20]
- mov edi, [esp + 8]
-@@:
- mov [edi + ecx*8 - 8], eax
- mov [edi + ecx*8 - 4], edx
- loop @B
- mov eax, edi
- ret
-InternalMemSetMem64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibRepStr/Ia32/ZeroMem.asm b/MdePkg/Library/BaseMemoryLibRepStr/Ia32/ZeroMem.asm
deleted file mode 100644
index 722bf67..0000000
--- a/MdePkg/Library/BaseMemoryLibRepStr/Ia32/ZeroMem.asm
+++ /dev/null
@@ -1,50 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ZeroMem.Asm
-;
-; Abstract:
-;
-; ZeroMem function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemZeroMem (
-; IN VOID *Buffer,
-; IN UINTN Count
-; );
-;------------------------------------------------------------------------------
-InternalMemZeroMem PROC USES edi
- xor eax, eax
- mov edi, [esp + 8]
- mov ecx, [esp + 12]
- mov edx, ecx
- shr ecx, 2
- and edx, 3
- push edi
- rep stosd
- mov ecx, edx
- rep stosb
- pop eax
- ret
-InternalMemZeroMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibRepStr/X64/CompareMem.asm b/MdePkg/Library/BaseMemoryLibRepStr/X64/CompareMem.asm
deleted file mode 100644
index 0ef05b2..0000000
--- a/MdePkg/Library/BaseMemoryLibRepStr/X64/CompareMem.asm
+++ /dev/null
@@ -1,54 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CompareMem.Asm
-;
-; Abstract:
-;
-; CompareMem function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; INTN
-; EFIAPI
-; InternalMemCompareMem (
-; IN CONST VOID *DestinationBuffer,
-; IN CONST VOID *SourceBuffer,
-; IN UINTN Length
-; );
-;------------------------------------------------------------------------------
-InternalMemCompareMem PROC USES rsi rdi
- mov rsi, rcx
- mov rdi, rdx
- mov rcx, r8
- repe cmpsb
- movzx rax, byte ptr [rsi - 1]
- movzx rdx, byte ptr [rdi - 1]
- sub rax, rdx
- ret
-InternalMemCompareMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibRepStr/X64/CopyMem.asm b/MdePkg/Library/BaseMemoryLibRepStr/X64/CopyMem.asm
deleted file mode 100644
index df2e7cc..0000000
--- a/MdePkg/Library/BaseMemoryLibRepStr/X64/CopyMem.asm
+++ /dev/null
@@ -1,61 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CopyMem.Asm
-;
-; Abstract:
-;
-; CopyMem function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; EFIAPI
-; InternalMemCopyMem (
-; IN VOID *Destination,
-; IN VOID *Source,
-; IN UINTN Count
-; )
-;------------------------------------------------------------------------------
-InternalMemCopyMem PROC USES rsi rdi
- mov rsi, rdx ; rsi <- Source
- mov rdi, rcx ; rdi <- Destination
- lea r9, [rsi + r8 - 1] ; r9 <- End of Source
- cmp rsi, rdi
- mov rax, rdi ; rax <- Destination as return value
- jae @F
- cmp r9, rdi
- jae @CopyBackward ; Copy backward if overlapped
-@@:
- mov rcx, r8
- and r8, 7
- shr rcx, 3
- rep movsq ; Copy as many Qwords as possible
- jmp @CopyBytes
-@CopyBackward:
- mov rsi, r9 ; rsi <- End of Source
- lea rdi, [rdi + r8 - 1] ; esi <- End of Destination
- std ; set direction flag
-@CopyBytes:
- mov rcx, r8
- rep movsb ; Copy bytes backward
- cld
- ret
-InternalMemCopyMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem16.asm b/MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem16.asm
deleted file mode 100644
index a6114db..0000000
--- a/MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem16.asm
+++ /dev/null
@@ -1,53 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem16.Asm
-;
-; Abstract:
-;
-; ScanMem16 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem16 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT16 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem16 PROC USES rdi
- mov rdi, rcx
- mov rax, r8
- mov rcx, rdx
- repne scasw
- lea rax, [rdi - 2]
- cmovnz rax, rcx
- ret
-InternalMemScanMem16 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem32.asm b/MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem32.asm
deleted file mode 100644
index 40ff6c9..0000000
--- a/MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem32.asm
+++ /dev/null
@@ -1,53 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem32.Asm
-;
-; Abstract:
-;
-; ScanMem32 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem32 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT32 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem32 PROC USES rdi
- mov rdi, rcx
- mov rax, r8
- mov rcx, rdx
- repne scasd
- lea rax, [rdi - 4]
- cmovnz rax, rcx
- ret
-InternalMemScanMem32 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem64.asm b/MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem64.asm
deleted file mode 100644
index e78da7d..0000000
--- a/MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem64.asm
+++ /dev/null
@@ -1,53 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem64.Asm
-;
-; Abstract:
-;
-; ScanMem64 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem64 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT64 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem64 PROC USES rdi
- mov rdi, rcx
- mov rax, r8
- mov rcx, rdx
- repne scasq
- lea rax, [rdi - 8]
- cmovnz rax, rcx
- ret
-InternalMemScanMem64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem8.asm b/MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem8.asm
deleted file mode 100644
index fee2397..0000000
--- a/MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem8.asm
+++ /dev/null
@@ -1,53 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem8.Asm
-;
-; Abstract:
-;
-; ScanMem8 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem8 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT8 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem8 PROC USES rdi
- mov rdi, rcx
- mov rcx, rdx
- mov rax, r8
- repne scasb
- lea rax, [rdi - 1]
- cmovnz rax, rcx ; set rax to 0 if not found
- ret
-InternalMemScanMem8 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem.asm b/MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem.asm
deleted file mode 100644
index ef15710..0000000
--- a/MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem.asm
+++ /dev/null
@@ -1,44 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem.Asm
-;
-; Abstract:
-;
-; SetMem function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; EFIAPI
-; InternalMemSetMem (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT8 Value
-; )
-;------------------------------------------------------------------------------
-InternalMemSetMem PROC USES rdi
- mov rax, r8 ; rax = Value
- mov rdi, rcx ; rdi = Buffer
- xchg rcx, rdx ; rcx = Count, rdx = Buffer
- rep stosb
- mov rax, rdx ; rax = Buffer
- ret
-InternalMemSetMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem16.asm b/MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem16.asm
deleted file mode 100644
index 446e3a3..0000000
--- a/MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem16.asm
+++ /dev/null
@@ -1,44 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem16.Asm
-;
-; Abstract:
-;
-; SetMem16 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; EFIAPI
-; InternalMemSetMem16 (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT16 Value
-; )
-;------------------------------------------------------------------------------
-InternalMemSetMem16 PROC USES rdi
- mov rdi, rcx
- mov rax, r8
- xchg rcx, rdx
- rep stosw
- mov rax, rdx
- ret
-InternalMemSetMem16 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem32.asm b/MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem32.asm
deleted file mode 100644
index abe733e..0000000
--- a/MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem32.asm
+++ /dev/null
@@ -1,44 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem32.Asm
-;
-; Abstract:
-;
-; SetMem32 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; EFIAPI
-; InternalMemSetMem32 (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT32 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemSetMem32 PROC USES rdi
- mov rdi, rcx
- mov rax, r8
- xchg rcx, rdx
- rep stosd
- mov rax, rdx
- ret
-InternalMemSetMem32 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem64.asm b/MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem64.asm
deleted file mode 100644
index 0a91105..0000000
--- a/MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem64.asm
+++ /dev/null
@@ -1,43 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem64.Asm
-;
-; Abstract:
-;
-; SetMem64 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemSetMem64 (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT64 Value
-; )
-;------------------------------------------------------------------------------
-InternalMemSetMem64 PROC USES rdi
- mov rdi, rcx
- mov rax, r8
- xchg rcx, rdx
- rep stosq
- mov rax, rdx
- ret
-InternalMemSetMem64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibRepStr/X64/ZeroMem.asm b/MdePkg/Library/BaseMemoryLibRepStr/X64/ZeroMem.asm
deleted file mode 100644
index fc4403a..0000000
--- a/MdePkg/Library/BaseMemoryLibRepStr/X64/ZeroMem.asm
+++ /dev/null
@@ -1,47 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ZeroMem.Asm
-;
-; Abstract:
-;
-; ZeroMem function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemZeroMem (
-; IN VOID *Buffer,
-; IN UINTN Count
-; );
-;------------------------------------------------------------------------------
-InternalMemZeroMem PROC USES rdi
- push rcx
- xor rax, rax
- mov rdi, rcx
- mov rcx, rdx
- shr rcx, 3
- and rdx, 7
- rep stosq
- mov ecx, edx
- rep stosb
- pop rax
- ret
-InternalMemZeroMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.inf b/MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.inf
index fc82b16..71ca175 100644
--- a/MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.inf
+++ b/MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.inf
@@ -69,52 +69,30 @@
Ia32/CopyMem.nasm
Ia32/CopyMem.S
Ia32/ScanMem64.nasm
- Ia32/ScanMem64.asm
Ia32/ScanMem32.nasm
- Ia32/ScanMem32.asm
Ia32/ScanMem16.nasm
- Ia32/ScanMem16.asm
Ia32/ScanMem8.nasm
- Ia32/ScanMem8.asm
Ia32/CompareMem.nasm
- Ia32/CompareMem.asm
Ia32/ZeroMem.nasm
- Ia32/ZeroMem.asm
Ia32/SetMem64.nasm
- Ia32/SetMem64.asm
Ia32/SetMem32.nasm
- Ia32/SetMem32.asm
Ia32/SetMem16.nasm
- Ia32/SetMem16.asm
Ia32/SetMem.nasm
- Ia32/SetMem.asm
Ia32/CopyMem.nasm
- Ia32/CopyMem.asm
Ia32/IsZeroBuffer.nasm
[Sources.X64]
X64/ScanMem64.nasm
- X64/ScanMem64.asm
X64/ScanMem32.nasm
- X64/ScanMem32.asm
X64/ScanMem16.nasm
- X64/ScanMem16.asm
X64/ScanMem8.nasm
- X64/ScanMem8.asm
X64/CompareMem.nasm
- X64/CompareMem.asm
X64/ZeroMem.nasm
- X64/ZeroMem.asm
X64/SetMem64.nasm
- X64/SetMem64.asm
X64/SetMem32.nasm
- X64/SetMem32.asm
X64/SetMem16.nasm
- X64/SetMem16.asm
X64/SetMem.nasm
- X64/SetMem.asm
X64/CopyMem.nasm
- X64/CopyMem.asm
X64/ScanMem64.nasm
X64/ScanMem64.S
X64/ScanMem32.nasm
diff --git a/MdePkg/Library/BaseMemoryLibSse2/Ia32/CompareMem.asm b/MdePkg/Library/BaseMemoryLibSse2/Ia32/CompareMem.asm
deleted file mode 100644
index 5a0792d..0000000
--- a/MdePkg/Library/BaseMemoryLibSse2/Ia32/CompareMem.asm
+++ /dev/null
@@ -1,56 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CompareMem.Asm
-;
-; Abstract:
-;
-; CompareMem function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; INTN
-; EFIAPI
-; InternalMemCompareMem (
-; IN CONST VOID *DestinationBuffer,
-; IN CONST VOID *SourceBuffer,
-; IN UINTN Length
-; );
-;------------------------------------------------------------------------------
-InternalMemCompareMem PROC USES esi edi
- mov esi, [esp + 12]
- mov edi, [esp + 16]
- mov ecx, [esp + 20]
- repe cmpsb
- movzx eax, byte ptr [esi - 1]
- movzx edx, byte ptr [edi - 1]
- sub eax, edx
- ret
-InternalMemCompareMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibSse2/Ia32/CopyMem.asm b/MdePkg/Library/BaseMemoryLibSse2/Ia32/CopyMem.asm
deleted file mode 100644
index a57a628..0000000
--- a/MdePkg/Library/BaseMemoryLibSse2/Ia32/CopyMem.asm
+++ /dev/null
@@ -1,84 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CopyMem.asm
-;
-; Abstract:
-;
-; CopyMem function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .xmm
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemCopyMem (
-; IN VOID *Destination,
-; IN VOID *Source,
-; IN UINTN Count
-; );
-;------------------------------------------------------------------------------
-InternalMemCopyMem PROC USES esi edi
- mov esi, [esp + 16] ; esi <- Source
- mov edi, [esp + 12] ; edi <- Destination
- mov edx, [esp + 20] ; edx <- Count
- lea eax, [esi + edx - 1] ; eax <- End of Source
- cmp esi, edi
- jae @F
- cmp eax, edi ; Overlapped?
- jae @CopyBackward ; Copy backward if overlapped
-@@:
- xor ecx, ecx
- sub ecx, edi
- and ecx, 15 ; ecx + edi aligns on 16-byte boundary
- jz @F
- cmp ecx, edx
- cmova ecx, edx
- sub edx, ecx ; edx <- remaining bytes to copy
- rep movsb
-@@:
- mov ecx, edx
- and edx, 15
- shr ecx, 4 ; ecx <- # of DQwords to copy
- jz @CopyBytes
- add esp, -16
- movdqu [esp], xmm0 ; save xmm0
-@@:
- movdqu xmm0, [esi] ; esi may not be 16-bytes aligned
- movntdq [edi], xmm0 ; edi should be 16-bytes aligned
- add esi, 16
- add edi, 16
- loop @B
- mfence
- movdqu xmm0, [esp] ; restore xmm0
- add esp, 16 ; stack cleanup
- jmp @CopyBytes
-@CopyBackward:
- mov esi, eax ; esi <- Last byte in Source
- lea edi, [edi + edx - 1] ; edi <- Last byte in Destination
- std
-@CopyBytes:
- mov ecx, edx
- rep movsb
- cld
- mov eax, [esp + 12] ; eax <- Destination as return value
- ret
-InternalMemCopyMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem16.asm b/MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem16.asm
deleted file mode 100644
index 0ee190e..0000000
--- a/MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem16.asm
+++ /dev/null
@@ -1,55 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem16.Asm
-;
-; Abstract:
-;
-; ScanMem16 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem16 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT16 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem16 PROC USES edi
- mov ecx, [esp + 12]
- mov edi, [esp + 8]
- mov eax, [esp + 16]
- repne scasw
- lea eax, [edi - 2]
- cmovnz eax, ecx
- ret
-InternalMemScanMem16 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem32.asm b/MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem32.asm
deleted file mode 100644
index adbf295..0000000
--- a/MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem32.asm
+++ /dev/null
@@ -1,55 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem32.Asm
-;
-; Abstract:
-;
-; ScanMem32 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem32 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT32 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem32 PROC USES edi
- mov ecx, [esp + 12]
- mov edi, [esp + 8]
- mov eax, [esp + 16]
- repne scasd
- lea eax, [edi - 4]
- cmovnz eax, ecx
- ret
-InternalMemScanMem32 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem64.asm b/MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem64.asm
deleted file mode 100644
index 0a0f5d0..0000000
--- a/MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem64.asm
+++ /dev/null
@@ -1,64 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem64.Asm
-;
-; Abstract:
-;
-; ScanMem64 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem64 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT64 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem64 PROC USES edi
- mov ecx, [esp + 12]
- mov eax, [esp + 16]
- mov edx, [esp + 20]
- mov edi, [esp + 8]
-@@:
- cmp eax, [edi]
- lea edi, [edi + 8]
- loopne @B
- jne @F
- cmp edx, [edi - 4]
- jecxz @F
- jne @B
-@@:
- lea eax, [edi - 8]
- cmovne eax, ecx
- ret
-InternalMemScanMem64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem8.asm b/MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem8.asm
deleted file mode 100644
index c64d41d..0000000
--- a/MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem8.asm
+++ /dev/null
@@ -1,55 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem8.Asm
-;
-; Abstract:
-;
-; ScanMem8 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem8 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT8 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem8 PROC USES edi
- mov ecx, [esp + 12]
- mov edi, [esp + 8]
- mov al, [esp + 16]
- repne scasb
- lea eax, [edi - 1]
- cmovnz eax, ecx
- ret
-InternalMemScanMem8 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem.asm b/MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem.asm
deleted file mode 100644
index 369cc00..0000000
--- a/MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem.asm
+++ /dev/null
@@ -1,75 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem.asm
-;
-; Abstract:
-;
-; SetMem function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .xmm
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; EFIAPI
-; InternalMemSetMem (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT8 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemSetMem PROC USES edi
- mov edx, [esp + 12] ; edx <- Count
- mov edi, [esp + 8] ; edi <- Buffer
- mov al, [esp + 16] ; al <- Value
- xor ecx, ecx
- sub ecx, edi
- and ecx, 15 ; ecx + edi aligns on 16-byte boundary
- jz @F
- cmp ecx, edx
- cmova ecx, edx
- sub edx, ecx
- rep stosb
-@@:
- mov ecx, edx
- and edx, 15
- shr ecx, 4 ; ecx <- # of DQwords to set
- jz @SetBytes
- mov ah, al ; ax <- Value | (Value << 8)
- add esp, -16
- movdqu [esp], xmm0 ; save xmm0
- movd xmm0, eax
- pshuflw xmm0, xmm0, 0 ; xmm0[0..63] <- Value repeats 8 times
- movlhps xmm0, xmm0 ; xmm0 <- Value repeats 16 times
-@@:
- movntdq [edi], xmm0 ; edi should be 16-byte aligned
- add edi, 16
- loop @B
- mfence
- movdqu xmm0, [esp] ; restore xmm0
- add esp, 16 ; stack cleanup
-@SetBytes:
- mov ecx, edx
- rep stosb
- mov eax, [esp + 8] ; eax <- Buffer as return value
- ret
-InternalMemSetMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem16.asm b/MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem16.asm
deleted file mode 100644
index 3725512..0000000
--- a/MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem16.asm
+++ /dev/null
@@ -1,71 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem16.asm
-;
-; Abstract:
-;
-; SetMem16 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .xmm
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; EFIAPI
-; InternalMemSetMem16 (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT16 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemSetMem16 PROC USES edi
- mov edx, [esp + 12]
- mov edi, [esp + 8]
- xor ecx, ecx
- sub ecx, edi
- and ecx, 15 ; ecx + edi aligns on 16-byte boundary
- mov eax, [esp + 16]
- jz @F
- shr ecx, 1
- cmp ecx, edx
- cmova ecx, edx
- sub edx, ecx
- rep stosw
-@@:
- mov ecx, edx
- and edx, 7
- shr ecx, 3
- jz @SetWords
- movd xmm0, eax
- pshuflw xmm0, xmm0, 0
- movlhps xmm0, xmm0
-@@:
- movntdq [edi], xmm0 ; edi should be 16-byte aligned
- add edi, 16
- loop @B
- mfence
-@SetWords:
- mov ecx, edx
- rep stosw
- mov eax, [esp + 8]
- ret
-InternalMemSetMem16 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem32.asm b/MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem32.asm
deleted file mode 100644
index 4c3aa42..0000000
--- a/MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem32.asm
+++ /dev/null
@@ -1,70 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem32.asm
-;
-; Abstract:
-;
-; SetMem32 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .xmm
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; EFIAPI
-; InternalMemSetMem32 (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT32 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemSetMem32 PROC USES edi
- mov edx, [esp + 12]
- mov edi, [esp + 8]
- xor ecx, ecx
- sub ecx, edi
- and ecx, 15 ; ecx + edi aligns on 16-byte boundary
- mov eax, [esp + 16]
- jz @F
- shr ecx, 2
- cmp ecx, edx
- cmova ecx, edx
- sub edx, ecx
- rep stosd
-@@:
- mov ecx, edx
- and edx, 3
- shr ecx, 2
- jz @SetDwords
- movd xmm0, eax
- pshufd xmm0, xmm0, 0
-@@:
- movntdq [edi], xmm0
- add edi, 16
- loop @B
- mfence
-@SetDwords:
- mov ecx, edx
- rep stosd
- mov eax, [esp + 8]
- ret
-InternalMemSetMem32 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem64.asm b/MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem64.asm
deleted file mode 100644
index d6f52a0..0000000
--- a/MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem64.asm
+++ /dev/null
@@ -1,64 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem64.asm
-;
-; Abstract:
-;
-; SetMem64 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .xmm
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; EFIAPI
-; InternalMemSetMem64 (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT64 Value
-; )
-;------------------------------------------------------------------------------
-InternalMemSetMem64 PROC
- mov eax, [esp + 4] ; eax <- Buffer
- mov ecx, [esp + 8] ; ecx <- Count
- test al, 8
- mov edx, eax
- movq xmm0, qword ptr [esp + 12]
- jz @F
- movq qword ptr [edx], xmm0
- add edx, 8
- dec ecx
-@@:
- shr ecx, 1
- jz @SetQwords
- movlhps xmm0, xmm0
-@@:
- movntdq [edx], xmm0
- lea edx, [edx + 16]
- loop @B
- mfence
-@SetQwords:
- jnc @F
- movq qword ptr [edx], xmm0
-@@:
- ret
-InternalMemSetMem64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibSse2/Ia32/ZeroMem.asm b/MdePkg/Library/BaseMemoryLibSse2/Ia32/ZeroMem.asm
deleted file mode 100644
index 97252b1..0000000
--- a/MdePkg/Library/BaseMemoryLibSse2/Ia32/ZeroMem.asm
+++ /dev/null
@@ -1,67 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ZeroMem.asm
-;
-; Abstract:
-;
-; ZeroMem function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .xmm
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; EFIAPI
-; InternalMemZeroMem (
-; IN VOID *Buffer,
-; IN UINTN Count
-; );
-;------------------------------------------------------------------------------
-InternalMemZeroMem PROC USES edi
- mov edi, [esp + 8]
- mov edx, [esp + 12]
- xor ecx, ecx
- sub ecx, edi
- xor eax, eax
- and ecx, 15
- jz @F
- cmp ecx, edx
- cmova ecx, edx
- sub edx, ecx
- rep stosb
-@@:
- mov ecx, edx
- and edx, 15
- shr ecx, 4
- jz @ZeroBytes
- pxor xmm0, xmm0
-@@:
- movntdq [edi], xmm0
- add edi, 16
- loop @B
- mfence
-@ZeroBytes:
- mov ecx, edx
- rep stosb
- mov eax, [esp + 8]
- ret
-InternalMemZeroMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibSse2/X64/CompareMem.asm b/MdePkg/Library/BaseMemoryLibSse2/X64/CompareMem.asm
deleted file mode 100644
index 0ef05b2..0000000
--- a/MdePkg/Library/BaseMemoryLibSse2/X64/CompareMem.asm
+++ /dev/null
@@ -1,54 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CompareMem.Asm
-;
-; Abstract:
-;
-; CompareMem function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; INTN
-; EFIAPI
-; InternalMemCompareMem (
-; IN CONST VOID *DestinationBuffer,
-; IN CONST VOID *SourceBuffer,
-; IN UINTN Length
-; );
-;------------------------------------------------------------------------------
-InternalMemCompareMem PROC USES rsi rdi
- mov rsi, rcx
- mov rdi, rdx
- mov rcx, r8
- repe cmpsb
- movzx rax, byte ptr [rsi - 1]
- movzx rdx, byte ptr [rdi - 1]
- sub rax, rdx
- ret
-InternalMemCompareMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibSse2/X64/CopyMem.asm b/MdePkg/Library/BaseMemoryLibSse2/X64/CopyMem.asm
deleted file mode 100644
index 8bcaca7..0000000
--- a/MdePkg/Library/BaseMemoryLibSse2/X64/CopyMem.asm
+++ /dev/null
@@ -1,79 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; CopyMem.asm
-;
-; Abstract:
-;
-; CopyMem function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; EFIAPI
-; InternalMemCopyMem (
-; IN VOID *Destination,
-; IN VOID *Source,
-; IN UINTN Count
-; );
-;------------------------------------------------------------------------------
-InternalMemCopyMem PROC USES rsi rdi
- mov rsi, rdx ; rsi <- Source
- mov rdi, rcx ; rdi <- Destination
- lea r9, [rsi + r8 - 1] ; r9 <- Last byte of Source
- cmp rsi, rdi
- mov rax, rdi ; rax <- Destination as return value
- jae @F ; Copy forward if Source > Destination
- cmp r9, rdi ; Overlapped?
- jae @CopyBackward ; Copy backward if overlapped
-@@:
- xor rcx, rcx
- sub rcx, rdi ; rcx <- -rdi
- and rcx, 15 ; rcx + rsi should be 16 bytes aligned
- jz @F ; skip if rcx == 0
- cmp rcx, r8
- cmova rcx, r8
- sub r8, rcx
- rep movsb
-@@:
- mov rcx, r8
- and r8, 15
- shr rcx, 4 ; rcx <- # of DQwords to copy
- jz @CopyBytes
- movdqa [rsp + 18h], xmm0 ; save xmm0 on stack
-@@:
- movdqu xmm0, [rsi] ; rsi may not be 16-byte aligned
- movntdq [rdi], xmm0 ; rdi should be 16-byte aligned
- add rsi, 16
- add rdi, 16
- loop @B
- mfence
- movdqa xmm0, [rsp + 18h] ; restore xmm0
- jmp @CopyBytes ; copy remaining bytes
-@CopyBackward:
- mov rsi, r9 ; rsi <- Last byte of Source
- lea rdi, [rdi + r8 - 1] ; rdi <- Last byte of Destination
- std
-@CopyBytes:
- mov rcx, r8
- rep movsb
- cld
- ret
-InternalMemCopyMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem16.asm b/MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem16.asm
deleted file mode 100644
index a6114db..0000000
--- a/MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem16.asm
+++ /dev/null
@@ -1,53 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem16.Asm
-;
-; Abstract:
-;
-; ScanMem16 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem16 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT16 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem16 PROC USES rdi
- mov rdi, rcx
- mov rax, r8
- mov rcx, rdx
- repne scasw
- lea rax, [rdi - 2]
- cmovnz rax, rcx
- ret
-InternalMemScanMem16 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem32.asm b/MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem32.asm
deleted file mode 100644
index 40ff6c9..0000000
--- a/MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem32.asm
+++ /dev/null
@@ -1,53 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem32.Asm
-;
-; Abstract:
-;
-; ScanMem32 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem32 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT32 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem32 PROC USES rdi
- mov rdi, rcx
- mov rax, r8
- mov rcx, rdx
- repne scasd
- lea rax, [rdi - 4]
- cmovnz rax, rcx
- ret
-InternalMemScanMem32 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem64.asm b/MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem64.asm
deleted file mode 100644
index e78da7d..0000000
--- a/MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem64.asm
+++ /dev/null
@@ -1,53 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem64.Asm
-;
-; Abstract:
-;
-; ScanMem64 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem64 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT64 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem64 PROC USES rdi
- mov rdi, rcx
- mov rax, r8
- mov rcx, rdx
- repne scasq
- lea rax, [rdi - 8]
- cmovnz rax, rcx
- ret
-InternalMemScanMem64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem8.asm b/MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem8.asm
deleted file mode 100644
index fee2397..0000000
--- a/MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem8.asm
+++ /dev/null
@@ -1,53 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ScanMem8.Asm
-;
-; Abstract:
-;
-; ScanMem8 function
-;
-; Notes:
-;
-; The following BaseMemoryLib instances contain the same copy of this file:
-;
-; BaseMemoryLibRepStr
-; BaseMemoryLibMmx
-; BaseMemoryLibSse2
-; BaseMemoryLibOptDxe
-; BaseMemoryLibOptPei
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; CONST VOID *
-; EFIAPI
-; InternalMemScanMem8 (
-; IN CONST VOID *Buffer,
-; IN UINTN Length,
-; IN UINT8 Value
-; );
-;------------------------------------------------------------------------------
-InternalMemScanMem8 PROC USES rdi
- mov rdi, rcx
- mov rcx, rdx
- mov rax, r8
- repne scasb
- lea rax, [rdi - 1]
- cmovnz rax, rcx ; set rax to 0 if not found
- ret
-InternalMemScanMem8 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibSse2/X64/SetMem.asm b/MdePkg/Library/BaseMemoryLibSse2/X64/SetMem.asm
deleted file mode 100644
index 52b069c..0000000
--- a/MdePkg/Library/BaseMemoryLibSse2/X64/SetMem.asm
+++ /dev/null
@@ -1,69 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem.asm
-;
-; Abstract:
-;
-; SetMem function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemSetMem (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT8 Value
-; )
-;------------------------------------------------------------------------------
-InternalMemSetMem PROC USES rdi
- mov rdi, rcx ; rdi <- Buffer
- mov al, r8b ; al <- Value
- mov r9, rdi ; r9 <- Buffer as return value
- xor rcx, rcx
- sub rcx, rdi
- and rcx, 15 ; rcx + rdi aligns on 16-byte boundary
- jz @F
- cmp rcx, rdx
- cmova rcx, rdx
- sub rdx, rcx
- rep stosb
-@@:
- mov rcx, rdx
- and rdx, 15
- shr rcx, 4
- jz @SetBytes
- mov ah, al ; ax <- Value repeats twice
- movdqa [rsp + 10h], xmm0 ; save xmm0
- movd xmm0, eax ; xmm0[0..16] <- Value repeats twice
- pshuflw xmm0, xmm0, 0 ; xmm0[0..63] <- Value repeats 8 times
- movlhps xmm0, xmm0 ; xmm0 <- Value repeats 16 times
-@@:
- movntdq [rdi], xmm0 ; rdi should be 16-byte aligned
- add rdi, 16
- loop @B
- mfence
- movdqa xmm0, [rsp + 10h] ; restore xmm0
-@SetBytes:
- mov ecx, edx ; high 32 bits of rcx are always zero
- rep stosb
- mov rax, r9 ; rax <- Return value
- ret
-InternalMemSetMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibSse2/X64/SetMem16.asm b/MdePkg/Library/BaseMemoryLibSse2/X64/SetMem16.asm
deleted file mode 100644
index 8cb09ac..0000000
--- a/MdePkg/Library/BaseMemoryLibSse2/X64/SetMem16.asm
+++ /dev/null
@@ -1,67 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem16.asm
-;
-; Abstract:
-;
-; SetMem16 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemSetMem16 (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT16 Value
-; )
-;------------------------------------------------------------------------------
-InternalMemSetMem16 PROC USES rdi
- mov rdi, rcx
- mov r9, rdi
- xor rcx, rcx
- sub rcx, rdi
- and rcx, 15
- mov rax, r8
- jz @F
- shr rcx, 1
- cmp rcx, rdx
- cmova rcx, rdx
- sub rdx, rcx
- rep stosw
-@@:
- mov rcx, rdx
- and edx, 7
- shr rcx, 3
- jz @SetWords
- movd xmm0, eax
- pshuflw xmm0, xmm0, 0
- movlhps xmm0, xmm0
-@@:
- movntdq [rdi], xmm0
- add rdi, 16
- loop @B
- mfence
-@SetWords:
- mov ecx, edx
- rep stosw
- mov rax, r9
- ret
-InternalMemSetMem16 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibSse2/X64/SetMem32.asm b/MdePkg/Library/BaseMemoryLibSse2/X64/SetMem32.asm
deleted file mode 100644
index 92404a0..0000000
--- a/MdePkg/Library/BaseMemoryLibSse2/X64/SetMem32.asm
+++ /dev/null
@@ -1,66 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem32.asm
-;
-; Abstract:
-;
-; SetMem32 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemSetMem32 (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT8 Value
-; )
-;------------------------------------------------------------------------------
-InternalMemSetMem32 PROC USES rdi
- mov rdi, rcx
- mov r9, rdi
- xor rcx, rcx
- sub rcx, rdi
- and rcx, 15
- mov rax, r8
- jz @F
- shr rcx, 2
- cmp rcx, rdx
- cmova rcx, rdx
- sub rdx, rcx
- rep stosd
-@@:
- mov rcx, rdx
- and edx, 3
- shr rcx, 2
- jz @SetDwords
- movd xmm0, eax
- pshufd xmm0, xmm0, 0
-@@:
- movntdq [rdi], xmm0
- add rdi, 16
- loop @B
- mfence
-@SetDwords:
- mov ecx, edx
- rep stosd
- mov rax, r9
- ret
-InternalMemSetMem32 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibSse2/X64/SetMem64.asm b/MdePkg/Library/BaseMemoryLibSse2/X64/SetMem64.asm
deleted file mode 100644
index 5071f67..0000000
--- a/MdePkg/Library/BaseMemoryLibSse2/X64/SetMem64.asm
+++ /dev/null
@@ -1,59 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SetMem64.asm
-;
-; Abstract:
-;
-; SetMem64 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemSetMem64 (
-; IN VOID *Buffer,
-; IN UINTN Count,
-; IN UINT64 Value
-; )
-;------------------------------------------------------------------------------
-InternalMemSetMem64 PROC
- mov rax, rcx ; rax <- Buffer
- xchg rcx, rdx ; rcx <- Count & rdx <- Buffer
- test dl, 8
- movd xmm0, r8
- jz @F
- mov [rdx], r8
- add rdx, 8
- dec rcx
-@@:
- shr rcx, 1
- jz @SetQwords
- movlhps xmm0, xmm0
-@@:
- movntdq [rdx], xmm0
- lea rdx, [rdx + 16]
- loop @B
- mfence
-@SetQwords:
- jnc @F
- mov [rdx], r8
-@@:
- ret
-InternalMemSetMem64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseMemoryLibSse2/X64/ZeroMem.asm b/MdePkg/Library/BaseMemoryLibSse2/X64/ZeroMem.asm
deleted file mode 100644
index d304729..0000000
--- a/MdePkg/Library/BaseMemoryLibSse2/X64/ZeroMem.asm
+++ /dev/null
@@ -1,63 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ZeroMem.asm
-;
-; Abstract:
-;
-; ZeroMem function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID *
-; InternalMemZeroMem (
-; IN VOID *Buffer,
-; IN UINTN Count
-; )
-;------------------------------------------------------------------------------
-InternalMemZeroMem PROC USES rdi
- mov rdi, rcx
- xor rcx, rcx
- xor eax, eax
- sub rcx, rdi
- and rcx, 15
- mov r8, rdi
- jz @F
- cmp rcx, rdx
- cmova rcx, rdx
- sub rdx, rcx
- rep stosb
-@@:
- mov rcx, rdx
- and edx, 15
- shr rcx, 4
- jz @ZeroBytes
- pxor xmm0, xmm0
-@@:
- movntdq [rdi], xmm0 ; rdi should be 16-byte aligned
- add rdi, 16
- loop @B
- mfence
-@ZeroBytes:
- mov ecx, edx
- rep stosb
- mov rax, r8
- ret
-InternalMemZeroMem ENDP
-
- END
diff --git a/MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf b/MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
index 6fca7dd..8e119d8 100755
--- a/MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
+++ b/MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
@@ -39,15 +39,10 @@
SynchronizationMsc.c | MSFT
Ia32/InterlockedCompareExchange64.nasm| INTEL
- Ia32/InterlockedCompareExchange64.asm | INTEL
Ia32/InterlockedCompareExchange32.nasm| INTEL
- Ia32/InterlockedCompareExchange32.asm | INTEL
Ia32/InterlockedCompareExchange16.nasm| INTEL
- Ia32/InterlockedCompareExchange16.asm | INTEL
Ia32/InterlockedDecrement.nasm| INTEL
- Ia32/InterlockedDecrement.asm | INTEL
Ia32/InterlockedIncrement.nasm| INTEL
- Ia32/InterlockedIncrement.asm | INTEL
Synchronization.c | INTEL
Ia32/InternalGetSpinLockProperties.c | GCC
@@ -61,20 +56,15 @@
X64/InterlockedCompareExchange16.c | MSFT
X64/InterlockedCompareExchange64.nasm| INTEL
- X64/InterlockedCompareExchange64.asm | INTEL
X64/InterlockedCompareExchange32.nasm| INTEL
- X64/InterlockedCompareExchange32.asm | INTEL
X64/InterlockedCompareExchange16.nasm| INTEL
- X64/InterlockedCompareExchange16.asm | INTEL
X64/InterlockedDecrement.c | MSFT
X64/InterlockedIncrement.c | MSFT
SynchronizationMsc.c | MSFT
X64/InterlockedDecrement.nasm| INTEL
- X64/InterlockedDecrement.asm | INTEL
X64/InterlockedIncrement.nasm| INTEL
- X64/InterlockedIncrement.asm | INTEL
Synchronization.c | INTEL
Ia32/InternalGetSpinLockProperties.c | GCC
diff --git a/MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedCompareExchange16.asm b/MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedCompareExchange16.asm
deleted file mode 100644
index 7362fe9..0000000
--- a/MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedCompareExchange16.asm
+++ /dev/null
@@ -1,46 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
-; Copyright (c) 2015, Linaro Ltd. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; InterlockedCompareExchange16.Asm
-;
-; Abstract:
-;
-; InterlockedCompareExchange16 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .486
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINT16
-; EFIAPI
-; InternalSyncCompareExchange16 (
-; IN volatile UINT16 *Value,
-; IN UINT16 CompareValue,
-; IN UINT16 ExchangeValue
-; );
-;------------------------------------------------------------------------------
-InternalSyncCompareExchange16 PROC
- mov ecx, [esp + 4]
- mov ax, [esp + 8]
- mov dx, [esp + 12]
- lock cmpxchg [ecx], dx
- ret
-InternalSyncCompareExchange16 ENDP
-
- END
diff --git a/MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedCompareExchange32.asm b/MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedCompareExchange32.asm
deleted file mode 100644
index 1a4a611..0000000
--- a/MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedCompareExchange32.asm
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; InterlockedCompareExchange32.Asm
-;
-; Abstract:
-;
-; InterlockedCompareExchange32 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .486
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINT32
-; EFIAPI
-; InternalSyncCompareExchange32 (
-; IN volatile UINT32 *Value,
-; IN UINT32 CompareValue,
-; IN UINT32 ExchangeValue
-; );
-;------------------------------------------------------------------------------
-InternalSyncCompareExchange32 PROC
- mov ecx, [esp + 4]
- mov eax, [esp + 8]
- mov edx, [esp + 12]
- lock cmpxchg [ecx], edx
- ret
-InternalSyncCompareExchange32 ENDP
-
- END
diff --git a/MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedCompareExchange64.asm b/MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedCompareExchange64.asm
deleted file mode 100644
index e7b02db..0000000
--- a/MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedCompareExchange64.asm
+++ /dev/null
@@ -1,47 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; InterlockedCompareExchange64.Asm
-;
-; Abstract:
-;
-; InterlockedCompareExchange64 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .586P
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; InternalSyncCompareExchange64 (
-; IN volatile UINT64 *Value,
-; IN UINT64 CompareValue,
-; IN UINT64 ExchangeValue
-; );
-;------------------------------------------------------------------------------
-InternalSyncCompareExchange64 PROC USES esi ebx
- mov esi, [esp + 12]
- mov eax, [esp + 16]
- mov edx, [esp + 20]
- mov ebx, [esp + 24]
- mov ecx, [esp + 28]
- lock cmpxchg8b qword ptr [esi]
- ret
-InternalSyncCompareExchange64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedDecrement.asm b/MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedDecrement.asm
deleted file mode 100644
index b5fa447..0000000
--- a/MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedDecrement.asm
+++ /dev/null
@@ -1,42 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; InterlockedDecrement.Asm
-;
-; Abstract:
-;
-; InterlockedDecrement function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINT32
-; EFIAPI
-; InternalSyncDecrement (
-; IN volatile UINT32 *Value
-; );
-;------------------------------------------------------------------------------
-InternalSyncDecrement PROC
- mov eax, [esp + 4]
- lock dec dword ptr [eax]
- mov eax, [eax]
- ret
-InternalSyncDecrement ENDP
-
- END
diff --git a/MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedIncrement.asm b/MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedIncrement.asm
deleted file mode 100644
index 61c2533..0000000
--- a/MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedIncrement.asm
+++ /dev/null
@@ -1,42 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; InterlockedIncrement.Asm
-;
-; Abstract:
-;
-; InterlockedIncrement function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .386
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; UINT32
-; EFIAPI
-; InternalSyncIncrement (
-; IN volatile UINT32 *Value
-; );
-;------------------------------------------------------------------------------
-InternalSyncIncrement PROC
- mov eax, [esp + 4]
- lock inc dword ptr [eax]
- mov eax, [eax]
- ret
-InternalSyncIncrement ENDP
-
- END
diff --git a/MdePkg/Library/BaseSynchronizationLib/X64/InterlockedCompareExchange16.asm b/MdePkg/Library/BaseSynchronizationLib/X64/InterlockedCompareExchange16.asm
deleted file mode 100644
index 262adeb..0000000
--- a/MdePkg/Library/BaseSynchronizationLib/X64/InterlockedCompareExchange16.asm
+++ /dev/null
@@ -1,42 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
-; Copyright (c) 2015, Linaro Ltd. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; InterlockedCompareExchange16.Asm
-;
-; Abstract:
-;
-; InterlockedCompareExchange16 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINT16
-; EFIAPI
-; InternalSyncCompareExchange16 (
-; IN volatile UINT16 *Value,
-; IN UINT16 CompareValue,
-; IN UINT16 ExchangeValue
-; );
-;------------------------------------------------------------------------------
-InternalSyncCompareExchange16 PROC
- mov ax, dx
- lock cmpxchg [rcx], r8w
- ret
-InternalSyncCompareExchange16 ENDP
-
- END
diff --git a/MdePkg/Library/BaseSynchronizationLib/X64/InterlockedCompareExchange32.asm b/MdePkg/Library/BaseSynchronizationLib/X64/InterlockedCompareExchange32.asm
deleted file mode 100644
index 711b399..0000000
--- a/MdePkg/Library/BaseSynchronizationLib/X64/InterlockedCompareExchange32.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; InterlockedCompareExchange32.Asm
-;
-; Abstract:
-;
-; InterlockedCompareExchange32 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINT32
-; EFIAPI
-; InternalSyncCompareExchange32 (
-; IN volatile UINT32 *Value,
-; IN UINT32 CompareValue,
-; IN UINT32 ExchangeValue
-; );
-;------------------------------------------------------------------------------
-InternalSyncCompareExchange32 PROC
- mov eax, edx
- lock cmpxchg [rcx], r8d
- ret
-InternalSyncCompareExchange32 ENDP
-
- END
diff --git a/MdePkg/Library/BaseSynchronizationLib/X64/InterlockedCompareExchange64.asm b/MdePkg/Library/BaseSynchronizationLib/X64/InterlockedCompareExchange64.asm
deleted file mode 100644
index be429d8..0000000
--- a/MdePkg/Library/BaseSynchronizationLib/X64/InterlockedCompareExchange64.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; InterlockedCompareExchange64.Asm
-;
-; Abstract:
-;
-; InterlockedCompareExchange64 function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINT64
-; EFIAPI
-; InternalSyncCompareExchange64 (
-; IN volatile UINT64 *Value,
-; IN UINT64 CompareValue,
-; IN UINT64 ExchangeValue
-; );
-;------------------------------------------------------------------------------
-InternalSyncCompareExchange64 PROC
- mov rax, rdx
- lock cmpxchg [rcx], r8
- ret
-InternalSyncCompareExchange64 ENDP
-
- END
diff --git a/MdePkg/Library/BaseSynchronizationLib/X64/InterlockedDecrement.asm b/MdePkg/Library/BaseSynchronizationLib/X64/InterlockedDecrement.asm
deleted file mode 100644
index 4dc3886..0000000
--- a/MdePkg/Library/BaseSynchronizationLib/X64/InterlockedDecrement.asm
+++ /dev/null
@@ -1,39 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; InterlockedDecrement.Asm
-;
-; Abstract:
-;
-; InterlockedDecrement function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINT32
-; EFIAPI
-; InternalSyncDecrement (
-; IN volatile UINT32 *Value
-; );
-;------------------------------------------------------------------------------
-InternalSyncDecrement PROC
- lock dec dword ptr [rcx]
- mov eax, [rcx]
- ret
-InternalSyncDecrement ENDP
-
- END
diff --git a/MdePkg/Library/BaseSynchronizationLib/X64/InterlockedIncrement.asm b/MdePkg/Library/BaseSynchronizationLib/X64/InterlockedIncrement.asm
deleted file mode 100644
index fc086b6..0000000
--- a/MdePkg/Library/BaseSynchronizationLib/X64/InterlockedIncrement.asm
+++ /dev/null
@@ -1,39 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; InterlockedIncrement.Asm
-;
-; Abstract:
-;
-; InterlockedIncrement function
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; UINT32
-; EFIAPI
-; InternalSyncIncrement (
-; IN volatile UINT32 *Value
-; );
-;------------------------------------------------------------------------------
-InternalSyncIncrement PROC
- lock inc dword ptr [rcx]
- mov eax, [rcx]
- ret
-InternalSyncIncrement ENDP
-
- END
--
2.8.0.windows.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Patch 4/5] SourceLevelDebugPkg: Remove X86 ASM and S files
2018-05-13 14:31 [Patch 0/5] Remove X86 ASM and S files Liming Gao
` (2 preceding siblings ...)
2018-05-13 14:31 ` [Patch 3/5] MdePkg: " Liming Gao
@ 2018-05-13 14:31 ` Liming Gao
2018-05-13 14:31 ` [Patch 5/5] UefiCpuPkg: " Liming Gao
2018-05-29 0:41 ` [Patch 0/5] " Kinney, Michael D
5 siblings, 0 replies; 11+ messages in thread
From: Liming Gao @ 2018-05-13 14:31 UTC (permalink / raw)
To: edk2-devel
NASM has replaced ASM and S files.
Rmove ASM from all modules.
Remove S files from the drivers only.
After NASM is updated, S files can be removed from Library.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Liming Gao <liming.gao@intel.com>
---
.../DebugAgent/DebugAgentCommon/Ia32/AsmFuncs.asm | 422 ---------------------
.../DebugAgent/DebugAgentCommon/X64/AsmFuncs.asm | 405 --------------------
.../Library/DebugAgent/DxeDebugAgentLib.inf | 2 -
.../Library/DebugAgent/SecPeiDebugAgentLib.inf | 2 -
.../Library/DebugAgent/SmmDebugAgentLib.inf | 2 -
.../PeCoffExtraActionLibDebug/Ia32/IntHandler.asm | 33 --
| 2 -
.../PeCoffExtraActionLibDebug/X64/IntHandler.asm | 29 --
8 files changed, 897 deletions(-)
delete mode 100644 SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/AsmFuncs.asm
delete mode 100644 SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/X64/AsmFuncs.asm
delete mode 100644 SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/Ia32/IntHandler.asm
delete mode 100644 SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/X64/IntHandler.asm
diff --git a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/AsmFuncs.asm b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/AsmFuncs.asm
deleted file mode 100644
index 44ed6f7..0000000
--- a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/AsmFuncs.asm
+++ /dev/null
@@ -1,422 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; AsmFuncs.asm
-;
-; Abstract:
-;
-; Debug interrupt handle functions.
-;
-;------------------------------------------------------------------------------
-
-#include "DebugException.h"
-
-.686p
-.xmm
-.model flat,c
-
-;
-; InterruptProcess()
-;
-InterruptProcess PROTO C
-
-public Exception0Handle, TimerInterruptHandle, ExceptionStubHeaderSize
-
-AGENT_HANDLER_SIGNATURE MACRO
- db 41h, 47h, 54h, 48h ; SIGNATURE_32('A','G','T','H')
-ENDM
-
-.data
-
-ExceptionStubHeaderSize DD Exception1Handle - Exception0Handle
-CommonEntryAddr DD CommonEntry
-
-.code
-
-AGENT_HANDLER_SIGNATURE
-Exception0Handle:
- cli
- push eax
- mov eax, 0
- jmp dword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception1Handle:
- cli
- push eax
- mov eax, 1
- jmp dword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception2Handle:
- cli
- push eax
- mov eax, 2
- jmp dword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception3Handle:
- cli
- push eax
- mov eax, 3
- jmp dword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception4Handle:
- cli
- push eax
- mov eax, 4
- jmp dword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception5Handle:
- cli
- push eax
- mov eax, 5
- jmp dword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception6Handle:
- cli
- push eax
- mov eax, 6
- jmp dword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception7Handle:
- cli
- push eax
- mov eax, 7
- jmp dword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception8Handle:
- cli
- push eax
- mov eax, 8
- jmp dword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception9Handle:
- cli
- push eax
- mov eax, 9
- jmp dword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception10Handle:
- cli
- push eax
- mov eax, 10
- jmp dword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception11Handle:
- cli
- push eax
- mov eax, 11
- jmp dword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception12Handle:
- cli
- push eax
- mov eax, 12
- jmp dword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception13Handle:
- cli
- push eax
- mov eax, 13
- jmp dword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception14Handle:
- cli
- push eax
- mov eax, 14
- jmp dword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception15Handle:
- cli
- push eax
- mov eax, 15
- jmp dword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception16Handle:
- cli
- push eax
- mov eax, 16
- jmp dword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception17Handle:
- cli
- push eax
- mov eax, 17
- jmp dword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception18Handle:
- cli
- push eax
- mov eax, 18
- jmp dword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception19Handle:
- cli
- push eax
- mov eax, 19
- jmp dword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-TimerInterruptHandle:
- cli
- push eax
- mov eax, 32
- jmp dword ptr [CommonEntryAddr]
-
-CommonEntry:
-;
-; +---------------------+
-; + EFlags +
-; +---------------------+
-; + CS +
-; +---------------------+
-; + EIP +
-; +---------------------+
-; + Error Code +
-; +---------------------+
-; + EAX / Vector Number +
-; +---------------------+
-; + EBP +
-; +---------------------+ <-- EBP
-;
- cmp eax, DEBUG_EXCEPT_DOUBLE_FAULT
- je NoExtrPush
- cmp eax, DEBUG_EXCEPT_INVALID_TSS
- je NoExtrPush
- cmp eax, DEBUG_EXCEPT_SEG_NOT_PRESENT
- je NoExtrPush
- cmp eax, DEBUG_EXCEPT_STACK_FAULT
- je NoExtrPush
- cmp eax, DEBUG_EXCEPT_GP_FAULT
- je NoExtrPush
- cmp eax, DEBUG_EXCEPT_PAGE_FAULT
- je NoExtrPush
- cmp eax, DEBUG_EXCEPT_ALIGNMENT_CHECK
- je NoExtrPush
-
- push [esp]
- mov dword ptr [esp + 4], 0
-
-NoExtrPush:
-
- push ebp
- mov ebp, esp ; save esp in ebp
- ;
- ; Make stack 16-byte alignment to make sure save fxrstor later
- ;
- and esp, 0fffffff0h
- sub esp, 12
-
- ; store UINT32 Edi, Esi, Ebp, Ebx, Edx, Ecx, Eax;
- push dword ptr [ebp + 4] ; original eax
- push ebx
- push ecx
- push edx
- mov ebx, eax ; save vector in ebx
- mov eax, ebp
- add eax, 4 * 6
- push eax ; original ESP
- push dword ptr [ebp] ; EBP
- push esi
- push edi
-
- ;; UINT32 Cr0, Cr1, Cr2, Cr3, Cr4;
- ;; insure FXSAVE/FXRSTOR is enabled in CR4...
- ;; ... while we're at it, make sure DE is also enabled...
- mov eax, 1
- push ebx ; temporarily save value of ebx on stack
- cpuid ; use CPUID to determine if FXSAVE/FXRESTOR and
- ; DE are supported
- pop ebx ; retore value of ebx that was overwritten by CPUID
- mov eax, cr4
- push eax ; push cr4 firstly
- test edx, BIT24 ; Test for FXSAVE/FXRESTOR support
- jz @F
- or eax, BIT9 ; Set CR4.OSFXSR
-@@:
- test edx, BIT2 ; Test for Debugging Extensions support
- jz @F
- or eax, BIT3 ; Set CR4.DE
-@@:
- mov cr4, eax
- mov eax, cr3
- push eax
- mov eax, cr2
- push eax
- push 0 ; cr0 will not saved???
- mov eax, cr0
- push eax
-
- xor ecx, ecx
- mov ecx, Ss
- push ecx
- mov ecx, Cs
- push ecx
- mov ecx, Ds
- push ecx
- mov ecx, Es
- push ecx
- mov ecx, Fs
- push ecx
- mov ecx, Gs
- push ecx
-
- ;; EIP
- mov ecx, [ebp + 4 * 3] ; EIP
- push ecx
-
- ;; UINT32 Gdtr[2], Idtr[2];
- sub esp, 8
- sidt fword ptr [esp]
- sub esp, 8
- sgdt fword ptr [esp]
-
- ;; UINT32 Ldtr, Tr;
- xor eax, eax
- str ax
- push eax
- sldt ax
- push eax
-
- ;; EFlags
- mov ecx, [ebp + 4 * 5]
- push ecx
-
- ;; UINT32 Dr0, Dr1, Dr2, Dr3, Dr6, Dr7;
- mov eax, dr7
- push eax
-
- ;; clear Dr7 while executing debugger itself
- xor eax, eax
- mov dr7, eax
-
- ;; Dr6
- mov eax, dr6
- push eax
-
- ;; insure all status bits in dr6 are clear...
- xor eax, eax
- mov dr6, eax
-
- mov eax, dr3
- push eax
- mov eax, dr2
- push eax
- mov eax, dr1
- push eax
- mov eax, dr0
- push eax
-
- ;; Clear Direction Flag
- cld
-
- ;; FX_SAVE_STATE_IA32 FxSaveState;
- sub esp, 512
- mov edi, esp
- ;; Clear the buffer
- xor eax, eax
- mov ecx, 128 ;= 512 / 4
- rep stosd
- mov edi, esp
-
- test edx, BIT24 ; Test for FXSAVE/FXRESTOR support.
- ; edx still contains result from CPUID above
- jz @F
- db 0fh, 0aeh, 00000111y ;fxsave [edi]
-@@:
-
- ;; save the exception data
- push dword ptr [ebp + 8]
-
- ; call the C interrupt process function
- push esp ; Structure
- push ebx ; vector
- call InterruptProcess
- add esp, 8
-
- ; skip the exception data
- add esp, 4
-
- ;; FX_SAVE_STATE_IA32 FxSaveState;
- mov esi, esp
- mov eax, 1
- cpuid ; use CPUID to determine if FXSAVE/FXRESTOR are supported
- test edx, BIT24 ; Test for FXSAVE/FXRESTOR support
- jz @F
- db 0fh, 0aeh, 00001110y ; fxrstor [esi]
-@@:
- add esp, 512
-
- ;; UINT32 Dr0, Dr1, Dr2, Dr3, Dr6, Dr7;
- pop eax
- mov dr0, eax
- pop eax
- mov dr1, eax
- pop eax
- mov dr2, eax
- pop eax
- mov dr3, eax
- ;; skip restore of dr6. We cleared dr6 during the context save.
- add esp, 4
- pop eax
- mov dr7, eax
-
- ;; set EFlags
- pop dword ptr [ebp + 4 * 5] ; set EFLAGS in stack
-
- ;; UINT32 Ldtr, Tr;
- ;; UINT32 Gdtr[2], Idtr[2];
- ;; Best not let anyone mess with these particular registers...
- add esp, 24
-
- ;; UINT32 Eip;
- pop dword ptr [ebp + 4 * 3] ; set EIP in stack
-
- ;; UINT32 Gs, Fs, Es, Ds, Cs, Ss;
- ;; NOTE - modified segment registers could hang the debugger... We
- ;; could attempt to insulate ourselves against this possibility,
- ;; but that poses risks as well.
- ;;
- pop gs
- pop fs
- pop es
- pop ds
- pop dword ptr [ebp + 4 * 4] ; set CS in stack
- pop ss
-
- ;; UINT32 Cr0, Cr1, Cr2, Cr3, Cr4;
- pop eax
- mov cr0, eax
- add esp, 4 ; skip for Cr1
- pop eax
- mov cr2, eax
- pop eax
- mov cr3, eax
- pop eax
- mov cr4, eax
-
- ;; restore general register
- pop edi
- pop esi
- pop dword ptr [ebp] ; save updated ebp
- pop dword ptr [ebp + 4] ; save updated esp
- pop edx
- pop ecx
- pop ebx
- pop eax
-
- mov esp, ebp
- pop ebp ; restore ebp maybe updated
- pop esp ; restore esp maybe updated
- sub esp, 4 * 3 ; restore interupt pushced stack
-
- iretd
-
-END
diff --git a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/X64/AsmFuncs.asm b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/X64/AsmFuncs.asm
deleted file mode 100644
index 6d01f64..0000000
--- a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/X64/AsmFuncs.asm
+++ /dev/null
@@ -1,405 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; AsmFuncs.asm
-;
-; Abstract:
-;
-; Debug interrupt handle functions.
-;
-;------------------------------------------------------------------------------
-
-#include "DebugException.h"
-
-
-externdef InterruptProcess:near
-
-data SEGMENT
-
-public Exception0Handle, TimerInterruptHandle, ExceptionStubHeaderSize
-
-AGENT_HANDLER_SIGNATURE MACRO
- db 41h, 47h, 54h, 48h ; SIGNATURE_32('A','G','T','H')
-ENDM
-
-ExceptionStubHeaderSize dd Exception1Handle - Exception0Handle ;
-CommonEntryAddr dq CommonEntry ;
-
-.code
-
-AGENT_HANDLER_SIGNATURE
-Exception0Handle:
- cli
- push rcx
- mov rcx, 0
- jmp qword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception1Handle:
- cli
- push rcx
- mov rcx, 1
- jmp qword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception2Handle:
- cli
- push rcx
- mov rcx, 2
- jmp qword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception3Handle:
- cli
- push rcx
- mov rcx, 3
- jmp qword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception4Handle:
- cli
- push rcx
- mov rcx, 4
- jmp qword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception5Handle:
- cli
- push rcx
- mov rcx, 5
- jmp qword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception6Handle:
- cli
- push rcx
- mov rcx, 6
- jmp qword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception7Handle:
- cli
- push rcx
- mov rcx, 7
- jmp qword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception8Handle:
- cli
- push rcx
- mov rcx, 8
- jmp qword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception9Handle:
- cli
- push rcx
- mov rcx, 9
- jmp qword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception10Handle:
- cli
- push rcx
- mov rcx, 10
- jmp qword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception11Handle:
- cli
- push rcx
- mov rcx, 11
- jmp qword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception12Handle:
- cli
- push rcx
- mov rcx, 12
- jmp qword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception13Handle:
- cli
- push rcx
- mov rcx, 13
- jmp qword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception14Handle:
- cli
- push rcx
- mov rcx, 14
- jmp qword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception15Handle:
- cli
- push rcx
- mov rcx, 15
- jmp qword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception16Handle:
- cli
- push rcx
- mov rcx, 16
- jmp qword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception17Handle:
- cli
- push rcx
- mov rcx, 17
- jmp qword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception18Handle:
- cli
- push rcx
- mov rcx, 18
- jmp qword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-Exception19Handle:
- cli
- push rcx
- mov rcx, 19
- jmp qword ptr [CommonEntryAddr]
-AGENT_HANDLER_SIGNATURE
-TimerInterruptHandle:
- cli
- push rcx
- mov rcx, 32
- jmp qword ptr [CommonEntryAddr]
-
-CommonEntry:
- ; We need to determine if any extra data was pushed by the exception
- cmp rcx, DEBUG_EXCEPT_DOUBLE_FAULT
- je NoExtrPush
- cmp rcx, DEBUG_EXCEPT_INVALID_TSS
- je NoExtrPush
- cmp rcx, DEBUG_EXCEPT_SEG_NOT_PRESENT
- je NoExtrPush
- cmp rcx, DEBUG_EXCEPT_STACK_FAULT
- je NoExtrPush
- cmp rcx, DEBUG_EXCEPT_GP_FAULT
- je NoExtrPush
- cmp rcx, DEBUG_EXCEPT_PAGE_FAULT
- je NoExtrPush
- cmp rcx, DEBUG_EXCEPT_ALIGNMENT_CHECK
- je NoExtrPush
-
- push [rsp]
- mov qword ptr [rsp + 8], 0
-
-NoExtrPush:
- push rbp
- mov rbp, rsp
-
- ; store UINT64 r8, r9, r10, r11, r12, r13, r14, r15;
- push r15
- push r14
- push r13
- push r12
- push r11
- push r10
- push r9
- push r8
-
- mov r8, cr8
- push r8
-
- ; store UINT64 Rdi, Rsi, Rbp, Rsp, Rdx, Rcx, Rbx, Rax;
- push rax
- push rbx
- push qword ptr [rbp + 8] ; original rcx
- push rdx
- push qword ptr [rbp + 6 * 8] ; original rsp
- push qword ptr [rbp] ; original rbp
- push rsi
- push rdi
-
- ;; UINT32 Cr0, Cr1, Cr2, Cr3, Cr4;
- ;; insure FXSAVE/FXRSTOR is enabled in CR4...
- ;; ... while we're at it, make sure DE is also enabled...
- mov rax, cr4
- or rax, 208h
- mov cr4, rax
- push rax
- mov rax, cr3
- push rax
- mov rax, cr2
- push rax
- push 0
- mov rax, cr0
- push rax
-
- xor rax, rax
- mov rax, Ss
- push rax
- mov rax, Cs
- push rax
- mov rax, Ds
- push rax
- mov rax, Es
- push rax
- mov rax, Fs
- push rax
- mov rax, Gs
- push rax
-
- ;; EIP
- mov rax, [rbp + 8 * 3] ; EIP
- push rax
-
- ;; UINT64 Gdtr[2], Idtr[2];
- sub rsp, 16
- sidt fword ptr [rsp]
- sub rsp, 16
- sgdt fword ptr [rsp]
-
- ;; UINT64 Ldtr, Tr;
- xor rax, rax
- str ax
- push rax
- sldt ax
- push rax
-
- ;; EFlags
- mov rax, [rbp + 8 * 5]
- push rax
-
- ;; UINT64 Dr0, Dr1, Dr2, Dr3, Dr6, Dr7;
- mov rax, dr7
- push rax
-
- ;; clear Dr7 while executing debugger itself
- xor rax, rax
- mov dr7, rax
-
- ;; Dr6
- mov rax, dr6
- push rax
-
- ;; insure all status bits in dr6 are clear...
- xor rax, rax
- mov dr6, rax
-
- mov rax, dr3
- push rax
- mov rax, dr2
- push rax
- mov rax, dr1
- push rax
- mov rax, dr0
- push rax
-
- ;; Clear Direction Flag
- cld
-
- sub rsp, 512
- mov rdi, rsp
- ;; Clear the buffer
- xor rax, rax
- push rcx
- mov rcx, 64 ;= 512 / 8
- rep stosq
- pop rcx
- mov rdi, rsp
- db 0fh, 0aeh, 00000111y ;fxsave [rdi]
-
- ;; save the exception data
- push qword ptr [rbp + 16]
-
- ; call the C interrupt process function
- mov rdx, rsp ; Structure
- mov r15, rcx ; save vector in r15
-
- ;
- ; Per X64 calling convention, allocate maximum parameter stack space
- ; and make sure RSP is 16-byte aligned
- ;
- sub rsp, 32 + 8
- call InterruptProcess
- add rsp, 32 + 8
-
- ;; skip the exception data
- add rsp, 8
-
- mov rsi, rsp
- db 0fh, 0aeh, 00001110y ; fxrstor [rsi]
- add rsp, 512
-
- ;; UINT64 Dr0, Dr1, Dr2, Dr3, Dr6, Dr7;
- pop rax
- mov dr0, rax
- pop rax
- mov dr1, rax
- pop rax
- mov dr2, rax
- pop rax
- mov dr3, rax
- ;; skip restore of dr6. We cleared dr6 during the context save.
- add rsp, 8
- pop rax
- mov dr7, rax
-
- ;; set EFlags
- pop qword ptr [rbp + 8 * 5]
-
- ;; UINT64 Ldtr, Tr;
- ;; UINT64 Gdtr[2], Idtr[2];
- ;; Best not let anyone mess with these particular registers...
- add rsp, 24 * 2
-
- ;; UINT64 Eip;
- pop qword ptr [rbp + 8 * 3] ; set EIP in stack
-
- ;; UINT64 Gs, Fs, Es, Ds, Cs, Ss;
- ;; NOTE - modified segment registers could hang the debugger... We
- ;; could attempt to insulate ourselves against this possibility,
- ;; but that poses risks as well.
- ;;
- pop rax
- pop rax
- pop rax
- mov es, rax
- pop rax
- mov ds, rax
- pop qword ptr [rbp + 8 * 4] ; Set CS in stack
- pop rax
- mov ss, rax
-
- ;; UINT64 Cr0, Cr1, Cr2, Cr3, Cr4;
- pop rax
- mov cr0, rax
- add rsp, 8 ; skip for Cr1
- pop rax
- mov cr2, rax
- pop rax
- mov cr3, rax
- pop rax
- mov cr4, rax
-
- ;; restore general register
- pop rdi
- pop rsi
- add rsp, 8 ; skip rbp
- add rsp, 8 ; skip rsp
- pop rdx
- pop rcx
- pop rbx
- pop rax
-
- pop r8
- mov cr8, r8
-
- ; store UINT64 r8, r9, r10, r11, r12, r13, r14, r15;
- pop r8
- pop r9
- pop r10
- pop r11
- pop r12
- pop r13
- pop r14
- pop r15
-
- mov rsp, rbp
- pop rbp
- add rsp, 16 ; skip rcx and error code
-
- iretq
-
-END
diff --git a/SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf b/SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
index eaa766b..e83e344 100644
--- a/SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
+++ b/SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
@@ -43,7 +43,6 @@
[Sources.Ia32]
DebugAgentCommon/Ia32/AsmFuncs.S
- DebugAgentCommon/Ia32/AsmFuncs.asm
DebugAgentCommon/Ia32/AsmFuncs.nasm
DebugAgentCommon/Ia32/ArchDebugSupport.h
DebugAgentCommon/Ia32/ArchDebugSupport.c
@@ -51,7 +50,6 @@
[Sources.X64]
DebugAgentCommon/X64/AsmFuncs.S
- DebugAgentCommon/X64/AsmFuncs.asm
DebugAgentCommon/X64/AsmFuncs.nasm
DebugAgentCommon/X64/ArchDebugSupport.h
DebugAgentCommon/X64/ArchDebugSupport.c
diff --git a/SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf b/SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf
index 5599ff1..5b5ed9d 100644
--- a/SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf
+++ b/SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf
@@ -40,7 +40,6 @@
[Sources.Ia32]
DebugAgentCommon/Ia32/AsmFuncs.S
- DebugAgentCommon/Ia32/AsmFuncs.asm
DebugAgentCommon/Ia32/AsmFuncs.nasm
DebugAgentCommon/Ia32/ArchDebugSupport.h
DebugAgentCommon/Ia32/ArchDebugSupport.c
@@ -48,7 +47,6 @@
[Sources.X64]
DebugAgentCommon/X64/AsmFuncs.S
- DebugAgentCommon/X64/AsmFuncs.asm
DebugAgentCommon/X64/AsmFuncs.nasm
DebugAgentCommon/X64/ArchDebugSupport.h
DebugAgentCommon/X64/ArchDebugSupport.c
diff --git a/SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgentLib.inf b/SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgentLib.inf
index 0435c5a..195c13e 100644
--- a/SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgentLib.inf
+++ b/SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgentLib.inf
@@ -40,7 +40,6 @@
[Sources.Ia32]
DebugAgentCommon/Ia32/AsmFuncs.S
- DebugAgentCommon/Ia32/AsmFuncs.asm
DebugAgentCommon/Ia32/AsmFuncs.nasm
DebugAgentCommon/Ia32/ArchDebugSupport.h
DebugAgentCommon/Ia32/ArchDebugSupport.c
@@ -48,7 +47,6 @@
[Sources.X64]
DebugAgentCommon/X64/AsmFuncs.S
- DebugAgentCommon/X64/AsmFuncs.asm
DebugAgentCommon/X64/AsmFuncs.nasm
DebugAgentCommon/X64/ArchDebugSupport.h
DebugAgentCommon/X64/ArchDebugSupport.c
diff --git a/SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/Ia32/IntHandler.asm b/SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/Ia32/IntHandler.asm
deleted file mode 100644
index ce9c03b..0000000
--- a/SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/Ia32/IntHandler.asm
+++ /dev/null
@@ -1,33 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2013, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; IntHandler.asm
-;
-; Abstract:
-;
-; Assembly interrupt handler function.
-;
-;------------------------------------------------------------------------------
-
-
-.686p
-.model flat,c
-
-public AsmInterruptHandle
-
-.code
-AsmInterruptHandle:
- cli
- mov al, 1
- iretd
-END
--git a/SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf b/SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf
index 1206e31..fc82e9b 100644
--- a/SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf
+++ b/SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf
@@ -34,13 +34,11 @@
[Sources.IA32]
Ia32/IntHandlerFuncs.c
- Ia32/IntHandler.asm
Ia32/IntHandler.nasm
Ia32/IntHandler.S
[Sources.X64]
X64/IntHandlerFuncs.c
- X64/IntHandler.asm
X64/IntHandler.nasm
X64/IntHandler.S
diff --git a/SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/X64/IntHandler.asm b/SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/X64/IntHandler.asm
deleted file mode 100644
index 93f4d6f..0000000
--- a/SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/X64/IntHandler.asm
+++ /dev/null
@@ -1,29 +0,0 @@
-;------------------------------------------------------------------------------
-;
-; Copyright (c) 2013, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; IntHandler.asm
-;
-; Abstract:
-;
-; Assembly interrupt handler function.
-;
-;------------------------------------------------------------------------------
-
-public AsmInterruptHandle
-
-.code
-AsmInterruptHandle:
- cli
- mov al, 1
- iretq
-END
--
2.8.0.windows.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Patch 5/5] UefiCpuPkg: Remove X86 ASM and S files
2018-05-13 14:31 [Patch 0/5] Remove X86 ASM and S files Liming Gao
` (3 preceding siblings ...)
2018-05-13 14:31 ` [Patch 4/5] SourceLevelDebugPkg: " Liming Gao
@ 2018-05-13 14:31 ` Liming Gao
2018-05-13 18:40 ` Laszlo Ersek
2018-05-29 0:41 ` [Patch 0/5] " Kinney, Michael D
5 siblings, 1 reply; 11+ messages in thread
From: Liming Gao @ 2018-05-13 14:31 UTC (permalink / raw)
To: edk2-devel
NASM has replaced ASM and S files.
Rmove ASM from all modules.
Remove S files from the drivers only.
After NASM is updated, S files can be removed from Library.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Liming Gao <liming.gao@intel.com>
---
UefiCpuPkg/CpuDxe/CpuDxe.inf | 4 -
UefiCpuPkg/CpuDxe/Ia32/CpuAsm.S | 57 ---
UefiCpuPkg/CpuDxe/Ia32/CpuAsm.asm | 58 ---
UefiCpuPkg/CpuDxe/X64/CpuAsm.S | 60 ---
UefiCpuPkg/CpuDxe/X64/CpuAsm.asm | 54 ---
.../Library/BaseUefiCpuLib/BaseUefiCpuLib.inf | 2 -
.../Library/BaseUefiCpuLib/Ia32/InitializeFpu.asm | 79 ----
.../Library/BaseUefiCpuLib/X64/InitializeFpu.asm | 62 ---
.../DxeCpuExceptionHandlerLib.inf | 2 -
.../Ia32/ExceptionHandlerAsm.asm | 467 ---------------------
.../PeiCpuExceptionHandlerLib.inf | 2 -
.../SecPeiCpuExceptionHandlerLib.inf | 2 -
.../SmmCpuExceptionHandlerLib.inf | 2 -
.../X64/ExceptionHandlerAsm.asm | 389 -----------------
.../Library/SmmCpuFeaturesLib/Ia32/SmiEntry.asm | 285 -------------
.../SmmCpuFeaturesLib/Ia32/SmiException.asm | 175 --------
.../SmmCpuFeaturesLib/SmmCpuFeaturesLibStm.inf | 4 -
.../Library/SmmCpuFeaturesLib/X64/SmiEntry.asm | 281 -------------
.../Library/SmmCpuFeaturesLib/X64/SmiException.asm | 178 --------
.../Universal/Acpi/S3Resume2Pei/Ia32/AsmFuncs.S | 38 --
.../Universal/Acpi/S3Resume2Pei/Ia32/AsmFuncs.asm | 45 --
.../Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf | 4 -
.../Universal/Acpi/S3Resume2Pei/X64/AsmFuncs.S | 37 --
.../Universal/Acpi/S3Resume2Pei/X64/AsmFuncs.asm | 41 --
24 files changed, 2328 deletions(-)
delete mode 100644 UefiCpuPkg/CpuDxe/Ia32/CpuAsm.S
delete mode 100644 UefiCpuPkg/CpuDxe/Ia32/CpuAsm.asm
delete mode 100644 UefiCpuPkg/CpuDxe/X64/CpuAsm.S
delete mode 100644 UefiCpuPkg/CpuDxe/X64/CpuAsm.asm
delete mode 100644 UefiCpuPkg/Library/BaseUefiCpuLib/Ia32/InitializeFpu.asm
delete mode 100644 UefiCpuPkg/Library/BaseUefiCpuLib/X64/InitializeFpu.asm
delete mode 100644 UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32/ExceptionHandlerAsm.asm
delete mode 100644 UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ExceptionHandlerAsm.asm
delete mode 100644 UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiEntry.asm
delete mode 100644 UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiException.asm
delete mode 100644 UefiCpuPkg/Library/SmmCpuFeaturesLib/X64/SmiEntry.asm
delete mode 100644 UefiCpuPkg/Library/SmmCpuFeaturesLib/X64/SmiException.asm
delete mode 100644 UefiCpuPkg/Universal/Acpi/S3Resume2Pei/Ia32/AsmFuncs.S
delete mode 100644 UefiCpuPkg/Universal/Acpi/S3Resume2Pei/Ia32/AsmFuncs.asm
delete mode 100644 UefiCpuPkg/Universal/Acpi/S3Resume2Pei/X64/AsmFuncs.S
delete mode 100644 UefiCpuPkg/Universal/Acpi/S3Resume2Pei/X64/AsmFuncs.asm
diff --git a/UefiCpuPkg/CpuDxe/CpuDxe.inf b/UefiCpuPkg/CpuDxe/CpuDxe.inf
index 02f86b7..13c79d0 100644
--- a/UefiCpuPkg/CpuDxe/CpuDxe.inf
+++ b/UefiCpuPkg/CpuDxe/CpuDxe.inf
@@ -58,14 +58,10 @@
CpuPageTable.c
[Sources.IA32]
- Ia32/CpuAsm.asm
Ia32/CpuAsm.nasm
- Ia32/CpuAsm.S
[Sources.X64]
- X64/CpuAsm.asm
X64/CpuAsm.nasm
- X64/CpuAsm.S
[Protocols]
gEfiCpuArchProtocolGuid ## PRODUCES
diff --git a/UefiCpuPkg/CpuDxe/Ia32/CpuAsm.S b/UefiCpuPkg/CpuDxe/Ia32/CpuAsm.S
deleted file mode 100644
index e034bc2..0000000
--- a/UefiCpuPkg/CpuDxe/Ia32/CpuAsm.S
+++ /dev/null
@@ -1,57 +0,0 @@
-#------------------------------------------------------------------------------
-#*
-#* Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
-#* 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
-#* http://opensource.org/licenses/bsd-license.php
-#*
-#* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-#* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#*
-#* CpuAsm.S
-#*
-#* Abstract:
-#*
-#------------------------------------------------------------------------------
-
-
-#.MMX
-#.XMM
-
-#------------------------------------------------------------------------------
-# VOID
-# SetCodeSelector (
-# UINT16 Selector
-# );
-#------------------------------------------------------------------------------
-ASM_GLOBAL ASM_PFX(SetCodeSelector)
-ASM_PFX(SetCodeSelector):
- movl 4(%esp), %ecx
- subl $0x10, %esp
- leal setCodeSelectorLongJump, %eax
- movl %eax, (%esp)
- movw %cx, 4(%esp)
- .byte 0xFF, 0x2C, 0x24 # jmp *(%esp) note:(FWORD jmp)
-setCodeSelectorLongJump:
- addl $0x10, %esp
- ret
-
-#------------------------------------------------------------------------------
-# VOID
-# SetDataSelectors (
-# UINT16 Selector
-# );
-#------------------------------------------------------------------------------
-ASM_GLOBAL ASM_PFX(SetDataSelectors)
-ASM_PFX(SetDataSelectors):
- movl 4(%esp), %ecx
- movw %cx, %ss
- movw %cx, %ds
- movw %cx, %es
- movw %cx, %fs
- movw %cx, %gs
- ret
-
-#END
-
diff --git a/UefiCpuPkg/CpuDxe/Ia32/CpuAsm.asm b/UefiCpuPkg/CpuDxe/Ia32/CpuAsm.asm
deleted file mode 100644
index 7f8f0d6..0000000
--- a/UefiCpuPkg/CpuDxe/Ia32/CpuAsm.asm
+++ /dev/null
@@ -1,58 +0,0 @@
- TITLE CpuAsm.asm:
-;------------------------------------------------------------------------------
-;*
-;* Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
-;* 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
-;* http://opensource.org/licenses/bsd-license.php
-;*
-;* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-;* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;*
-;* CpuAsm.asm
-;*
-;* Abstract:
-;*
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; SetCodeSelector (
-; UINT16 Selector
-; );
-;------------------------------------------------------------------------------
-SetCodeSelector PROC PUBLIC
- mov ecx, [esp+4]
- sub esp, 0x10
- lea eax, setCodeSelectorLongJump
- mov [esp], eax
- mov [esp+4], cx
- jmp fword ptr [esp]
-setCodeSelectorLongJump:
- add esp, 0x10
- ret
-SetCodeSelector ENDP
-
-;------------------------------------------------------------------------------
-; VOID
-; SetDataSelectors (
-; UINT16 Selector
-; );
-;------------------------------------------------------------------------------
-SetDataSelectors PROC PUBLIC
- mov ecx, [esp+4]
- mov ss, cx
- mov ds, cx
- mov es, cx
- mov fs, cx
- mov gs, cx
- ret
-SetDataSelectors ENDP
-
-
-END
diff --git a/UefiCpuPkg/CpuDxe/X64/CpuAsm.S b/UefiCpuPkg/CpuDxe/X64/CpuAsm.S
deleted file mode 100644
index e82cadf..0000000
--- a/UefiCpuPkg/CpuDxe/X64/CpuAsm.S
+++ /dev/null
@@ -1,60 +0,0 @@
-# TITLE CpuAsm.S:
-
-#------------------------------------------------------------------------------
-#*
-#* Copyright (c) 2008 - 2013, Intel Corporation. All rights reserved.<BR>
-#* 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
-#* http://opensource.org/licenses/bsd-license.php
-#*
-#* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-#* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#*
-#* CpuAsm.S
-#*
-#* Abstract:
-#*
-#------------------------------------------------------------------------------
-
-
-#text SEGMENT
-
-
-#------------------------------------------------------------------------------
-# VOID
-# SetCodeSelector (
-# UINT16 Selector
-# );
-#------------------------------------------------------------------------------
-ASM_GLOBAL ASM_PFX(SetCodeSelector)
-ASM_PFX(SetCodeSelector):
- subq $0x10, %rsp
- leaq L_setCodeSelectorLongJump(%rip), %rax
- movq %rax, (%rsp)
- movw %cx, 4(%rsp)
- .byte 0xFF, 0x2C, 0x24 # jmp (%rsp) note:fword jmp
-L_setCodeSelectorLongJump:
- addq $0x10, %rsp
- ret
-
-#------------------------------------------------------------------------------
-# VOID
-# SetDataSelectors (
-# UINT16 Selector
-# );
-#------------------------------------------------------------------------------
-ASM_GLOBAL ASM_PFX(SetDataSelectors)
-ASM_PFX(SetDataSelectors):
- movw %cx, %ss
- movw %cx, %ds
- movw %cx, %es
- movw %cx, %fs
- movw %cx, %gs
- ret
-
-#text ENDS
-
-#END
-
-
diff --git a/UefiCpuPkg/CpuDxe/X64/CpuAsm.asm b/UefiCpuPkg/CpuDxe/X64/CpuAsm.asm
deleted file mode 100644
index c71b06a..0000000
--- a/UefiCpuPkg/CpuDxe/X64/CpuAsm.asm
+++ /dev/null
@@ -1,54 +0,0 @@
- TITLE CpuAsm.asm:
-;------------------------------------------------------------------------------
-;*
-;* Copyright (c) 2008 - 2013, Intel Corporation. All rights reserved.<BR>
-;* 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
-;* http://opensource.org/licenses/bsd-license.php
-;*
-;* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-;* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;*
-;* CpuAsm.asm
-;*
-;* Abstract:
-;*
-;------------------------------------------------------------------------------
-
- .code
-
-;------------------------------------------------------------------------------
-; VOID
-; SetCodeSelector (
-; UINT16 Selector
-; );
-;------------------------------------------------------------------------------
-SetCodeSelector PROC PUBLIC
- sub rsp, 0x10
- lea rax, setCodeSelectorLongJump
- mov [rsp], rax
- mov [rsp+4], cx
- jmp fword ptr [rsp]
-setCodeSelectorLongJump:
- add rsp, 0x10
- ret
-SetCodeSelector ENDP
-
-;------------------------------------------------------------------------------
-; VOID
-; SetDataSelectors (
-; UINT16 Selector
-; );
-;------------------------------------------------------------------------------
-SetDataSelectors PROC PUBLIC
- mov ss, cx
- mov ds, cx
- mov es, cx
- mov fs, cx
- mov gs, cx
- ret
-SetDataSelectors ENDP
-
-END
-
diff --git a/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf b/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
index ce5d3aa..6829005 100644
--- a/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
+++ b/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
@@ -30,12 +30,10 @@
#
[Sources.IA32]
- Ia32/InitializeFpu.asm
Ia32/InitializeFpu.nasm
Ia32/InitializeFpu.S
[Sources.X64]
- X64/InitializeFpu.asm
X64/InitializeFpu.nasm
X64/InitializeFpu.S
diff --git a/UefiCpuPkg/Library/BaseUefiCpuLib/Ia32/InitializeFpu.asm b/UefiCpuPkg/Library/BaseUefiCpuLib/Ia32/InitializeFpu.asm
deleted file mode 100644
index 3c31da9..0000000
--- a/UefiCpuPkg/Library/BaseUefiCpuLib/Ia32/InitializeFpu.asm
+++ /dev/null
@@ -1,79 +0,0 @@
-;------------------------------------------------------------------------------
-;*
-;* Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
-;* 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
-;* http://opensource.org/licenses/bsd-license.php
-;*
-;* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-;* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;*
-;*
-;------------------------------------------------------------------------------
-
-
- .686
- .model flat,C
- .const
-;
-; Float control word initial value:
-; all exceptions masked, double-precision, round-to-nearest
-;
-mFpuControlWord DW 027Fh
-;
-; Multimedia-extensions control word:
-; all exceptions masked, round-to-nearest, flush to zero for masked underflow
-;
-mMmxControlWord DD 01F80h
-
- .xmm
- .code
-
-;
-; Initializes floating point units for requirement of UEFI specification.
-;
-; This function initializes floating-point control word to 0x027F (all exceptions
-; masked,double-precision, round-to-nearest) and multimedia-extensions control word
-; (if supported) to 0x1F80 (all exceptions masked, round-to-nearest, flush to zero
-; for masked underflow).
-;
-InitializeFloatingPointUnits PROC PUBLIC
-
- push ebx
-
- ;
- ; Initialize floating point units
- ;
- finit
- fldcw mFpuControlWord
-
- ;
- ; Use CpuId instructuion (CPUID.01H:EDX.SSE[bit 25] = 1) to test
- ; whether the processor supports SSE instruction.
- ;
- mov eax, 1
- cpuid
- bt edx, 25
- jnc Done
-
- ;
- ; Set OSFXSR bit 9 in CR4
- ;
- mov eax, cr4
- or eax, BIT9
- mov cr4, eax
-
- ;
- ; The processor should support SSE instruction and we can use
- ; ldmxcsr instruction
- ;
- ldmxcsr mMmxControlWord
-Done:
- pop ebx
-
- ret
-
-InitializeFloatingPointUnits ENDP
-
-END
diff --git a/UefiCpuPkg/Library/BaseUefiCpuLib/X64/InitializeFpu.asm b/UefiCpuPkg/Library/BaseUefiCpuLib/X64/InitializeFpu.asm
deleted file mode 100644
index 331af15..0000000
--- a/UefiCpuPkg/Library/BaseUefiCpuLib/X64/InitializeFpu.asm
+++ /dev/null
@@ -1,62 +0,0 @@
-;------------------------------------------------------------------------------
-;*
-;* Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
-;* 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
-;* http://opensource.org/licenses/bsd-license.php
-;*
-;* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-;* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;*
-;*
-;------------------------------------------------------------------------------
-
-
-.const
-;
-; Float control word initial value:
-; all exceptions masked, double-extended-precision, round-to-nearest
-;
-mFpuControlWord DW 037Fh
-;
-; Multimedia-extensions control word:
-; all exceptions masked, round-to-nearest, flush to zero for masked underflow
-;
-mMmxControlWord DD 01F80h
-
-.code
-
-
-;
-; Initializes floating point units for requirement of UEFI specification.
-;
-; This function initializes floating-point control word to 0x027F (all exceptions
-; masked,double-precision, round-to-nearest) and multimedia-extensions control word
-; (if supported) to 0x1F80 (all exceptions masked, round-to-nearest, flush to zero
-; for masked underflow).
-;
-InitializeFloatingPointUnits PROC PUBLIC
-
- ;
- ; Initialize floating point units
- ;
- ; The following opcodes stand for instruction 'finit'
- ; to be supported by some 64-bit assemblers
- ;
- DB 9Bh, 0DBh, 0E3h
- fldcw mFpuControlWord
-
- ;
- ; Set OSFXSR bit 9 in CR4
- ;
- mov rax, cr4
- or rax, BIT9
- mov cr4, rax
-
- ldmxcsr mMmxControlWord
-
- ret
-InitializeFloatingPointUnits ENDP
-
-END
diff --git a/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf b/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
index 58e55a8..50f4aa8 100644
--- a/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
+++ b/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
@@ -28,7 +28,6 @@
#
[Sources.Ia32]
- Ia32/ExceptionHandlerAsm.asm
Ia32/ExceptionHandlerAsm.nasm
Ia32/ExceptionTssEntryAsm.nasm
Ia32/ExceptionHandlerAsm.S
@@ -36,7 +35,6 @@
Ia32/ArchInterruptDefs.h
[Sources.X64]
- X64/ExceptionHandlerAsm.asm
X64/ExceptionHandlerAsm.nasm
X64/ExceptionHandlerAsm.S
X64/ArchExceptionHandler.c
diff --git a/UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32/ExceptionHandlerAsm.asm b/UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32/ExceptionHandlerAsm.asm
deleted file mode 100644
index 126680e..0000000
--- a/UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32/ExceptionHandlerAsm.asm
+++ /dev/null
@@ -1,467 +0,0 @@
-;------------------------------------------------------------------------------ ;
-; Copyright (c) 2012 - 2015, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ExceptionHandlerAsm.Asm
-;
-; Abstract:
-;
-; IA32 CPU Exception Handler
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
- .686
- .model flat,C
-
-;
-; CommonExceptionHandler()
-;
-CommonExceptionHandler PROTO C
-
-.data
-
-EXTRN mErrorCodeFlag:DWORD ; Error code flags for exceptions
-EXTRN mDoFarReturnFlag:DWORD ; Do far return flag
-
-.code
-
-ALIGN 8
-
-;
-; exception handler stub table
-;
-AsmIdtVectorBegin:
-REPEAT 32
- db 6ah ; push #VectorNum
- db ($ - AsmIdtVectorBegin) / ((AsmIdtVectorEnd - AsmIdtVectorBegin) / 32) ; VectorNum
- push eax
- mov eax, CommonInterruptEntry
- jmp eax
-ENDM
-AsmIdtVectorEnd:
-
-HookAfterStubBegin:
- db 6ah ; push
-VectorNum:
- db 0 ; 0 will be fixed
- push eax
- mov eax, HookAfterStubHeaderEnd
- jmp eax
-HookAfterStubHeaderEnd:
- pop eax
- sub esp, 8 ; reserve room for filling exception data later
- push [esp + 8]
- xchg ecx, [esp] ; get vector number
- bt mErrorCodeFlag, ecx
- jnc @F
- push [esp] ; addition push if exception data needed
-@@:
- xchg ecx, [esp] ; restore ecx
- push eax
-
-;----------------------------------------------------------------------------;
-; CommonInterruptEntry ;
-;----------------------------------------------------------------------------;
-; The follow algorithm is used for the common interrupt routine.
-; Entry from each interrupt with a push eax and eax=interrupt number
-; Stack:
-; +---------------------+
-; + EFlags +
-; +---------------------+
-; + CS +
-; +---------------------+
-; + EIP +
-; +---------------------+
-; + Error Code +
-; +---------------------+
-; + Vector Number +
-; +---------------------+
-; + EBP +
-; +---------------------+ <-- EBP
-CommonInterruptEntry PROC PUBLIC
- cli
- pop eax
- ;
- ; All interrupt handlers are invoked through interrupt gates, so
- ; IF flag automatically cleared at the entry point
- ;
-
- ;
- ; Get vector number from top of stack
- ;
- xchg ecx, [esp]
- and ecx, 0FFh ; Vector number should be less than 256
- cmp ecx, 32 ; Intel reserved vector for exceptions?
- jae NoErrorCode
- bt mErrorCodeFlag, ecx
- jc HasErrorCode
-
-NoErrorCode:
-
- ;
- ; Stack:
- ; +---------------------+
- ; + EFlags +
- ; +---------------------+
- ; + CS +
- ; +---------------------+
- ; + EIP +
- ; +---------------------+
- ; + ECX +
- ; +---------------------+ <-- ESP
- ;
- ; Registers:
- ; ECX - Vector Number
- ;
-
- ;
- ; Put Vector Number on stack
- ;
- push ecx
-
- ;
- ; Put 0 (dummy) error code on stack, and restore ECX
- ;
- xor ecx, ecx ; ECX = 0
- xchg ecx, [esp+4]
-
- jmp ErrorCodeAndVectorOnStack
-
-HasErrorCode:
-
- ;
- ; Stack:
- ; +---------------------+
- ; + EFlags +
- ; +---------------------+
- ; + CS +
- ; +---------------------+
- ; + EIP +
- ; +---------------------+
- ; + Error Code +
- ; +---------------------+
- ; + ECX +
- ; +---------------------+ <-- ESP
- ;
- ; Registers:
- ; ECX - Vector Number
- ;
-
- ;
- ; Put Vector Number on stack and restore ECX
- ;
- xchg ecx, [esp]
-
-ErrorCodeAndVectorOnStack:
- push ebp
- mov ebp, esp
-
- ;
- ; Stack:
- ; +---------------------+
- ; + EFlags +
- ; +---------------------+
- ; + CS +
- ; +---------------------+
- ; + EIP +
- ; +---------------------+
- ; + Error Code +
- ; +---------------------+
- ; + Vector Number +
- ; +---------------------+
- ; + EBP +
- ; +---------------------+ <-- EBP
- ;
-
- ;
- ; Align stack to make sure that EFI_FX_SAVE_STATE_IA32 of EFI_SYSTEM_CONTEXT_IA32
- ; is 16-byte aligned
- ;
- and esp, 0fffffff0h
- sub esp, 12
-
- sub esp, 8
- push 0 ; clear EXCEPTION_HANDLER_CONTEXT.OldIdtHandler
- push 0 ; clear EXCEPTION_HANDLER_CONTEXT.ExceptionDataFlag
-
-;; UINT32 Edi, Esi, Ebp, Esp, Ebx, Edx, Ecx, Eax;
- push eax
- push ecx
- push edx
- push ebx
- lea ecx, [ebp + 6 * 4]
- push ecx ; ESP
- push dword ptr [ebp] ; EBP
- push esi
- push edi
-
-;; UINT32 Gs, Fs, Es, Ds, Cs, Ss;
- mov eax, ss
- push eax
- movzx eax, word ptr [ebp + 4 * 4]
- push eax
- mov eax, ds
- push eax
- mov eax, es
- push eax
- mov eax, fs
- push eax
- mov eax, gs
- push eax
-
-;; UINT32 Eip;
- mov eax, [ebp + 3 * 4]
- push eax
-
-;; UINT32 Gdtr[2], Idtr[2];
- sub esp, 8
- sidt [esp]
- mov eax, [esp + 2]
- xchg eax, [esp]
- and eax, 0FFFFh
- mov [esp+4], eax
-
- sub esp, 8
- sgdt [esp]
- mov eax, [esp + 2]
- xchg eax, [esp]
- and eax, 0FFFFh
- mov [esp+4], eax
-
-;; UINT32 Ldtr, Tr;
- xor eax, eax
- str ax
- push eax
- sldt ax
- push eax
-
-;; UINT32 EFlags;
- mov eax, [ebp + 5 * 4]
- push eax
-
-;; UINT32 Cr0, Cr1, Cr2, Cr3, Cr4;
- mov eax, 1
- push ebx ; temporarily save value of ebx on stack
- cpuid ; use CPUID to determine if FXSAVE/FXRESTOR and DE
- ; are supported
- pop ebx ; retore value of ebx that was overwritten by CPUID
- mov eax, cr4
- push eax ; push cr4 firstly
- test edx, BIT24 ; Test for FXSAVE/FXRESTOR support
- jz @F
- or eax, BIT9 ; Set CR4.OSFXSR
-@@:
- test edx, BIT2 ; Test for Debugging Extensions support
- jz @F
- or eax, BIT3 ; Set CR4.DE
-@@:
- mov cr4, eax
- mov eax, cr3
- push eax
- mov eax, cr2
- push eax
- xor eax, eax
- push eax
- mov eax, cr0
- push eax
-
-;; UINT32 Dr0, Dr1, Dr2, Dr3, Dr6, Dr7;
- mov eax, dr7
- push eax
- mov eax, dr6
- push eax
- mov eax, dr3
- push eax
- mov eax, dr2
- push eax
- mov eax, dr1
- push eax
- mov eax, dr0
- push eax
-
-;; FX_SAVE_STATE_IA32 FxSaveState;
- sub esp, 512
- mov edi, esp
- test edx, BIT24 ; Test for FXSAVE/FXRESTOR support.
- ; edx still contains result from CPUID above
- jz @F
- db 0fh, 0aeh, 07h ;fxsave [edi]
-@@:
-
-;; UEFI calling convention for IA32 requires that Direction flag in EFLAGs is clear
- cld
-
-;; UINT32 ExceptionData;
- push dword ptr [ebp + 2 * 4]
-
-;; Prepare parameter and call
- mov edx, esp
- push edx
- mov edx, dword ptr [ebp + 1 * 4]
- push edx
-
- ;
- ; Call External Exception Handler
- ;
- mov eax, CommonExceptionHandler
- call eax
- add esp, 8
-
- cli
-;; UINT32 ExceptionData;
- add esp, 4
-
-;; FX_SAVE_STATE_IA32 FxSaveState;
- mov esi, esp
- mov eax, 1
- cpuid ; use CPUID to determine if FXSAVE/FXRESTOR
- ; are supported
- test edx, BIT24 ; Test for FXSAVE/FXRESTOR support
- jz @F
- db 0fh, 0aeh, 0eh ; fxrstor [esi]
-@@:
- add esp, 512
-
-;; UINT32 Dr0, Dr1, Dr2, Dr3, Dr6, Dr7;
-;; Skip restoration of DRx registers to support in-circuit emualators
-;; or debuggers set breakpoint in interrupt/exception context
- add esp, 4 * 6
-
-;; UINT32 Cr0, Cr1, Cr2, Cr3, Cr4;
- pop eax
- mov cr0, eax
- add esp, 4 ; not for Cr1
- pop eax
- mov cr2, eax
- pop eax
- mov cr3, eax
- pop eax
- mov cr4, eax
-
-;; UINT32 EFlags;
- pop dword ptr [ebp + 5 * 4]
-
-;; UINT32 Ldtr, Tr;
-;; UINT32 Gdtr[2], Idtr[2];
-;; Best not let anyone mess with these particular registers...
- add esp, 24
-
-;; UINT32 Eip;
- pop dword ptr [ebp + 3 * 4]
-
-;; UINT32 Gs, Fs, Es, Ds, Cs, Ss;
-;; NOTE - modified segment registers could hang the debugger... We
-;; could attempt to insulate ourselves against this possibility,
-;; but that poses risks as well.
-;;
- pop gs
- pop fs
- pop es
- pop ds
- pop dword ptr [ebp + 4 * 4]
- pop ss
-
-;; UINT32 Edi, Esi, Ebp, Esp, Ebx, Edx, Ecx, Eax;
- pop edi
- pop esi
- add esp, 4 ; not for ebp
- add esp, 4 ; not for esp
- pop ebx
- pop edx
- pop ecx
- pop eax
-
- pop dword ptr [ebp - 8]
- pop dword ptr [ebp - 4]
- mov esp, ebp
- pop ebp
- add esp, 8
- cmp dword ptr [esp - 16], 0 ; check EXCEPTION_HANDLER_CONTEXT.OldIdtHandler
- jz DoReturn
- cmp dword ptr [esp - 20], 1 ; check EXCEPTION_HANDLER_CONTEXT.ExceptionDataFlag
- jz ErrorCode
- jmp dword ptr [esp - 16]
-ErrorCode:
- sub esp, 4
- jmp dword ptr [esp - 12]
-
-DoReturn:
- cmp mDoFarReturnFlag, 0 ; Check if need to do far return instead of IRET
- jz DoIret
- push [esp + 8] ; save EFLAGS
- add esp, 16
- push [esp - 8] ; save CS in new location
- push [esp - 8] ; save EIP in new location
- push [esp - 8] ; save EFLAGS in new location
- popfd ; restore EFLAGS
- retf ; far return
-
-DoIret:
- iretd
-
-CommonInterruptEntry ENDP
-
-;---------------------------------------;
-; _AsmGetTemplateAddressMap ;
-;----------------------------------------------------------------------------;
-;
-; Protocol prototype
-; AsmGetTemplateAddressMap (
-; EXCEPTION_HANDLER_TEMPLATE_MAP *AddressMap
-; );
-;
-; Routine Description:
-;
-; Return address map of interrupt handler template so that C code can generate
-; interrupt table.
-;
-; Arguments:
-;
-;
-; Returns:
-;
-; Nothing
-;
-;
-; Input: [ebp][0] = Original ebp
-; [ebp][4] = Return address
-;
-; Output: Nothing
-;
-; Destroys: Nothing
-;-----------------------------------------------------------------------------;
-AsmGetTemplateAddressMap proc near public
- push ebp ; C prolog
- mov ebp, esp
- pushad
-
- mov ebx, dword ptr [ebp + 08h]
- mov dword ptr [ebx], AsmIdtVectorBegin
- mov dword ptr [ebx + 4h], (AsmIdtVectorEnd - AsmIdtVectorBegin) / 32
- mov dword ptr [ebx + 8h], HookAfterStubBegin
-
- popad
- pop ebp
- ret
-AsmGetTemplateAddressMap ENDP
-
-;-------------------------------------------------------------------------------------
-; AsmVectorNumFixup (*NewVectorAddr, VectorNum, *OldVectorAddr);
-;-------------------------------------------------------------------------------------
-AsmVectorNumFixup proc near public
- mov eax, dword ptr [esp + 8]
- mov ecx, [esp + 4]
- mov [ecx + (VectorNum - HookAfterStubBegin)], al
- ret
-AsmVectorNumFixup ENDP
-END
diff --git a/UefiCpuPkg/Library/CpuExceptionHandlerLib/PeiCpuExceptionHandlerLib.inf b/UefiCpuPkg/Library/CpuExceptionHandlerLib/PeiCpuExceptionHandlerLib.inf
index 4c0d435..3288dbe 100644
--- a/UefiCpuPkg/Library/CpuExceptionHandlerLib/PeiCpuExceptionHandlerLib.inf
+++ b/UefiCpuPkg/Library/CpuExceptionHandlerLib/PeiCpuExceptionHandlerLib.inf
@@ -28,7 +28,6 @@
#
[Sources.Ia32]
- Ia32/ExceptionHandlerAsm.asm
Ia32/ExceptionHandlerAsm.nasm
Ia32/ExceptionTssEntryAsm.nasm
Ia32/ExceptionHandlerAsm.S
@@ -36,7 +35,6 @@
Ia32/ArchInterruptDefs.h
[Sources.X64]
- X64/ExceptionHandlerAsm.asm
X64/ExceptionHandlerAsm.nasm
X64/ExceptionHandlerAsm.S
X64/ArchExceptionHandler.c
diff --git a/UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.inf b/UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.inf
index e5c03c1..a433b74 100644
--- a/UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.inf
+++ b/UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.inf
@@ -28,7 +28,6 @@
#
[Sources.Ia32]
- Ia32/ExceptionHandlerAsm.asm
Ia32/ExceptionHandlerAsm.nasm
Ia32/ExceptionTssEntryAsm.nasm
Ia32/ExceptionHandlerAsm.S
@@ -36,7 +35,6 @@
Ia32/ArchInterruptDefs.h
[Sources.X64]
- X64/ExceptionHandlerAsm.asm
X64/ExceptionHandlerAsm.nasm
X64/ExceptionHandlerAsm.S
X64/ArchExceptionHandler.c
diff --git a/UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.inf b/UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.inf
index 56b875b..725d71b 100644
--- a/UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.inf
+++ b/UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.inf
@@ -28,7 +28,6 @@
#
[Sources.Ia32]
- Ia32/ExceptionHandlerAsm.asm
Ia32/ExceptionHandlerAsm.nasm
Ia32/ExceptionTssEntryAsm.nasm
Ia32/ExceptionHandlerAsm.S
@@ -36,7 +35,6 @@
Ia32/ArchInterruptDefs.h
[Sources.X64]
- X64/ExceptionHandlerAsm.asm
X64/ExceptionHandlerAsm.nasm
X64/ExceptionHandlerAsm.S
X64/ArchExceptionHandler.c
diff --git a/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ExceptionHandlerAsm.asm b/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ExceptionHandlerAsm.asm
deleted file mode 100644
index 726c64a..0000000
--- a/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ExceptionHandlerAsm.asm
+++ /dev/null
@@ -1,389 +0,0 @@
-;------------------------------------------------------------------------------ ;
-; Copyright (c) 2012 - 2014, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; ExceptionHandlerAsm.Asm
-;
-; Abstract:
-;
-; x64 CPU Exception Handler
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
-;
-; CommonExceptionHandler()
-;
-externdef CommonExceptionHandler:near
-
-EXTRN mErrorCodeFlag:DWORD ; Error code flags for exceptions
-EXTRN mDoFarReturnFlag:QWORD ; Do far return flag
-
-data SEGMENT
-
-.code
-
-ALIGN 8
-
-AsmIdtVectorBegin:
-REPEAT 32
- db 6ah ; push #VectorNum
- db ($ - AsmIdtVectorBegin) / ((AsmIdtVectorEnd - AsmIdtVectorBegin) / 32) ; VectorNum
- push rax
- mov rax, CommonInterruptEntry
- jmp rax
-ENDM
-AsmIdtVectorEnd:
-
-HookAfterStubHeaderBegin:
- db 6ah ; push
-@VectorNum:
- db 0 ; 0 will be fixed
- push rax
- mov rax, HookAfterStubHeaderEnd
- jmp rax
-HookAfterStubHeaderEnd:
- mov rax, rsp
- and sp, 0fff0h ; make sure 16-byte aligned for exception context
- sub rsp, 18h ; reserve room for filling exception data later
- push rcx
- mov rcx, [rax + 8]
- bt mErrorCodeFlag, ecx
- jnc @F
- push [rsp] ; push additional rcx to make stack alignment
-@@:
- xchg rcx, [rsp] ; restore rcx, save Exception Number in stack
- push [rax] ; push rax into stack to keep code consistence
-
-;---------------------------------------;
-; CommonInterruptEntry ;
-;---------------------------------------;
-; The follow algorithm is used for the common interrupt routine.
-; Entry from each interrupt with a push eax and eax=interrupt number
-; Stack frame would be as follows as specified in IA32 manuals:
-;
-; +---------------------+ <-- 16-byte aligned ensured by processor
-; + Old SS +
-; +---------------------+
-; + Old RSP +
-; +---------------------+
-; + RFlags +
-; +---------------------+
-; + CS +
-; +---------------------+
-; + RIP +
-; +---------------------+
-; + Error Code +
-; +---------------------+
-; + Vector Number +
-; +---------------------+
-; + RBP +
-; +---------------------+ <-- RBP, 16-byte aligned
-; The follow algorithm is used for the common interrupt routine.
-CommonInterruptEntry PROC PUBLIC
- cli
- pop rax
- ;
- ; All interrupt handlers are invoked through interrupt gates, so
- ; IF flag automatically cleared at the entry point
- ;
- xchg rcx, [rsp] ; Save rcx into stack and save vector number into rcx
- and rcx, 0FFh
- cmp ecx, 32 ; Intel reserved vector for exceptions?
- jae NoErrorCode
- bt mErrorCodeFlag, ecx
- jc @F
-
-NoErrorCode:
-
- ;
- ; Push a dummy error code on the stack
- ; to maintain coherent stack map
- ;
- push [rsp]
- mov qword ptr [rsp + 8], 0
-@@:
- push rbp
- mov rbp, rsp
- push 0 ; clear EXCEPTION_HANDLER_CONTEXT.OldIdtHandler
- push 0 ; clear EXCEPTION_HANDLER_CONTEXT.ExceptionDataFlag
-
- ;
- ; Stack:
- ; +---------------------+ <-- 16-byte aligned ensured by processor
- ; + Old SS +
- ; +---------------------+
- ; + Old RSP +
- ; +---------------------+
- ; + RFlags +
- ; +---------------------+
- ; + CS +
- ; +---------------------+
- ; + RIP +
- ; +---------------------+
- ; + Error Code +
- ; +---------------------+
- ; + RCX / Vector Number +
- ; +---------------------+
- ; + RBP +
- ; +---------------------+ <-- RBP, 16-byte aligned
- ;
-
-
- ;
- ; Since here the stack pointer is 16-byte aligned, so
- ; EFI_FX_SAVE_STATE_X64 of EFI_SYSTEM_CONTEXT_x64
- ; is 16-byte aligned
- ;
-
-;; UINT64 Rdi, Rsi, Rbp, Rsp, Rbx, Rdx, Rcx, Rax;
-;; UINT64 R8, R9, R10, R11, R12, R13, R14, R15;
- push r15
- push r14
- push r13
- push r12
- push r11
- push r10
- push r9
- push r8
- push rax
- push qword ptr [rbp + 8] ; RCX
- push rdx
- push rbx
- push qword ptr [rbp + 48] ; RSP
- push qword ptr [rbp] ; RBP
- push rsi
- push rdi
-
-;; UINT64 Gs, Fs, Es, Ds, Cs, Ss; insure high 16 bits of each is zero
- movzx rax, word ptr [rbp + 56]
- push rax ; for ss
- movzx rax, word ptr [rbp + 32]
- push rax ; for cs
- mov rax, ds
- push rax
- mov rax, es
- push rax
- mov rax, fs
- push rax
- mov rax, gs
- push rax
-
- mov [rbp + 8], rcx ; save vector number
-
-;; UINT64 Rip;
- push qword ptr [rbp + 24]
-
-;; UINT64 Gdtr[2], Idtr[2];
- xor rax, rax
- push rax
- push rax
- sidt [rsp]
- xchg rax, [rsp + 2]
- xchg rax, [rsp]
- xchg rax, [rsp + 8]
-
- xor rax, rax
- push rax
- push rax
- sgdt [rsp]
- xchg rax, [rsp + 2]
- xchg rax, [rsp]
- xchg rax, [rsp + 8]
-
-;; UINT64 Ldtr, Tr;
- xor rax, rax
- str ax
- push rax
- sldt ax
- push rax
-
-;; UINT64 RFlags;
- push qword ptr [rbp + 40]
-
-;; UINT64 Cr0, Cr1, Cr2, Cr3, Cr4, Cr8;
- mov rax, cr8
- push rax
- mov rax, cr4
- or rax, 208h
- mov cr4, rax
- push rax
- mov rax, cr3
- push rax
- mov rax, cr2
- push rax
- xor rax, rax
- push rax
- mov rax, cr0
- push rax
-
-;; UINT64 Dr0, Dr1, Dr2, Dr3, Dr6, Dr7;
- mov rax, dr7
- push rax
- mov rax, dr6
- push rax
- mov rax, dr3
- push rax
- mov rax, dr2
- push rax
- mov rax, dr1
- push rax
- mov rax, dr0
- push rax
-
-;; FX_SAVE_STATE_X64 FxSaveState;
- sub rsp, 512
- mov rdi, rsp
- db 0fh, 0aeh, 07h ;fxsave [rdi]
-
-;; UEFI calling convention for x64 requires that Direction flag in EFLAGs is clear
- cld
-
-;; UINT32 ExceptionData;
- push qword ptr [rbp + 16]
-
-;; Prepare parameter and call
- mov rcx, [rbp + 8]
- mov rdx, rsp
- ;
- ; Per X64 calling convention, allocate maximum parameter stack space
- ; and make sure RSP is 16-byte aligned
- ;
- sub rsp, 4 * 8 + 8
- mov rax, CommonExceptionHandler
- call rax
- add rsp, 4 * 8 + 8
-
- cli
-;; UINT64 ExceptionData;
- add rsp, 8
-
-;; FX_SAVE_STATE_X64 FxSaveState;
-
- mov rsi, rsp
- db 0fh, 0aeh, 0Eh ; fxrstor [rsi]
- add rsp, 512
-
-;; UINT64 Dr0, Dr1, Dr2, Dr3, Dr6, Dr7;
-;; Skip restoration of DRx registers to support in-circuit emualators
-;; or debuggers set breakpoint in interrupt/exception context
- add rsp, 8 * 6
-
-;; UINT64 Cr0, Cr1, Cr2, Cr3, Cr4, Cr8;
- pop rax
- mov cr0, rax
- add rsp, 8 ; not for Cr1
- pop rax
- mov cr2, rax
- pop rax
- mov cr3, rax
- pop rax
- mov cr4, rax
- pop rax
- mov cr8, rax
-
-;; UINT64 RFlags;
- pop qword ptr [rbp + 40]
-
-;; UINT64 Ldtr, Tr;
-;; UINT64 Gdtr[2], Idtr[2];
-;; Best not let anyone mess with these particular registers...
- add rsp, 48
-
-;; UINT64 Rip;
- pop qword ptr [rbp + 24]
-
-;; UINT64 Gs, Fs, Es, Ds, Cs, Ss;
- pop rax
- ; mov gs, rax ; not for gs
- pop rax
- ; mov fs, rax ; not for fs
- ; (X64 will not use fs and gs, so we do not restore it)
- pop rax
- mov es, rax
- pop rax
- mov ds, rax
- pop qword ptr [rbp + 32] ; for cs
- pop qword ptr [rbp + 56] ; for ss
-
-;; UINT64 Rdi, Rsi, Rbp, Rsp, Rbx, Rdx, Rcx, Rax;
-;; UINT64 R8, R9, R10, R11, R12, R13, R14, R15;
- pop rdi
- pop rsi
- add rsp, 8 ; not for rbp
- pop qword ptr [rbp + 48] ; for rsp
- pop rbx
- pop rdx
- pop rcx
- pop rax
- pop r8
- pop r9
- pop r10
- pop r11
- pop r12
- pop r13
- pop r14
- pop r15
-
- mov rsp, rbp
- pop rbp
- add rsp, 16
- cmp qword ptr [rsp - 32], 0 ; check EXCEPTION_HANDLER_CONTEXT.OldIdtHandler
- jz DoReturn
- cmp qword ptr [rsp - 40], 1 ; check EXCEPTION_HANDLER_CONTEXT.ExceptionDataFlag
- jz ErrorCode
- jmp qword ptr [rsp - 32]
-ErrorCode:
- sub rsp, 8
- jmp qword ptr [rsp - 24]
-
-DoReturn:
- cmp mDoFarReturnFlag, 0 ; Check if need to do far return instead of IRET
- jz DoIret
- push rax
- mov rax, rsp ; save old RSP to rax
- mov rsp, [rsp + 20h]
- push [rax + 10h] ; save CS in new location
- push [rax + 8h] ; save EIP in new location
- push [rax + 18h] ; save EFLAGS in new location
- mov rax, [rax] ; restore rax
- popfq ; restore EFLAGS
- DB 48h ; prefix to composite "retq" with next "retf"
- retf ; far return
-DoIret:
- iretq
-
-CommonInterruptEntry ENDP
-
-;-------------------------------------------------------------------------------------
-; GetTemplateAddressMap (&AddressMap);
-;-------------------------------------------------------------------------------------
-; comments here for definition of address map
-AsmGetTemplateAddressMap PROC
- mov rax, offset AsmIdtVectorBegin
- mov qword ptr [rcx], rax
- mov qword ptr [rcx + 8h], (AsmIdtVectorEnd - AsmIdtVectorBegin) / 32
- mov rax, offset HookAfterStubHeaderBegin
- mov qword ptr [rcx + 10h], rax
- ret
-AsmGetTemplateAddressMap ENDP
-
-;-------------------------------------------------------------------------------------
-; AsmVectorNumFixup (*NewVectorAddr, VectorNum, *OldVectorAddr);
-;-------------------------------------------------------------------------------------
-AsmVectorNumFixup PROC
- mov rax, rdx
- mov [rcx + (@VectorNum - HookAfterStubHeaderBegin)], al
- ret
-AsmVectorNumFixup ENDP
-
-END
diff --git a/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiEntry.asm b/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiEntry.asm
deleted file mode 100644
index 91dc1eb..0000000
--- a/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiEntry.asm
+++ /dev/null
@@ -1,285 +0,0 @@
-;------------------------------------------------------------------------------ ;
-; Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SmiEntry.asm
-;
-; Abstract:
-;
-; Code template of the SMI handler for a particular processor
-;
-;-------------------------------------------------------------------------------
-
- .686p
- .model flat,C
- .xmm
-
-MSR_IA32_MISC_ENABLE EQU 1A0h
-MSR_EFER EQU 0c0000080h
-MSR_EFER_XD EQU 0800h
-
-;
-; Constants relating to TXT_PROCESSOR_SMM_DESCRIPTOR
-;
-DSC_OFFSET EQU 0fb00h
-DSC_GDTPTR EQU 48h
-DSC_GDTSIZ EQU 50h
-DSC_CS EQU 14h
-DSC_DS EQU 16h
-DSC_SS EQU 18h
-DSC_OTHERSEG EQU 1Ah
-
-PROTECT_MODE_CS EQU 08h
-PROTECT_MODE_DS EQU 20h
-TSS_SEGMENT EQU 40h
-
-SmiRendezvous PROTO C
-CpuSmmDebugEntry PROTO C
-CpuSmmDebugExit PROTO C
-
-EXTERNDEF gcStmSmiHandlerTemplate:BYTE
-EXTERNDEF gcStmSmiHandlerSize:WORD
-EXTERNDEF gcStmSmiHandlerOffset:WORD
-EXTERNDEF gStmSmiCr3:DWORD
-EXTERNDEF gStmSmiStack:DWORD
-EXTERNDEF gStmSmbase:DWORD
-EXTERNDEF gStmXdSupported:BYTE
-EXTERNDEF FeaturePcdGet (PcdCpuSmmStackGuard):BYTE
-EXTERNDEF gStmSmiHandlerIdtr:FWORD
-
- .code
-
-gcStmSmiHandlerTemplate LABEL BYTE
-
-_StmSmiEntryPoint:
- DB 0bbh ; mov bx, imm16
- DW offset _StmGdtDesc - _StmSmiEntryPoint + 8000h
- DB 2eh, 0a1h ; mov ax, cs:[offset16]
- DW DSC_OFFSET + DSC_GDTSIZ
- dec eax
- mov cs:[edi], eax ; mov cs:[bx], ax
- DB 66h, 2eh, 0a1h ; mov eax, cs:[offset16]
- DW DSC_OFFSET + DSC_GDTPTR
- mov cs:[edi + 2], ax ; mov cs:[bx + 2], eax
- mov bp, ax ; ebp = GDT base
- DB 66h
- lgdt fword ptr cs:[edi] ; lgdt fword ptr cs:[bx]
-; Patch ProtectedMode Segment
- DB 0b8h ; mov ax, imm16
- DW PROTECT_MODE_CS ; set AX for segment directly
- mov cs:[edi - 2], eax ; mov cs:[bx - 2], ax
-; Patch ProtectedMode entry
- DB 66h, 0bfh ; mov edi, SMBASE
-gStmSmbase DD ?
- DB 67h
- lea ax, [edi + (@32bit - _StmSmiEntryPoint) + 8000h]
- mov cs:[edi - 6], ax ; mov cs:[bx - 6], eax
- mov ebx, cr0
- DB 66h
- and ebx, 9ffafff3h
- DB 66h
- or ebx, 23h
- mov cr0, ebx
- DB 66h, 0eah
- DD ?
- DW ?
-_StmGdtDesc FWORD ?
-
-@32bit:
- mov ax, PROTECT_MODE_DS
- mov ds, ax
- mov es, ax
- mov fs, ax
- mov gs, ax
- mov ss, ax
- DB 0bch ; mov esp, imm32
-gStmSmiStack DD ?
- mov eax, offset gStmSmiHandlerIdtr
- lidt fword ptr [eax]
- jmp ProtFlatMode
-
-ProtFlatMode:
- DB 0b8h ; mov eax, imm32
-gStmSmiCr3 DD ?
- mov cr3, eax
-;
-; Need to test for CR4 specific bit support
-;
- mov eax, 1
- cpuid ; use CPUID to determine if specific CR4 bits are supported
- xor eax, eax ; Clear EAX
- test edx, BIT2 ; Check for DE capabilities
- jz @f
- or eax, BIT3
-@@:
- test edx, BIT6 ; Check for PAE capabilities
- jz @f
- or eax, BIT5
-@@:
- test edx, BIT7 ; Check for MCE capabilities
- jz @f
- or eax, BIT6
-@@:
- test edx, BIT24 ; Check for FXSR capabilities
- jz @f
- or eax, BIT9
-@@:
- test edx, BIT25 ; Check for SSE capabilities
- jz @f
- or eax, BIT10
-@@: ; as cr4.PGE is not set here, refresh cr3
- mov cr4, eax ; in PreModifyMtrrs() to flush TLB.
-
- cmp FeaturePcdGet (PcdCpuSmmStackGuard), 0
- jz @F
-; Load TSS
- mov byte ptr [ebp + TSS_SEGMENT + 5], 89h ; clear busy flag
- mov eax, TSS_SEGMENT
- ltr ax
-@@:
-
-; enable NXE if supported
- DB 0b0h ; mov al, imm8
-gStmXdSupported DB 1
- cmp al, 0
- jz @SkipXd
-;
-; Check XD disable bit
-;
- mov ecx, MSR_IA32_MISC_ENABLE
- rdmsr
- push edx ; save MSR_IA32_MISC_ENABLE[63-32]
- test edx, BIT2 ; MSR_IA32_MISC_ENABLE[34]
- jz @f
- and dx, 0FFFBh ; clear XD Disable bit if it is set
- wrmsr
-@@:
- mov ecx, MSR_EFER
- rdmsr
- or ax, MSR_EFER_XD ; enable NXE
- wrmsr
- jmp @XdDone
-@SkipXd:
- sub esp, 4
-@XdDone:
-
- mov ebx, cr0
- or ebx, 080010023h ; enable paging + WP + NE + MP + PE
- mov cr0, ebx
- lea ebx, [edi + DSC_OFFSET]
- mov ax, [ebx + DSC_DS]
- mov ds, eax
- mov ax, [ebx + DSC_OTHERSEG]
- mov es, eax
- mov fs, eax
- mov gs, eax
- mov ax, [ebx + DSC_SS]
- mov ss, eax
-
-CommonHandler:
- mov ebx, [esp + 4] ; CPU Index
- push ebx
- mov eax, CpuSmmDebugEntry
- call eax
- add esp, 4
-
- push ebx
- mov eax, SmiRendezvous
- call eax
- add esp, 4
-
- push ebx
- mov eax, CpuSmmDebugExit
- call eax
- add esp, 4
-
- mov eax, offset gStmXdSupported
- mov al, [eax]
- cmp al, 0
- jz @f
- pop edx ; get saved MSR_IA32_MISC_ENABLE[63-32]
- test edx, BIT2
- jz @f
- mov ecx, MSR_IA32_MISC_ENABLE
- rdmsr
- or dx, BIT2 ; set XD Disable bit if it was set before entering into SMM
- wrmsr
-
-@@:
- rsm
-
-_StmSmiHandler:
-;
-; Check XD disable bit
-;
- xor esi, esi
- mov eax, offset gStmXdSupported
- mov al, [eax]
- cmp al, 0
- jz @StmXdDone
- mov ecx, MSR_IA32_MISC_ENABLE
- rdmsr
- mov esi, edx ; save MSR_IA32_MISC_ENABLE[63-32]
- test edx, BIT2 ; MSR_IA32_MISC_ENABLE[34]
- jz @f
- and dx, 0FFFBh ; clear XD Disable bit if it is set
- wrmsr
-@@:
- mov ecx, MSR_EFER
- rdmsr
- or ax, MSR_EFER_XD ; enable NXE
- wrmsr
-@StmXdDone:
- push esi
-
- ; below step is needed, because STM does not run above code.
- ; we have to run below code to set IDT/CR0/CR4
- mov eax, offset gStmSmiHandlerIdtr
- lidt fword ptr [eax]
-
-
- mov eax, cr0
- or eax, 80010023h ; enable paging + WP + NE + MP + PE
- mov cr0, eax
-;
-; Need to test for CR4 specific bit support
-;
- mov eax, 1
- cpuid ; use CPUID to determine if specific CR4 bits are supported
- mov eax, cr4 ; init EAX
- test edx, BIT2 ; Check for DE capabilities
- jz @f
- or eax, BIT3
-@@:
- test edx, BIT6 ; Check for PAE capabilities
- jz @f
- or eax, BIT5
-@@:
- test edx, BIT7 ; Check for MCE capabilities
- jz @f
- or eax, BIT6
-@@:
- test edx, BIT24 ; Check for FXSR capabilities
- jz @f
- or eax, BIT9
-@@:
- test edx, BIT25 ; Check for SSE capabilities
- jz @f
- or eax, BIT10
-@@: ; as cr4.PGE is not set here, refresh cr3
- mov cr4, eax ; in PreModifyMtrrs() to flush TLB.
- ; STM init finish
- jmp CommonHandler
-
-gcStmSmiHandlerSize DW $ - _StmSmiEntryPoint
-gcStmSmiHandlerOffset DW _StmSmiHandler - _StmSmiEntryPoint
-
- END
diff --git a/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiException.asm b/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiException.asm
deleted file mode 100644
index d0ae147..0000000
--- a/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiException.asm
+++ /dev/null
@@ -1,175 +0,0 @@
-;------------------------------------------------------------------------------ ;
-; Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SmiException.asm
-;
-; Abstract:
-;
-; Exception handlers used in SM mode
-;
-;-------------------------------------------------------------------------------
-
- .686p
- .model flat,C
-
-EXTERNDEF gcStmPsd:BYTE
-
-EXTERNDEF SmmStmExceptionHandler:PROC
-EXTERNDEF SmmStmSetup:PROC
-EXTERNDEF SmmStmTeardown:PROC
-EXTERNDEF gStmXdSupported:BYTE
-
-CODE_SEL = 08h
-DATA_SEL = 20h
-TSS_SEL = 40h
-
-MSR_IA32_MISC_ENABLE EQU 1A0h
-MSR_EFER EQU 0c0000080h
-MSR_EFER_XD EQU 0800h
-
- .data
-
-gcStmPsd LABEL BYTE
- DB 'TXTPSSIG'
- DW PSD_SIZE
- DW 1 ; Version
- DD 0 ; LocalApicId
- DB 05h ; Cr4Pse;Cr4Pae;Intel64Mode;ExecutionDisableOutsideSmrr
- DB 0 ; BIOS to STM
- DB 0 ; STM to BIOS
- DB 0
- DW CODE_SEL
- DW DATA_SEL
- DW DATA_SEL
- DW DATA_SEL
- DW TSS_SEL
- DW 0
- DQ 0 ; SmmCr3
- DQ _OnStmSetup
- DQ _OnStmTeardown
- DQ 0 ; SmmSmiHandlerRip - SMM guest entrypoint
- DQ 0 ; SmmSmiHandlerRsp
- DQ 0
- DD 0
- DD 80010100h ; RequiredStmSmmRevId
- DQ _OnException
- DQ 0 ; ExceptionStack
- DW DATA_SEL
- DW 01Fh ; ExceptionFilter
- DD 0
- DQ 0
- DQ 0 ; BiosHwResourceRequirementsPtr
- DQ 0 ; AcpiRsdp
- DB 0 ; PhysicalAddressBits
-PSD_SIZE = $ - offset gcStmPsd
-
- .code
-;------------------------------------------------------------------------------
-; SMM Exception handlers
-;------------------------------------------------------------------------------
-_OnException PROC
- mov ecx, esp
- push ecx
- call SmmStmExceptionHandler
- add esp, 4
-
- mov ebx, eax
- mov eax, 4
- DB 0fh, 01h, 0c1h ; VMCALL
- jmp $
-_OnException ENDP
-
-_OnStmSetup PROC
-;
-; Check XD disable bit
-;
- xor esi, esi
- mov eax, offset gStmXdSupported
- mov al, [eax]
- cmp al, 0
- jz @StmXdDone1
- mov ecx, MSR_IA32_MISC_ENABLE
- rdmsr
- mov esi, edx ; save MSR_IA32_MISC_ENABLE[63-32]
- test edx, BIT2 ; MSR_IA32_MISC_ENABLE[34]
- jz @f
- and dx, 0FFFBh ; clear XD Disable bit if it is set
- wrmsr
-@@:
- mov ecx, MSR_EFER
- rdmsr
- or ax, MSR_EFER_XD ; enable NXE
- wrmsr
-@StmXdDone1:
- push esi
-
- call SmmStmSetup
-
- mov eax, offset gStmXdSupported
- mov al, [eax]
- cmp al, 0
- jz @f
- pop edx ; get saved MSR_IA32_MISC_ENABLE[63-32]
- test edx, BIT2
- jz @f
- mov ecx, MSR_IA32_MISC_ENABLE
- rdmsr
- or dx, BIT2 ; set XD Disable bit if it was set before entering into SMM
- wrmsr
-@@:
-
- rsm
-_OnStmSetup ENDP
-
-_OnStmTeardown PROC
-;
-; Check XD disable bit
-;
- xor esi, esi
- mov eax, offset gStmXdSupported
- mov al, [eax]
- cmp al, 0
- jz @StmXdDone2
- mov ecx, MSR_IA32_MISC_ENABLE
- rdmsr
- mov esi, edx ; save MSR_IA32_MISC_ENABLE[63-32]
- test edx, BIT2 ; MSR_IA32_MISC_ENABLE[34]
- jz @f
- and dx, 0FFFBh ; clear XD Disable bit if it is set
- wrmsr
-@@:
- mov ecx, MSR_EFER
- rdmsr
- or ax, MSR_EFER_XD ; enable NXE
- wrmsr
-@StmXdDone2:
- push esi
-
- call SmmStmTeardown
-
- mov eax, offset gStmXdSupported
- mov al, [eax]
- cmp al, 0
- jz @f
- pop edx ; get saved MSR_IA32_MISC_ENABLE[63-32]
- test edx, BIT2
- jz @f
- mov ecx, MSR_IA32_MISC_ENABLE
- rdmsr
- or dx, BIT2 ; set XD Disable bit if it was set before entering into SMM
- wrmsr
-@@:
-
- rsm
-_OnStmTeardown ENDP
-
- END
diff --git a/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLibStm.inf b/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLibStm.inf
index db8dcdc..2ec6a24 100644
--- a/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLibStm.inf
+++ b/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLibStm.inf
@@ -31,8 +31,6 @@
[Sources.Ia32]
Ia32/SmmStmSupport.c
- Ia32/SmiEntry.asm
- Ia32/SmiException.asm
Ia32/SmiEntry.nasm
Ia32/SmiException.nasm
@@ -43,8 +41,6 @@
[Sources.X64]
X64/SmmStmSupport.c
- X64/SmiEntry.asm
- X64/SmiException.asm
X64/SmiEntry.nasm
X64/SmiException.nasm
diff --git a/UefiCpuPkg/Library/SmmCpuFeaturesLib/X64/SmiEntry.asm b/UefiCpuPkg/Library/SmmCpuFeaturesLib/X64/SmiEntry.asm
deleted file mode 100644
index ad51e07..0000000
--- a/UefiCpuPkg/Library/SmmCpuFeaturesLib/X64/SmiEntry.asm
+++ /dev/null
@@ -1,281 +0,0 @@
-;------------------------------------------------------------------------------ ;
-; Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SmiEntry.asm
-;
-; Abstract:
-;
-; Code template of the SMI handler for a particular processor
-;
-;-------------------------------------------------------------------------------
-
-;
-; Variables referenced by C code
-;
-EXTERNDEF SmiRendezvous:PROC
-EXTERNDEF CpuSmmDebugEntry:PROC
-EXTERNDEF CpuSmmDebugExit:PROC
-EXTERNDEF gcStmSmiHandlerTemplate:BYTE
-EXTERNDEF gcStmSmiHandlerSize:WORD
-EXTERNDEF gcStmSmiHandlerOffset:WORD
-EXTERNDEF gStmSmiCr3:DWORD
-EXTERNDEF gStmSmiStack:DWORD
-EXTERNDEF gStmSmbase:DWORD
-EXTERNDEF gStmXdSupported:BYTE
-EXTERNDEF gStmSmiHandlerIdtr:FWORD
-
-MSR_IA32_MISC_ENABLE EQU 1A0h
-MSR_EFER EQU 0c0000080h
-MSR_EFER_XD EQU 0800h
-
-;
-; Constants relating to TXT_PROCESSOR_SMM_DESCRIPTOR
-;
-DSC_OFFSET EQU 0fb00h
-DSC_GDTPTR EQU 48h
-DSC_GDTSIZ EQU 50h
-DSC_CS EQU 14h
-DSC_DS EQU 16h
-DSC_SS EQU 18h
-DSC_OTHERSEG EQU 1ah
-;
-; Constants relating to CPU State Save Area
-;
-SSM_DR6 EQU 0ffd0h
-SSM_DR7 EQU 0ffc8h
-
-PROTECT_MODE_CS EQU 08h
-PROTECT_MODE_DS EQU 20h
-LONG_MODE_CS EQU 38h
-TSS_SEGMENT EQU 40h
-GDT_SIZE EQU 50h
-
- .code
-
-gcStmSmiHandlerTemplate LABEL BYTE
-
-_StmSmiEntryPoint:
- ;
- ; The encoding of BX in 16-bit addressing mode is the same as of RDI in 64-
- ; bit addressing mode. And that coincidence has been used in the following
- ; "64-bit like" 16-bit code. Be aware that once RDI is referenced as a
- ; base address register, it is actually BX that is referenced.
- ;
- DB 0bbh ; mov bx, imm16
- DW offset _StmGdtDesc - _StmSmiEntryPoint + 8000h ; bx = GdtDesc offset
-; fix GDT descriptor
- DB 2eh, 0a1h ; mov ax, cs:[offset16]
- DW DSC_OFFSET + DSC_GDTSIZ
- DB 48h ; dec ax
- DB 2eh
- mov [rdi], eax ; mov cs:[bx], ax
- DB 66h, 2eh, 0a1h ; mov eax, cs:[offset16]
- DW DSC_OFFSET + DSC_GDTPTR
- DB 2eh
- mov [rdi + 2], ax ; mov cs:[bx + 2], eax
- DB 66h, 2eh
- lgdt fword ptr [rdi] ; lgdt fword ptr cs:[bx]
-; Patch ProtectedMode Segment
- DB 0b8h ; mov ax, imm16
- DW PROTECT_MODE_CS ; set AX for segment directly
- DB 2eh
- mov [rdi - 2], eax ; mov cs:[bx - 2], ax
-; Patch ProtectedMode entry
- DB 66h, 0bfh ; mov edi, SMBASE
-gStmSmbase DD ?
- lea ax, [edi + (@ProtectedMode - _StmSmiEntryPoint) + 8000h]
- DB 2eh
- mov [rdi - 6], ax ; mov cs:[bx - 6], eax
-; Switch into @ProtectedMode
- mov rbx, cr0
- DB 66h
- and ebx, 9ffafff3h
- DB 66h
- or ebx, 00000023h
-
- mov cr0, rbx
- DB 66h, 0eah
- DD ?
- DW ?
-
-_StmGdtDesc FWORD ?
-@ProtectedMode:
- mov ax, PROTECT_MODE_DS
- mov ds, ax
- mov es, ax
- mov fs, ax
- mov gs, ax
- mov ss, ax
- DB 0bch ; mov esp, imm32
-gStmSmiStack DD ?
- jmp ProtFlatMode
-
-ProtFlatMode:
- DB 0b8h ; mov eax, offset gStmSmiCr3
-gStmSmiCr3 DD ?
- mov cr3, rax
- mov eax, 668h ; as cr4.PGE is not set here, refresh cr3
- mov cr4, rax ; in PreModifyMtrrs() to flush TLB.
-; Load TSS
- sub esp, 8 ; reserve room in stack
- sgdt fword ptr [rsp]
- mov eax, [rsp + 2] ; eax = GDT base
- add esp, 8
- mov dl, 89h
- mov [rax + TSS_SEGMENT + 5], dl ; clear busy flag
- mov eax, TSS_SEGMENT
- ltr ax
-
-; enable NXE if supported
- DB 0b0h ; mov al, imm8
-gStmXdSupported DB 1
- cmp al, 0
- jz @SkipXd
-;
-; Check XD disable bit
-;
- mov ecx, MSR_IA32_MISC_ENABLE
- rdmsr
- sub esp, 4
- push rdx ; save MSR_IA32_MISC_ENABLE[63-32]
- test edx, BIT2 ; MSR_IA32_MISC_ENABLE[34]
- jz @f
- and dx, 0FFFBh ; clear XD Disable bit if it is set
- wrmsr
-@@:
- mov ecx, MSR_EFER
- rdmsr
- or ax, MSR_EFER_XD ; enable NXE
- wrmsr
- jmp @XdDone
-@SkipXd:
- sub esp, 8
-@XdDone:
-
-; Switch into @LongMode
- push LONG_MODE_CS ; push cs hardcore here
- call Base ; push return address for retf later
-Base:
- add dword ptr [rsp], @LongMode - Base; offset for far retf, seg is the 1st arg
-
- mov ecx, MSR_EFER
- rdmsr
- or ah, 1 ; enable LME
- wrmsr
- mov rbx, cr0
- or ebx, 080010023h ; enable paging + WP + NE + MP + PE
- mov cr0, rbx
- retf
-@LongMode: ; long mode (64-bit code) starts here
- mov rax, offset gStmSmiHandlerIdtr
- lidt fword ptr [rax]
- lea ebx, [rdi + DSC_OFFSET]
- mov ax, [rbx + DSC_DS]
- mov ds, eax
- mov ax, [rbx + DSC_OTHERSEG]
- mov es, eax
- mov fs, eax
- mov gs, eax
- mov ax, [rbx + DSC_SS]
- mov ss, eax
-
-CommonHandler:
- mov rbx, [rsp + 0x08] ; rbx <- CpuIndex
-
- ;
- ; Save FP registers
- ;
- sub rsp, 200h
- DB 48h ; FXSAVE64
- fxsave [rsp]
-
- add rsp, -20h
-
- mov rcx, rbx
- mov rax, CpuSmmDebugEntry
- call rax
-
- mov rcx, rbx
- mov rax, SmiRendezvous ; rax <- absolute addr of SmiRedezvous
- call rax
-
- mov rcx, rbx
- mov rax, CpuSmmDebugExit
- call rax
-
- add rsp, 20h
-
- ;
- ; Restore FP registers
- ;
- DB 48h ; FXRSTOR64
- fxrstor [rsp]
-
- add rsp, 200h
-
- mov rax, offset ASM_PFX(gStmXdSupported)
- mov al, [rax]
- cmp al, 0
- jz @f
- pop rdx ; get saved MSR_IA32_MISC_ENABLE[63-32]
- test edx, BIT2
- jz @f
- mov ecx, MSR_IA32_MISC_ENABLE
- rdmsr
- or dx, BIT2 ; set XD Disable bit if it was set before entering into SMM
- wrmsr
-
-@@:
- rsm
-
-_StmSmiHandler:
-;
-; Check XD disable bit
-;
- xor r8, r8
- mov rax, offset ASM_PFX(gStmXdSupported)
- mov al, [rax]
- cmp al, 0
- jz @StmXdDone
- mov ecx, MSR_IA32_MISC_ENABLE
- rdmsr
- mov r8, rdx ; save MSR_IA32_MISC_ENABLE[63-32]
- test edx, BIT2 ; MSR_IA32_MISC_ENABLE[34]
- jz @f
- and dx, 0FFFBh ; clear XD Disable bit if it is set
- wrmsr
-@@:
- mov ecx, MSR_EFER
- rdmsr
- or ax, MSR_EFER_XD ; enable NXE
- wrmsr
-@StmXdDone:
- push r8
-
- ; below step is needed, because STM does not run above code.
- ; we have to run below code to set IDT/CR0/CR4
- mov rax, offset gStmSmiHandlerIdtr
- lidt fword ptr [rax]
-
- mov rax, cr0
- or eax, 80010023h ; enable paging + WP + NE + MP + PE
- mov cr0, rax
- mov rax, cr4
- mov eax, 668h ; as cr4.PGE is not set here, refresh cr3
- mov cr4, rax ; in PreModifyMtrrs() to flush TLB.
- ; STM init finish
- jmp CommonHandler
-
-gcStmSmiHandlerSize DW $ - _StmSmiEntryPoint
-gcStmSmiHandlerOffset DW _StmSmiHandler - _StmSmiEntryPoint
-
- END
diff --git a/UefiCpuPkg/Library/SmmCpuFeaturesLib/X64/SmiException.asm b/UefiCpuPkg/Library/SmmCpuFeaturesLib/X64/SmiException.asm
deleted file mode 100644
index 33e9860..0000000
--- a/UefiCpuPkg/Library/SmmCpuFeaturesLib/X64/SmiException.asm
+++ /dev/null
@@ -1,178 +0,0 @@
-;------------------------------------------------------------------------------ ;
-; Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; SmiException.asm
-;
-; Abstract:
-;
-; Exception handlers used in SM mode
-;
-;-------------------------------------------------------------------------------
-
-EXTERNDEF gcStmPsd:BYTE
-
-EXTERNDEF SmmStmExceptionHandler:PROC
-EXTERNDEF SmmStmSetup:PROC
-EXTERNDEF SmmStmTeardown:PROC
-EXTERNDEF gStmXdSupported:BYTE
-
-CODE_SEL EQU 38h
-DATA_SEL EQU 20h
-TR_SEL EQU 40h
-
-MSR_IA32_MISC_ENABLE EQU 1A0h
-MSR_EFER EQU 0c0000080h
-MSR_EFER_XD EQU 0800h
-
- .data
-
-;
-; This structure serves as a template for all processors.
-;
-gcStmPsd LABEL BYTE
- DB 'TXTPSSIG'
- DW PSD_SIZE
- DW 1 ; Version
- DD 0 ; LocalApicId
- DB 0Fh ; Cr4Pse;Cr4Pae;Intel64Mode;ExecutionDisableOutsideSmrr
- DB 0 ; BIOS to STM
- DB 0 ; STM to BIOS
- DB 0
- DW CODE_SEL
- DW DATA_SEL
- DW DATA_SEL
- DW DATA_SEL
- DW TR_SEL
- DW 0
- DQ 0 ; SmmCr3
- DQ _OnStmSetup
- DQ _OnStmTeardown
- DQ 0 ; SmmSmiHandlerRip - SMM guest entrypoint
- DQ 0 ; SmmSmiHandlerRsp
- DQ 0
- DD 0
- DD 80010100h ; RequiredStmSmmRevId
- DQ _OnException
- DQ 0 ; ExceptionStack
- DW DATA_SEL
- DW 01Fh ; ExceptionFilter
- DD 0
- DQ 0
- DQ 0 ; BiosHwResourceRequirementsPtr
- DQ 0 ; AcpiRsdp
- DB 0 ; PhysicalAddressBits
-PSD_SIZE = $ - offset gcStmPsd
-
- .code
-;------------------------------------------------------------------------------
-; SMM Exception handlers
-;------------------------------------------------------------------------------
-_OnException PROC
- mov rcx, rsp
- add rsp, -28h
- call SmmStmExceptionHandler
- add rsp, 28h
- mov ebx, eax
- mov eax, 4
- DB 0fh, 01h, 0c1h ; VMCALL
- jmp $
-_OnException ENDP
-
-_OnStmSetup PROC
-;
-; Check XD disable bit
-;
- xor r8, r8
- mov rax, offset ASM_PFX(gStmXdSupported)
- mov al, [rax]
- cmp al, 0
- jz @StmXdDone1
- mov ecx, MSR_IA32_MISC_ENABLE
- rdmsr
- mov r8, rdx ; save MSR_IA32_MISC_ENABLE[63-32]
- test edx, BIT2 ; MSR_IA32_MISC_ENABLE[34]
- jz @f
- and dx, 0FFFBh ; clear XD Disable bit if it is set
- wrmsr
-@@:
- mov ecx, MSR_EFER
- rdmsr
- or ax, MSR_EFER_XD ; enable NXE
- wrmsr
-@StmXdDone1:
- push r8
-
- add rsp, -20h
- call SmmStmSetup
- add rsp, 20h
-
- mov rax, offset ASM_PFX(gStmXdSupported)
- mov al, [rax]
- cmp al, 0
- jz @f
- pop rdx ; get saved MSR_IA32_MISC_ENABLE[63-32]
- test edx, BIT2
- jz @f
- mov ecx, MSR_IA32_MISC_ENABLE
- rdmsr
- or dx, BIT2 ; set XD Disable bit if it was set before entering into SMM
- wrmsr
-@@:
-
- rsm
-_OnStmSetup ENDP
-
-_OnStmTeardown PROC
-;
-; Check XD disable bit
-;
- xor r8, r8
- mov rax, offset ASM_PFX(gStmXdSupported)
- mov al, [rax]
- cmp al, 0
- jz @StmXdDone2
- mov ecx, MSR_IA32_MISC_ENABLE
- rdmsr
- mov r8, rdx ; save MSR_IA32_MISC_ENABLE[63-32]
- test edx, BIT2 ; MSR_IA32_MISC_ENABLE[34]
- jz @f
- and dx, 0FFFBh ; clear XD Disable bit if it is set
- wrmsr
-@@:
- mov ecx, MSR_EFER
- rdmsr
- or ax, MSR_EFER_XD ; enable NXE
- wrmsr
-@StmXdDone2:
- push r8
-
- add rsp, -20h
- call SmmStmTeardown
- add rsp, 20h
-
- mov rax, offset ASM_PFX(gStmXdSupported)
- mov al, [rax]
- cmp al, 0
- jz @f
- pop rdx ; get saved MSR_IA32_MISC_ENABLE[63-32]
- test edx, BIT2
- jz @f
- mov ecx, MSR_IA32_MISC_ENABLE
- rdmsr
- or dx, BIT2 ; set XD Disable bit if it was set before entering into SMM
- wrmsr
-@@:
-
- rsm
-_OnStmTeardown ENDP
-
- END
diff --git a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/Ia32/AsmFuncs.S b/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/Ia32/AsmFuncs.S
deleted file mode 100644
index ede19f2..0000000
--- a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/Ia32/AsmFuncs.S
+++ /dev/null
@@ -1,38 +0,0 @@
-#------------------------------------------------------------------------------
-#*
-#* Copyright (c) 2012, Intel Corporation. All rights reserved.<BR>
-#* 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
-#* http://opensource.org/licenses/bsd-license.php
-#*
-#* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-#* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#*
-#* AsmFuncs.S
-#*
-#* Abstract:
-#*
-#* Assembly function to set segment selectors.
-#
-#------------------------------------------------------------------------------
-
-.text
-
-#------------------------------------------------------------------------------
-#
-# VOID
-# EFIAPI
-# AsmSetDataSelectors (
-# IN UINT16 SelectorValue
-# );
-#------------------------------------------------------------------------------
-ASM_GLOBAL ASM_PFX(AsmSetDataSelectors)
-ASM_PFX(AsmSetDataSelectors):
- movl 4(%esp), %eax
- movw %ax, %ss
- movw %ax, %ds
- movw %ax, %es
- movw %ax, %fs
- movw %ax, %gs
- ret
diff --git a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/Ia32/AsmFuncs.asm b/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/Ia32/AsmFuncs.asm
deleted file mode 100644
index 79496c4..0000000
--- a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/Ia32/AsmFuncs.asm
+++ /dev/null
@@ -1,45 +0,0 @@
-;------------------------------------------------------------------------------ ;
-; Copyright (c) 2012, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; AsmFuncs.Asm
-;
-; Abstract:
-;
-; Assembly function to set segment selectors.
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
-.686
-.model flat,C
-
-.code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; AsmSetDataSelectors (
-; IN UINT16 SelectorValue
-; );
-;------------------------------------------------------------------------------
-AsmSetDataSelectors PROC near public
- mov eax, [esp + 4]
- mov ds, ax
- mov es, ax
- mov fs, ax
- mov gs, ax
- mov ss, ax
- ret
-AsmSetDataSelectors ENDP
-
-END
diff --git a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf b/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf
index 47fecd7..407aab6 100644
--- a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf
+++ b/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf
@@ -37,14 +37,10 @@
S3Resume.c
[Sources.IA32]
- Ia32/AsmFuncs.asm
Ia32/AsmFuncs.nasm
- Ia32/AsmFuncs.S
[Sources.X64]
- X64/AsmFuncs.asm
X64/AsmFuncs.nasm
- X64/AsmFuncs.S
[Packages]
MdePkg/MdePkg.dec
diff --git a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/X64/AsmFuncs.S b/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/X64/AsmFuncs.S
deleted file mode 100644
index 2ced09f..0000000
--- a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/X64/AsmFuncs.S
+++ /dev/null
@@ -1,37 +0,0 @@
-#------------------------------------------------------------------------------
-#*
-#* Copyright (c) 2012, Intel Corporation. All rights reserved.<BR>
-#* 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
-#* http://opensource.org/licenses/bsd-license.php
-#*
-#* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-#* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#*
-#* AsmFuncs.S
-#*
-#* Abstract:
-#*
-#* Assembly function to set segment selectors.
-#
-#------------------------------------------------------------------------------
-
-.text
-
-#------------------------------------------------------------------------------
-#
-# VOID
-# EFIAPI
-# AsmSetDataSelectors (
-# IN UINT16 SelectorValue
-# );
-#------------------------------------------------------------------------------
-ASM_GLOBAL ASM_PFX(AsmSetDataSelectors)
-ASM_PFX(AsmSetDataSelectors):
- movw %cx, %ss
- movw %cx, %ds
- movw %cx, %es
- movw %cx, %fs
- movw %cx, %gs
- ret
diff --git a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/X64/AsmFuncs.asm b/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/X64/AsmFuncs.asm
deleted file mode 100644
index eb014a5..0000000
--- a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/X64/AsmFuncs.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-;------------------------------------------------------------------------------ ;
-; Copyright (c) 2012, Intel Corporation. All rights reserved.<BR>
-; 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
-; http://opensource.org/licenses/bsd-license.php.
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-; Module Name:
-;
-; AsmFuncs.Asm
-;
-; Abstract:
-;
-; Assembly function to set segment selectors.
-;
-; Notes:
-;
-;------------------------------------------------------------------------------
-
-.code
-
-;------------------------------------------------------------------------------
-; VOID
-; EFIAPI
-; AsmSetDataSelectors (
-; IN UINT16 SelectorValue
-; );
-;------------------------------------------------------------------------------
-AsmSetDataSelectors PROC
- mov ds, cx
- mov es, cx
- mov fs, cx
- mov gs, cx
- mov ss, cx
- ret
-AsmSetDataSelectors ENDP
-
-END
--
2.8.0.windows.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [Patch 5/5] UefiCpuPkg: Remove X86 ASM and S files
2018-05-13 14:31 ` [Patch 5/5] UefiCpuPkg: " Liming Gao
@ 2018-05-13 18:40 ` Laszlo Ersek
2018-05-14 13:02 ` Gao, Liming
0 siblings, 1 reply; 11+ messages in thread
From: Laszlo Ersek @ 2018-05-13 18:40 UTC (permalink / raw)
To: Liming Gao; +Cc: edk2-devel
On 05/13/18 16:31, Liming Gao wrote:
> NASM has replaced ASM and S files.
> Rmove ASM from all modules.
> Remove S files from the drivers only.
> After NASM is updated, S files can be removed from Library.
The patch looks good to me. I suggest a few commit message updates:
(1) If I remember correctly, we have a TianoCore BZ for this (also for
the NASM update). Can you please reference those here?
(2) There's a typo in "Rmove".
(3) Technically, a number of *.asm files remain under UefiCpuPkg, namely
under "ResetVector/Vtf0". None of those are built stand-alone -- they
are all included by "Vtf0.nasmb", and "Vtf0.inf" only references
"Vtf0.nasmb". So technically speaking these *.asm files are *.nasm[b]
files. I suggest we add a note about this fact, or else file a TianoCore
BZ about renaming the Vtf0 ASM files.
With the commit message updates:
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Thanks!
Laszlo
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Patch 5/5] UefiCpuPkg: Remove X86 ASM and S files
2018-05-13 18:40 ` Laszlo Ersek
@ 2018-05-14 13:02 ` Gao, Liming
2018-05-15 6:02 ` Dong, Eric
0 siblings, 1 reply; 11+ messages in thread
From: Gao, Liming @ 2018-05-14 13:02 UTC (permalink / raw)
To: Laszlo Ersek; +Cc: edk2-devel@lists.01.org
Laszlo:
1) Yes. Bug 881 is for nasm update. I will refer it in the commit log.
2) Agree
3) I will add notes to describe .asm in Vtf0 directory are used as nasm source. I don't clean up them.
Thanks
Liming
> -----Original Message-----
> From: Laszlo Ersek [mailto:lersek@redhat.com]
> Sent: Monday, May 14, 2018 2:40 AM
> To: Gao, Liming <liming.gao@intel.com>
> Cc: edk2-devel@lists.01.org
> Subject: Re: [edk2] [Patch 5/5] UefiCpuPkg: Remove X86 ASM and S files
>
> On 05/13/18 16:31, Liming Gao wrote:
> > NASM has replaced ASM and S files.
> > Rmove ASM from all modules.
> > Remove S files from the drivers only.
> > After NASM is updated, S files can be removed from Library.
>
> The patch looks good to me. I suggest a few commit message updates:
>
> (1) If I remember correctly, we have a TianoCore BZ for this (also for
> the NASM update). Can you please reference those here?
>
> (2) There's a typo in "Rmove".
>
> (3) Technically, a number of *.asm files remain under UefiCpuPkg, namely
> under "ResetVector/Vtf0". None of those are built stand-alone -- they
> are all included by "Vtf0.nasmb", and "Vtf0.inf" only references
> "Vtf0.nasmb". So technically speaking these *.asm files are *.nasm[b]
> files. I suggest we add a note about this fact, or else file a TianoCore
> BZ about renaming the Vtf0 ASM files.
>
> With the commit message updates:
>
> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
>
> Thanks!
> Laszlo
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Patch 5/5] UefiCpuPkg: Remove X86 ASM and S files
2018-05-14 13:02 ` Gao, Liming
@ 2018-05-15 6:02 ` Dong, Eric
0 siblings, 0 replies; 11+ messages in thread
From: Dong, Eric @ 2018-05-15 6:02 UTC (permalink / raw)
To: Gao, Liming, Laszlo Ersek; +Cc: edk2-devel@lists.01.org
Reviewed-by: Eric Dong <eric.dong@intel.com>
-----Original Message-----
From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Gao, Liming
Sent: Monday, May 14, 2018 9:03 PM
To: Laszlo Ersek <lersek@redhat.com>
Cc: edk2-devel@lists.01.org
Subject: Re: [edk2] [Patch 5/5] UefiCpuPkg: Remove X86 ASM and S files
Laszlo:
1) Yes. Bug 881 is for nasm update. I will refer it in the commit log.
2) Agree
3) I will add notes to describe .asm in Vtf0 directory are used as nasm source. I don't clean up them.
Thanks
Liming
> -----Original Message-----
> From: Laszlo Ersek [mailto:lersek@redhat.com]
> Sent: Monday, May 14, 2018 2:40 AM
> To: Gao, Liming <liming.gao@intel.com>
> Cc: edk2-devel@lists.01.org
> Subject: Re: [edk2] [Patch 5/5] UefiCpuPkg: Remove X86 ASM and S files
>
> On 05/13/18 16:31, Liming Gao wrote:
> > NASM has replaced ASM and S files.
> > Rmove ASM from all modules.
> > Remove S files from the drivers only.
> > After NASM is updated, S files can be removed from Library.
>
> The patch looks good to me. I suggest a few commit message updates:
>
> (1) If I remember correctly, we have a TianoCore BZ for this (also for
> the NASM update). Can you please reference those here?
>
> (2) There's a typo in "Rmove".
>
> (3) Technically, a number of *.asm files remain under UefiCpuPkg,
> namely under "ResetVector/Vtf0". None of those are built stand-alone
> -- they are all included by "Vtf0.nasmb", and "Vtf0.inf" only
> references "Vtf0.nasmb". So technically speaking these *.asm files are
> *.nasm[b] files. I suggest we add a note about this fact, or else file
> a TianoCore BZ about renaming the Vtf0 ASM files.
>
> With the commit message updates:
>
> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
>
> Thanks!
> Laszlo
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Patch 0/5] Remove X86 ASM and S files
2018-05-13 14:31 [Patch 0/5] Remove X86 ASM and S files Liming Gao
` (4 preceding siblings ...)
2018-05-13 14:31 ` [Patch 5/5] UefiCpuPkg: " Liming Gao
@ 2018-05-29 0:41 ` Kinney, Michael D
2018-05-29 1:43 ` Gao, Liming
5 siblings, 1 reply; 11+ messages in thread
From: Kinney, Michael D @ 2018-05-29 0:41 UTC (permalink / raw)
To: Gao, Liming, edk2-devel@lists.01.org, Kinney, Michael D
Liming,
This patch series includes removal of ASM and S files
from libraries. Should those be removes from this series
until NASM is updated?
I also see updates to INF files without updates to the
Copyright.
Thanks,
Mike
> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-
> bounces@lists.01.org] On Behalf Of Liming Gao
> Sent: Sunday, May 13, 2018 7:32 AM
> To: edk2-devel@lists.01.org
> Subject: [edk2] [Patch 0/5] Remove X86 ASM and S files
>
> For IA32 and X64, NASM has replaced ASM and S files.
> Rmove ASM from all modules.
> Remove S files from the drivers only.
> After NASM is updated, S files can be removed from
> Library.
>
> Liming Gao (5):
> IntelFrameworkModulePkg: Remove X86 ASM and S files
> MdeModulePkg: Remove X86 ASM and S files
> MdePkg: Remove X86 ASM and S files
> SourceLevelDebugPkg: Remove X86 ASM and S files
> UefiCpuPkg: Remove X86 ASM and S files
>
> .../Csm/LegacyBiosDxe/IA32/InterruptTable.S |
> 67 ---
> .../Csm/LegacyBiosDxe/IA32/InterruptTable.asm |
> 73 ---
> .../Csm/LegacyBiosDxe/LegacyBiosDxe.inf |
> 4 -
> .../Csm/LegacyBiosDxe/X64/InterruptTable.S |
> 72 ---
> .../Csm/LegacyBiosDxe/X64/InterruptTable.asm |
> 71 ---
> MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf |
> 2 -
> MdeModulePkg/Core/DxeIplPeim/Ia32/IdtVectorAsm.S |
> 80 ---
> MdeModulePkg/Core/DxeIplPeim/Ia32/IdtVectorAsm.asm |
> 88 ---
> .../BootScriptExecutorDxe.inf |
> 4 -
> .../Acpi/BootScriptExecutorDxe/IA32/S3Asm.S |
> 66 ---
> .../Acpi/BootScriptExecutorDxe/IA32/S3Asm.asm |
> 71 ---
> .../Acpi/BootScriptExecutorDxe/X64/S3Asm.S |
> 130 -----
> .../Acpi/BootScriptExecutorDxe/X64/S3Asm.asm |
> 135 -----
> MdeModulePkg/Universal/CapsulePei/CapsuleX64.inf |
> 2 -
> .../Universal/CapsulePei/X64/PageFaultHandler.S |
> 81 ---
> .../Universal/CapsulePei/X64/PageFaultHandler.asm |
> 87 ---
> .../Universal/DebugSupportDxe/DebugSupportDxe.inf |
> 4 -
> .../Universal/DebugSupportDxe/Ia32/AsmFuncs.S |
> 407 --------------
> .../Universal/DebugSupportDxe/Ia32/AsmFuncs.asm |
> 509 ------------------
> .../Universal/DebugSupportDxe/X64/AsmFuncs.S |
> 551 -------------------
> .../Universal/DebugSupportDxe/X64/AsmFuncs.asm |
> 596 ---------------------
> MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf |
> 4 -
> MdeModulePkg/Universal/EbcDxe/EbcDxe.inf |
> 4 -
> MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.S |
> 83 ---
> MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.asm |
> 207 -------
> MdeModulePkg/Universal/EbcDxe/X64/EbcLowLevel.S |
> 147 -----
> MdeModulePkg/Universal/EbcDxe/X64/EbcLowLevel.asm |
> 246 ---------
> MdePkg/Library/BaseCpuLib/BaseCpuLib.inf |
> 4 -
> MdePkg/Library/BaseCpuLib/Ia32/CpuFlushTlb.asm |
> 40 --
> MdePkg/Library/BaseCpuLib/Ia32/CpuSleep.asm |
> 39 --
> MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.asm |
> 38 --
> MdePkg/Library/BaseCpuLib/X64/CpuSleep.asm |
> 37 --
> .../BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf |
> 2 -
> MdePkg/Library/BaseIoLibIntrinsic/Ia32/IoFifo.asm |
> 141 -----
> MdePkg/Library/BaseIoLibIntrinsic/X64/IoFifo.asm |
> 127 -----
> MdePkg/Library/BaseLib/BaseLib.inf |
> 246 ---------
> MdePkg/Library/BaseLib/Ia32/ARShiftU64.asm |
> 48 --
> MdePkg/Library/BaseLib/Ia32/CpuBreakpoint.asm |
> 40 --
> MdePkg/Library/BaseLib/Ia32/CpuId.asm |
> 66 ---
> MdePkg/Library/BaseLib/Ia32/CpuIdEx.asm |
> 68 ---
> MdePkg/Library/BaseLib/Ia32/CpuPause.asm |
> 40 --
> MdePkg/Library/BaseLib/Ia32/DisableCache.asm |
> 45 --
> MdePkg/Library/BaseLib/Ia32/DisableInterrupts.asm |
> 40 --
> MdePkg/Library/BaseLib/Ia32/DisablePaging32.asm |
> 57 --
> MdePkg/Library/BaseLib/Ia32/DivU64x32.asm |
> 46 --
> MdePkg/Library/BaseLib/Ia32/DivU64x32Remainder.asm |
> 51 --
> MdePkg/Library/BaseLib/Ia32/DivU64x64Remainder.asm |
> 92 ----
> MdePkg/Library/BaseLib/Ia32/EnableCache.asm |
> 45 --
> .../BaseLib/Ia32/EnableDisableInterrupts.asm |
> 41 --
> MdePkg/Library/BaseLib/Ia32/EnableInterrupts.asm |
> 40 --
> MdePkg/Library/BaseLib/Ia32/EnablePaging32.asm |
> 57 --
> MdePkg/Library/BaseLib/Ia32/EnablePaging64.asm |
> 68 ---
> MdePkg/Library/BaseLib/Ia32/FlushCacheLine.asm |
> 55 --
> MdePkg/Library/BaseLib/Ia32/FxRestore.asm |
> 42 --
> MdePkg/Library/BaseLib/Ia32/FxSave.asm |
> 42 --
> MdePkg/Library/BaseLib/Ia32/Invd.asm |
> 40 --
> MdePkg/Library/BaseLib/Ia32/LRotU64.asm |
> 51 --
> MdePkg/Library/BaseLib/Ia32/LShiftU64.asm |
> 48 --
> MdePkg/Library/BaseLib/Ia32/LongJump.asm |
> 46 --
> MdePkg/Library/BaseLib/Ia32/ModU64x32.asm |
> 45 --
> MdePkg/Library/BaseLib/Ia32/Monitor.asm |
> 45 --
> MdePkg/Library/BaseLib/Ia32/MultU64x32.asm |
> 43 --
> MdePkg/Library/BaseLib/Ia32/MultU64x64.asm |
> 47 --
> MdePkg/Library/BaseLib/Ia32/Mwait.asm |
> 43 --
> MdePkg/Library/BaseLib/Ia32/RRotU64.asm |
> 51 --
> MdePkg/Library/BaseLib/Ia32/RShiftU64.asm |
> 48 --
> MdePkg/Library/BaseLib/Ia32/RdRand.asm |
> 94 ----
> MdePkg/Library/BaseLib/Ia32/ReadCr0.asm |
> 40 --
> MdePkg/Library/BaseLib/Ia32/ReadCr2.asm |
> 40 --
> MdePkg/Library/BaseLib/Ia32/ReadCr3.asm |
> 40 --
> MdePkg/Library/BaseLib/Ia32/ReadCr4.asm |
> 40 --
> MdePkg/Library/BaseLib/Ia32/ReadCs.asm |
> 40 --
> MdePkg/Library/BaseLib/Ia32/ReadDr0.asm |
> 40 --
> MdePkg/Library/BaseLib/Ia32/ReadDr1.asm |
> 40 --
> MdePkg/Library/BaseLib/Ia32/ReadDr2.asm |
> 40 --
> MdePkg/Library/BaseLib/Ia32/ReadDr3.asm |
> 40 --
> MdePkg/Library/BaseLib/Ia32/ReadDr4.asm |
> 47 --
> MdePkg/Library/BaseLib/Ia32/ReadDr5.asm |
> 47 --
> MdePkg/Library/BaseLib/Ia32/ReadDr6.asm |
> 40 --
> MdePkg/Library/BaseLib/Ia32/ReadDr7.asm |
> 40 --
> MdePkg/Library/BaseLib/Ia32/ReadDs.asm |
> 40 --
> MdePkg/Library/BaseLib/Ia32/ReadEflags.asm |
> 41 --
> MdePkg/Library/BaseLib/Ia32/ReadEs.asm |
> 40 --
> MdePkg/Library/BaseLib/Ia32/ReadFs.asm |
> 40 --
> MdePkg/Library/BaseLib/Ia32/ReadGdtr.asm |
> 41 --
> MdePkg/Library/BaseLib/Ia32/ReadGs.asm |
> 40 --
> MdePkg/Library/BaseLib/Ia32/ReadIdtr.asm |
> 41 --
> MdePkg/Library/BaseLib/Ia32/ReadLdtr.asm |
> 40 --
> MdePkg/Library/BaseLib/Ia32/ReadMm0.asm |
> 45 --
> MdePkg/Library/BaseLib/Ia32/ReadMm1.asm |
> 45 --
> MdePkg/Library/BaseLib/Ia32/ReadMm2.asm |
> 45 --
> MdePkg/Library/BaseLib/Ia32/ReadMm3.asm |
> 45 --
> MdePkg/Library/BaseLib/Ia32/ReadMm4.asm |
> 45 --
> MdePkg/Library/BaseLib/Ia32/ReadMm5.asm |
> 45 --
> MdePkg/Library/BaseLib/Ia32/ReadMm6.asm |
> 45 --
> MdePkg/Library/BaseLib/Ia32/ReadMm7.asm |
> 45 --
> MdePkg/Library/BaseLib/Ia32/ReadMsr64.asm |
> 41 --
> MdePkg/Library/BaseLib/Ia32/ReadPmc.asm |
> 41 --
> MdePkg/Library/BaseLib/Ia32/ReadSs.asm |
> 40 --
> MdePkg/Library/BaseLib/Ia32/ReadTr.asm |
> 40 --
> MdePkg/Library/BaseLib/Ia32/ReadTsc.asm |
> 40 --
> MdePkg/Library/BaseLib/Ia32/SetJump.asm |
> 51 --
> MdePkg/Library/BaseLib/Ia32/SwapBytes64.asm |
> 43 --
> MdePkg/Library/BaseLib/Ia32/Thunk16.asm |
> 260 ---------
> MdePkg/Library/BaseLib/Ia32/Wbinvd.asm |
> 40 --
> MdePkg/Library/BaseLib/Ia32/WriteCr0.asm |
> 41 --
> MdePkg/Library/BaseLib/Ia32/WriteCr2.asm |
> 41 --
> MdePkg/Library/BaseLib/Ia32/WriteCr3.asm |
> 41 --
> MdePkg/Library/BaseLib/Ia32/WriteCr4.asm |
> 41 --
> MdePkg/Library/BaseLib/Ia32/WriteDr0.asm |
> 41 --
> MdePkg/Library/BaseLib/Ia32/WriteDr1.asm |
> 41 --
> MdePkg/Library/BaseLib/Ia32/WriteDr2.asm |
> 41 --
> MdePkg/Library/BaseLib/Ia32/WriteDr3.asm |
> 41 --
> MdePkg/Library/BaseLib/Ia32/WriteDr4.asm |
> 48 --
> MdePkg/Library/BaseLib/Ia32/WriteDr5.asm |
> 48 --
> MdePkg/Library/BaseLib/Ia32/WriteDr6.asm |
> 41 --
> MdePkg/Library/BaseLib/Ia32/WriteDr7.asm |
> 41 --
> MdePkg/Library/BaseLib/Ia32/WriteGdtr.asm |
> 41 --
> MdePkg/Library/BaseLib/Ia32/WriteIdtr.asm |
> 44 --
> MdePkg/Library/BaseLib/Ia32/WriteLdtr.asm |
> 41 --
> MdePkg/Library/BaseLib/Ia32/WriteMm0.asm |
> 41 --
> MdePkg/Library/BaseLib/Ia32/WriteMm1.asm |
> 41 --
> MdePkg/Library/BaseLib/Ia32/WriteMm2.asm |
> 41 --
> MdePkg/Library/BaseLib/Ia32/WriteMm3.asm |
> 41 --
> MdePkg/Library/BaseLib/Ia32/WriteMm4.asm |
> 41 --
> MdePkg/Library/BaseLib/Ia32/WriteMm5.asm |
> 41 --
> MdePkg/Library/BaseLib/Ia32/WriteMm6.asm |
> 41 --
> MdePkg/Library/BaseLib/Ia32/WriteMm7.asm |
> 41 --
> MdePkg/Library/BaseLib/Ia32/WriteMsr64.asm |
> 44 --
> MdePkg/Library/BaseLib/X64/CpuBreakpoint.asm |
> 37 --
> MdePkg/Library/BaseLib/X64/CpuId.asm |
> 62 ---
> MdePkg/Library/BaseLib/X64/CpuIdEx.asm |
> 64 ---
> MdePkg/Library/BaseLib/X64/CpuPause.asm |
> 37 --
> MdePkg/Library/BaseLib/X64/DisableCache.asm |
> 43 --
> MdePkg/Library/BaseLib/X64/DisableInterrupts.asm |
> 38 --
> MdePkg/Library/BaseLib/X64/DisablePaging64.asm |
> 84 ---
> MdePkg/Library/BaseLib/X64/EnableCache.asm |
> 43 --
> .../BaseLib/X64/EnableDisableInterrupts.asm |
> 39 --
> MdePkg/Library/BaseLib/X64/EnableInterrupts.asm |
> 38 --
> MdePkg/Library/BaseLib/X64/FlushCacheLine.asm |
> 39 --
> MdePkg/Library/BaseLib/X64/FxRestore.asm |
> 38 --
> MdePkg/Library/BaseLib/X64/FxSave.asm |
> 38 --
> MdePkg/Library/BaseLib/X64/Invd.asm |
> 38 --
> MdePkg/Library/BaseLib/X64/LongJump.asm |
> 58 --
> MdePkg/Library/BaseLib/X64/Monitor.asm |
> 43 --
> MdePkg/Library/BaseLib/X64/Mwait.asm |
> 41 --
> MdePkg/Library/BaseLib/X64/RdRand.asm |
> 83 ---
> MdePkg/Library/BaseLib/X64/ReadCr0.asm |
> 38 --
> MdePkg/Library/BaseLib/X64/ReadCr2.asm |
> 38 --
> MdePkg/Library/BaseLib/X64/ReadCr3.asm |
> 38 --
> MdePkg/Library/BaseLib/X64/ReadCr4.asm |
> 38 --
> MdePkg/Library/BaseLib/X64/ReadCs.asm |
> 38 --
> MdePkg/Library/BaseLib/X64/ReadDr0.asm |
> 38 --
> MdePkg/Library/BaseLib/X64/ReadDr1.asm |
> 38 --
> MdePkg/Library/BaseLib/X64/ReadDr2.asm |
> 38 --
> MdePkg/Library/BaseLib/X64/ReadDr3.asm |
> 38 --
> MdePkg/Library/BaseLib/X64/ReadDr4.asm |
> 42 --
> MdePkg/Library/BaseLib/X64/ReadDr5.asm |
> 42 --
> MdePkg/Library/BaseLib/X64/ReadDr6.asm |
> 38 --
> MdePkg/Library/BaseLib/X64/ReadDr7.asm |
> 38 --
> MdePkg/Library/BaseLib/X64/ReadDs.asm |
> 38 --
> MdePkg/Library/BaseLib/X64/ReadEflags.asm |
> 39 --
> MdePkg/Library/BaseLib/X64/ReadEs.asm |
> 38 --
> MdePkg/Library/BaseLib/X64/ReadFs.asm |
> 38 --
> MdePkg/Library/BaseLib/X64/ReadGdtr.asm |
> 38 --
> MdePkg/Library/BaseLib/X64/ReadGs.asm |
> 38 --
> MdePkg/Library/BaseLib/X64/ReadIdtr.asm |
> 38 --
> MdePkg/Library/BaseLib/X64/ReadLdtr.asm |
> 38 --
> MdePkg/Library/BaseLib/X64/ReadMm0.asm |
> 41 --
> MdePkg/Library/BaseLib/X64/ReadMm1.asm |
> 41 --
> MdePkg/Library/BaseLib/X64/ReadMm2.asm |
> 41 --
> MdePkg/Library/BaseLib/X64/ReadMm3.asm |
> 41 --
> MdePkg/Library/BaseLib/X64/ReadMm4.asm |
> 41 --
> MdePkg/Library/BaseLib/X64/ReadMm5.asm |
> 41 --
> MdePkg/Library/BaseLib/X64/ReadMm6.asm |
> 41 --
> MdePkg/Library/BaseLib/X64/ReadMm7.asm |
> 41 --
> MdePkg/Library/BaseLib/X64/ReadMsr64.asm |
> 40 --
> MdePkg/Library/BaseLib/X64/ReadPmc.asm |
> 40 --
> MdePkg/Library/BaseLib/X64/ReadSs.asm |
> 38 --
> MdePkg/Library/BaseLib/X64/ReadTr.asm |
> 38 --
> MdePkg/Library/BaseLib/X64/ReadTsc.asm |
> 40 --
> MdePkg/Library/BaseLib/X64/SetJump.asm |
> 66 ---
> MdePkg/Library/BaseLib/X64/SwitchStack.asm |
> 51 --
> MdePkg/Library/BaseLib/X64/Thunk16.asm |
> 315 -----------
> MdePkg/Library/BaseLib/X64/Wbinvd.asm |
> 38 --
> MdePkg/Library/BaseLib/X64/WriteCr0.asm |
> 39 --
> MdePkg/Library/BaseLib/X64/WriteCr2.asm |
> 39 --
> MdePkg/Library/BaseLib/X64/WriteCr3.asm |
> 39 --
> MdePkg/Library/BaseLib/X64/WriteCr4.asm |
> 39 --
> MdePkg/Library/BaseLib/X64/WriteDr0.asm |
> 39 --
> MdePkg/Library/BaseLib/X64/WriteDr1.asm |
> 39 --
> MdePkg/Library/BaseLib/X64/WriteDr2.asm |
> 39 --
> MdePkg/Library/BaseLib/X64/WriteDr3.asm |
> 39 --
> MdePkg/Library/BaseLib/X64/WriteDr4.asm |
> 43 --
> MdePkg/Library/BaseLib/X64/WriteDr5.asm |
> 43 --
> MdePkg/Library/BaseLib/X64/WriteDr6.asm |
> 39 --
> MdePkg/Library/BaseLib/X64/WriteDr7.asm |
> 39 --
> MdePkg/Library/BaseLib/X64/WriteGdtr.asm |
> 38 --
> MdePkg/Library/BaseLib/X64/WriteIdtr.asm |
> 41 --
> MdePkg/Library/BaseLib/X64/WriteLdtr.asm |
> 38 --
> MdePkg/Library/BaseLib/X64/WriteMm0.asm |
> 41 --
> MdePkg/Library/BaseLib/X64/WriteMm1.asm |
> 41 --
> MdePkg/Library/BaseLib/X64/WriteMm2.asm |
> 41 --
> MdePkg/Library/BaseLib/X64/WriteMm3.asm |
> 41 --
> MdePkg/Library/BaseLib/X64/WriteMm4.asm |
> 41 --
> MdePkg/Library/BaseLib/X64/WriteMm5.asm |
> 41 --
> MdePkg/Library/BaseLib/X64/WriteMm6.asm |
> 41 --
> MdePkg/Library/BaseLib/X64/WriteMm7.asm |
> 41 --
> MdePkg/Library/BaseLib/X64/WriteMsr64.asm |
> 41 --
> .../Library/BaseMemoryLibMmx/BaseMemoryLibMmx.inf |
> 22 -
> .../Library/BaseMemoryLibMmx/Ia32/CompareMem.asm |
> 56 --
> MdePkg/Library/BaseMemoryLibMmx/Ia32/CopyMem.asm |
> 77 ---
> MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem16.asm |
> 55 --
> MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem32.asm |
> 55 --
> MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem64.asm |
> 64 ---
> MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem8.asm |
> 55 --
> MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem.asm |
> 70 ---
> MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem16.asm |
> 63 ---
> MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem32.asm |
> 59 --
> MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem64.asm |
> 50 --
> MdePkg/Library/BaseMemoryLibMmx/Ia32/ZeroMem.asm |
> 56 --
> MdePkg/Library/BaseMemoryLibMmx/X64/CompareMem.asm |
> 54 --
> MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.asm |
> 70 ---
> MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem16.asm |
> 53 --
> MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem32.asm |
> 53 --
> MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem64.asm |
> 53 --
> MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem8.asm |
> 53 --
> MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.asm |
> 58 --
> MdePkg/Library/BaseMemoryLibMmx/X64/SetMem16.asm |
> 57 --
> MdePkg/Library/BaseMemoryLibMmx/X64/SetMem32.asm |
> 53 --
> MdePkg/Library/BaseMemoryLibMmx/X64/SetMem64.asm |
> 46 --
> MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.asm |
> 54 --
> .../BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf |
> 22 -
> .../BaseMemoryLibOptDxe/Ia32/CompareMem.asm |
> 56 --
> .../Library/BaseMemoryLibOptDxe/Ia32/CopyMem.asm |
> 84 ---
> .../Library/BaseMemoryLibOptDxe/Ia32/ScanMem16.asm |
> 55 --
> .../Library/BaseMemoryLibOptDxe/Ia32/ScanMem32.asm |
> 55 --
> .../Library/BaseMemoryLibOptDxe/Ia32/ScanMem64.asm |
> 64 ---
> .../Library/BaseMemoryLibOptDxe/Ia32/ScanMem8.asm |
> 55 --
> MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem.asm |
> 53 --
> .../Library/BaseMemoryLibOptDxe/Ia32/SetMem16.asm |
> 45 --
> .../Library/BaseMemoryLibOptDxe/Ia32/SetMem32.asm |
> 45 --
> .../Library/BaseMemoryLibOptDxe/Ia32/SetMem64.asm |
> 49 --
> .../Library/BaseMemoryLibOptDxe/Ia32/ZeroMem.asm |
> 50 --
> .../Library/BaseMemoryLibOptDxe/X64/CompareMem.asm |
> 54 --
> MdePkg/Library/BaseMemoryLibOptDxe/X64/CopyMem.asm |
> 79 ---
> .../Library/BaseMemoryLibOptDxe/X64/ScanMem16.asm |
> 53 --
> .../Library/BaseMemoryLibOptDxe/X64/ScanMem32.asm |
> 53 --
> .../Library/BaseMemoryLibOptDxe/X64/ScanMem64.asm |
> 53 --
> .../Library/BaseMemoryLibOptDxe/X64/ScanMem8.asm |
> 53 --
> MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem.asm |
> 58 --
> .../Library/BaseMemoryLibOptDxe/X64/SetMem16.asm |
> 45 --
> .../Library/BaseMemoryLibOptDxe/X64/SetMem32.asm |
> 45 --
> .../Library/BaseMemoryLibOptDxe/X64/SetMem64.asm |
> 44 --
> MdePkg/Library/BaseMemoryLibOptDxe/X64/ZeroMem.asm |
> 48 --
> .../BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf |
> 22 -
> .../BaseMemoryLibOptPei/Ia32/CompareMem.asm |
> 56 --
> .../Library/BaseMemoryLibOptPei/Ia32/CopyMem.asm |
> 61 ---
> .../Library/BaseMemoryLibOptPei/Ia32/ScanMem16.asm |
> 55 --
> .../Library/BaseMemoryLibOptPei/Ia32/ScanMem32.asm |
> 55 --
> .../Library/BaseMemoryLibOptPei/Ia32/ScanMem64.asm |
> 64 ---
> .../Library/BaseMemoryLibOptPei/Ia32/ScanMem8.asm |
> 55 --
> MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem.asm |
> 53 --
> .../Library/BaseMemoryLibOptPei/Ia32/SetMem16.asm |
> 45 --
> .../Library/BaseMemoryLibOptPei/Ia32/SetMem32.asm |
> 45 --
> .../Library/BaseMemoryLibOptPei/Ia32/SetMem64.asm |
> 49 --
> .../Library/BaseMemoryLibOptPei/Ia32/ZeroMem.asm |
> 50 --
> .../Library/BaseMemoryLibOptPei/X64/CompareMem.asm |
> 54 --
> MdePkg/Library/BaseMemoryLibOptPei/X64/CopyMem.asm |
> 61 ---
> .../Library/BaseMemoryLibOptPei/X64/ScanMem16.asm |
> 53 --
> .../Library/BaseMemoryLibOptPei/X64/ScanMem32.asm |
> 53 --
> .../Library/BaseMemoryLibOptPei/X64/ScanMem64.asm |
> 53 --
> .../Library/BaseMemoryLibOptPei/X64/ScanMem8.asm |
> 53 --
> MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem.asm |
> 45 --
> .../Library/BaseMemoryLibOptPei/X64/SetMem16.asm |
> 44 --
> .../Library/BaseMemoryLibOptPei/X64/SetMem32.asm |
> 44 --
> .../Library/BaseMemoryLibOptPei/X64/SetMem64.asm |
> 43 --
> MdePkg/Library/BaseMemoryLibOptPei/X64/ZeroMem.asm |
> 47 --
> .../BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf |
> 22 -
> .../BaseMemoryLibRepStr/Ia32/CompareMem.asm |
> 56 --
> .../Library/BaseMemoryLibRepStr/Ia32/CopyMem.asm |
> 63 ---
> .../Library/BaseMemoryLibRepStr/Ia32/ScanMem16.asm |
> 57 --
> .../Library/BaseMemoryLibRepStr/Ia32/ScanMem32.asm |
> 57 --
> .../Library/BaseMemoryLibRepStr/Ia32/ScanMem64.asm |
> 66 ---
> .../Library/BaseMemoryLibRepStr/Ia32/ScanMem8.asm |
> 57 --
> MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem.asm |
> 45 --
> .../Library/BaseMemoryLibRepStr/Ia32/SetMem16.asm |
> 45 --
> .../Library/BaseMemoryLibRepStr/Ia32/SetMem32.asm |
> 45 --
> .../Library/BaseMemoryLibRepStr/Ia32/SetMem64.asm |
> 49 --
> .../Library/BaseMemoryLibRepStr/Ia32/ZeroMem.asm |
> 50 --
> .../Library/BaseMemoryLibRepStr/X64/CompareMem.asm |
> 54 --
> MdePkg/Library/BaseMemoryLibRepStr/X64/CopyMem.asm |
> 61 ---
> .../Library/BaseMemoryLibRepStr/X64/ScanMem16.asm |
> 53 --
> .../Library/BaseMemoryLibRepStr/X64/ScanMem32.asm |
> 53 --
> .../Library/BaseMemoryLibRepStr/X64/ScanMem64.asm |
> 53 --
> .../Library/BaseMemoryLibRepStr/X64/ScanMem8.asm |
> 53 --
> MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem.asm |
> 44 --
> .../Library/BaseMemoryLibRepStr/X64/SetMem16.asm |
> 44 --
> .../Library/BaseMemoryLibRepStr/X64/SetMem32.asm |
> 44 --
> .../Library/BaseMemoryLibRepStr/X64/SetMem64.asm |
> 43 --
> MdePkg/Library/BaseMemoryLibRepStr/X64/ZeroMem.asm |
> 47 --
> .../BaseMemoryLibSse2/BaseMemoryLibSse2.inf |
> 22 -
> .../Library/BaseMemoryLibSse2/Ia32/CompareMem.asm |
> 56 --
> MdePkg/Library/BaseMemoryLibSse2/Ia32/CopyMem.asm |
> 84 ---
> .../Library/BaseMemoryLibSse2/Ia32/ScanMem16.asm |
> 55 --
> .../Library/BaseMemoryLibSse2/Ia32/ScanMem32.asm |
> 55 --
> .../Library/BaseMemoryLibSse2/Ia32/ScanMem64.asm |
> 64 ---
> MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem8.asm |
> 55 --
> MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem.asm |
> 75 ---
> MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem16.asm |
> 71 ---
> MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem32.asm |
> 70 ---
> MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem64.asm |
> 64 ---
> MdePkg/Library/BaseMemoryLibSse2/Ia32/ZeroMem.asm |
> 67 ---
> .../Library/BaseMemoryLibSse2/X64/CompareMem.asm |
> 54 --
> MdePkg/Library/BaseMemoryLibSse2/X64/CopyMem.asm |
> 79 ---
> MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem16.asm |
> 53 --
> MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem32.asm |
> 53 --
> MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem64.asm |
> 53 --
> MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem8.asm |
> 53 --
> MdePkg/Library/BaseMemoryLibSse2/X64/SetMem.asm |
> 69 ---
> MdePkg/Library/BaseMemoryLibSse2/X64/SetMem16.asm |
> 67 ---
> MdePkg/Library/BaseMemoryLibSse2/X64/SetMem32.asm |
> 66 ---
> MdePkg/Library/BaseMemoryLibSse2/X64/SetMem64.asm |
> 59 --
> MdePkg/Library/BaseMemoryLibSse2/X64/ZeroMem.asm |
> 63 ---
> .../BaseSynchronizationLib.inf |
> 10 -
> .../Ia32/InterlockedCompareExchange16.asm |
> 46 --
> .../Ia32/InterlockedCompareExchange32.asm |
> 45 --
> .../Ia32/InterlockedCompareExchange64.asm |
> 47 --
> .../Ia32/InterlockedDecrement.asm |
> 42 --
> .../Ia32/InterlockedIncrement.asm |
> 42 --
> .../X64/InterlockedCompareExchange16.asm |
> 42 --
> .../X64/InterlockedCompareExchange32.asm |
> 41 --
> .../X64/InterlockedCompareExchange64.asm |
> 41 --
> .../X64/InterlockedDecrement.asm |
> 39 --
> .../X64/InterlockedIncrement.asm |
> 39 --
> .../DebugAgent/DebugAgentCommon/Ia32/AsmFuncs.asm |
> 422 ---------------
> .../DebugAgent/DebugAgentCommon/X64/AsmFuncs.asm |
> 405 --------------
> .../Library/DebugAgent/DxeDebugAgentLib.inf |
> 2 -
> .../Library/DebugAgent/SecPeiDebugAgentLib.inf |
> 2 -
> .../Library/DebugAgent/SmmDebugAgentLib.inf |
> 2 -
> .../PeCoffExtraActionLibDebug/Ia32/IntHandler.asm |
> 33 --
> .../PeCoffExtraActionLibDebug.inf |
> 2 -
> .../PeCoffExtraActionLibDebug/X64/IntHandler.asm |
> 29 -
> UefiCpuPkg/CpuDxe/CpuDxe.inf |
> 4 -
> UefiCpuPkg/CpuDxe/Ia32/CpuAsm.S |
> 57 --
> UefiCpuPkg/CpuDxe/Ia32/CpuAsm.asm |
> 58 --
> UefiCpuPkg/CpuDxe/X64/CpuAsm.S |
> 60 ---
> UefiCpuPkg/CpuDxe/X64/CpuAsm.asm |
> 54 --
> .../Library/BaseUefiCpuLib/BaseUefiCpuLib.inf |
> 2 -
> .../Library/BaseUefiCpuLib/Ia32/InitializeFpu.asm |
> 79 ---
> .../Library/BaseUefiCpuLib/X64/InitializeFpu.asm |
> 62 ---
> .../DxeCpuExceptionHandlerLib.inf |
> 2 -
> .../Ia32/ExceptionHandlerAsm.asm |
> 467 ----------------
> .../PeiCpuExceptionHandlerLib.inf |
> 2 -
> .../SecPeiCpuExceptionHandlerLib.inf |
> 2 -
> .../SmmCpuExceptionHandlerLib.inf |
> 2 -
> .../X64/ExceptionHandlerAsm.asm |
> 389 --------------
> .../Library/SmmCpuFeaturesLib/Ia32/SmiEntry.asm |
> 285 ----------
> .../SmmCpuFeaturesLib/Ia32/SmiException.asm |
> 175 ------
> .../SmmCpuFeaturesLib/SmmCpuFeaturesLibStm.inf |
> 4 -
> .../Library/SmmCpuFeaturesLib/X64/SmiEntry.asm |
> 281 ----------
> .../Library/SmmCpuFeaturesLib/X64/SmiException.asm |
> 178 ------
> .../Universal/Acpi/S3Resume2Pei/Ia32/AsmFuncs.S |
> 38 --
> .../Universal/Acpi/S3Resume2Pei/Ia32/AsmFuncs.asm |
> 45 --
> .../Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf |
> 4 -
> .../Universal/Acpi/S3Resume2Pei/X64/AsmFuncs.S |
> 37 --
> .../Universal/Acpi/S3Resume2Pei/X64/AsmFuncs.asm |
> 41 --
> 367 files changed, 22383 deletions(-)
> delete mode 100644
> IntelFrameworkModulePkg/Csm/LegacyBiosDxe/IA32/Interrupt
> Table.S
> delete mode 100644
> IntelFrameworkModulePkg/Csm/LegacyBiosDxe/IA32/Interrupt
> Table.asm
> delete mode 100644
> IntelFrameworkModulePkg/Csm/LegacyBiosDxe/X64/InterruptT
> able.S
> delete mode 100644
> IntelFrameworkModulePkg/Csm/LegacyBiosDxe/X64/InterruptT
> able.asm
> delete mode 100644
> MdeModulePkg/Core/DxeIplPeim/Ia32/IdtVectorAsm.S
> delete mode 100644
> MdeModulePkg/Core/DxeIplPeim/Ia32/IdtVectorAsm.asm
> delete mode 100644
> MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/IA32/S
> 3Asm.S
> delete mode 100644
> MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/IA32/S
> 3Asm.asm
> delete mode 100644
> MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/S3
> Asm.S
> delete mode 100644
> MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/S3
> Asm.asm
> delete mode 100644
> MdeModulePkg/Universal/CapsulePei/X64/PageFaultHandler.S
> delete mode 100644
> MdeModulePkg/Universal/CapsulePei/X64/PageFaultHandler.a
> sm
> delete mode 100644
> MdeModulePkg/Universal/DebugSupportDxe/Ia32/AsmFuncs.S
> delete mode 100644
> MdeModulePkg/Universal/DebugSupportDxe/Ia32/AsmFuncs.asm
> delete mode 100644
> MdeModulePkg/Universal/DebugSupportDxe/X64/AsmFuncs.S
> delete mode 100644
> MdeModulePkg/Universal/DebugSupportDxe/X64/AsmFuncs.asm
> delete mode 100644
> MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.S
> delete mode 100644
> MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.asm
> delete mode 100644
> MdeModulePkg/Universal/EbcDxe/X64/EbcLowLevel.S
> delete mode 100644
> MdeModulePkg/Universal/EbcDxe/X64/EbcLowLevel.asm
> delete mode 100644
> MdePkg/Library/BaseCpuLib/Ia32/CpuFlushTlb.asm
> delete mode 100644
> MdePkg/Library/BaseCpuLib/Ia32/CpuSleep.asm
> delete mode 100644
> MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.asm
> delete mode 100644
> MdePkg/Library/BaseCpuLib/X64/CpuSleep.asm
> delete mode 100644
> MdePkg/Library/BaseIoLibIntrinsic/Ia32/IoFifo.asm
> delete mode 100644
> MdePkg/Library/BaseIoLibIntrinsic/X64/IoFifo.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ARShiftU64.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/CpuBreakpoint.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/CpuId.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/CpuIdEx.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/CpuPause.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/DisableCache.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/DisableInterrupts.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/DisablePaging32.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/DivU64x32.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/DivU64x32Remainder.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/DivU64x64Remainder.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/EnableCache.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/EnableDisableInterrupts.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/EnableInterrupts.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/EnablePaging32.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/EnablePaging64.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/FlushCacheLine.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/FxRestore.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/FxSave.asm
> delete mode 100644 MdePkg/Library/BaseLib/Ia32/Invd.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/LRotU64.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/LShiftU64.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/LongJump.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ModU64x32.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/Monitor.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/MultU64x32.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/MultU64x64.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/Mwait.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/RRotU64.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/RShiftU64.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/RdRand.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadCr0.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadCr2.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadCr3.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadCr4.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadCs.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadDr0.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadDr1.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadDr2.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadDr3.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadDr4.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadDr5.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadDr6.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadDr7.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadDs.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadEflags.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadEs.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadFs.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadGdtr.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadGs.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadIdtr.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadLdtr.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadMm0.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadMm1.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadMm2.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadMm3.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadMm4.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadMm5.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadMm6.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadMm7.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadMsr64.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadPmc.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadSs.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadTr.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/ReadTsc.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/SetJump.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/SwapBytes64.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/Thunk16.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/Wbinvd.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/WriteCr0.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/WriteCr2.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/WriteCr3.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/WriteCr4.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/WriteDr0.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/WriteDr1.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/WriteDr2.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/WriteDr3.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/WriteDr4.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/WriteDr5.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/WriteDr6.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/WriteDr7.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/WriteGdtr.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/WriteIdtr.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/WriteLdtr.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/WriteMm0.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/WriteMm1.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/WriteMm2.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/WriteMm3.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/WriteMm4.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/WriteMm5.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/WriteMm6.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/WriteMm7.asm
> delete mode 100644
> MdePkg/Library/BaseLib/Ia32/WriteMsr64.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/CpuBreakpoint.asm
> delete mode 100644 MdePkg/Library/BaseLib/X64/CpuId.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/CpuIdEx.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/CpuPause.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/DisableCache.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/DisableInterrupts.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/DisablePaging64.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/EnableCache.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/EnableDisableInterrupts.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/EnableInterrupts.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/FlushCacheLine.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/FxRestore.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/FxSave.asm
> delete mode 100644 MdePkg/Library/BaseLib/X64/Invd.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/LongJump.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/Monitor.asm
> delete mode 100644 MdePkg/Library/BaseLib/X64/Mwait.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/RdRand.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadCr0.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadCr2.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadCr3.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadCr4.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadCs.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadDr0.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadDr1.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadDr2.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadDr3.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadDr4.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadDr5.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadDr6.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadDr7.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadDs.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadEflags.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadEs.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadFs.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadGdtr.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadGs.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadIdtr.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadLdtr.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadMm0.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadMm1.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadMm2.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadMm3.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadMm4.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadMm5.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadMm6.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadMm7.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadMsr64.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadPmc.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadSs.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadTr.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/ReadTsc.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/SetJump.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/SwitchStack.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/Thunk16.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/Wbinvd.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/WriteCr0.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/WriteCr2.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/WriteCr3.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/WriteCr4.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/WriteDr0.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/WriteDr1.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/WriteDr2.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/WriteDr3.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/WriteDr4.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/WriteDr5.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/WriteDr6.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/WriteDr7.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/WriteGdtr.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/WriteIdtr.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/WriteLdtr.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/WriteMm0.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/WriteMm1.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/WriteMm2.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/WriteMm3.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/WriteMm4.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/WriteMm5.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/WriteMm6.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/WriteMm7.asm
> delete mode 100644
> MdePkg/Library/BaseLib/X64/WriteMsr64.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibMmx/Ia32/CompareMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibMmx/Ia32/CopyMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem16.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem32.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem64.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem8.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem16.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem32.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem64.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibMmx/Ia32/ZeroMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibMmx/X64/CompareMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem16.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem32.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem64.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem8.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibMmx/X64/SetMem16.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibMmx/X64/SetMem32.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibMmx/X64/SetMem64.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CompareMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CopyMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem16.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem32.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem64.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem8.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem16.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem32.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem64.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ZeroMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptDxe/X64/CompareMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptDxe/X64/CopyMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem16.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem32.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem64.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem8.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem16.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem32.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem64.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptDxe/X64/ZeroMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptPei/Ia32/CompareMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptPei/Ia32/CopyMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem16.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem32.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem64.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem8.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem16.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem32.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem64.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptPei/Ia32/ZeroMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptPei/X64/CompareMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptPei/X64/CopyMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem16.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem32.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem64.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem8.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem16.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem32.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem64.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibOptPei/X64/ZeroMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibRepStr/Ia32/CompareMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibRepStr/Ia32/CopyMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem16.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem32.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem64.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem8.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem16.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem32.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem64.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibRepStr/Ia32/ZeroMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibRepStr/X64/CompareMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibRepStr/X64/CopyMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem16.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem32.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem64.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem8.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem16.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem32.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem64.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibRepStr/X64/ZeroMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibSse2/Ia32/CompareMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibSse2/Ia32/CopyMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem16.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem32.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem64.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem8.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem16.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem32.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem64.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibSse2/Ia32/ZeroMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibSse2/X64/CompareMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibSse2/X64/CopyMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem16.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem32.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem64.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem8.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibSse2/X64/SetMem.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibSse2/X64/SetMem16.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibSse2/X64/SetMem32.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibSse2/X64/SetMem64.asm
> delete mode 100644
> MdePkg/Library/BaseMemoryLibSse2/X64/ZeroMem.asm
> delete mode 100644
> MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedCo
> mpareExchange16.asm
> delete mode 100644
> MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedCo
> mpareExchange32.asm
> delete mode 100644
> MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedCo
> mpareExchange64.asm
> delete mode 100644
> MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedDe
> crement.asm
> delete mode 100644
> MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedIn
> crement.asm
> delete mode 100644
> MdePkg/Library/BaseSynchronizationLib/X64/InterlockedCom
> pareExchange16.asm
> delete mode 100644
> MdePkg/Library/BaseSynchronizationLib/X64/InterlockedCom
> pareExchange32.asm
> delete mode 100644
> MdePkg/Library/BaseSynchronizationLib/X64/InterlockedCom
> pareExchange64.asm
> delete mode 100644
> MdePkg/Library/BaseSynchronizationLib/X64/InterlockedDec
> rement.asm
> delete mode 100644
> MdePkg/Library/BaseSynchronizationLib/X64/InterlockedInc
> rement.asm
> delete mode 100644
> SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/
> Ia32/AsmFuncs.asm
> delete mode 100644
> SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/
> X64/AsmFuncs.asm
> delete mode 100644
> SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/Ia
> 32/IntHandler.asm
> delete mode 100644
> SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/X6
> 4/IntHandler.asm
> delete mode 100644 UefiCpuPkg/CpuDxe/Ia32/CpuAsm.S
> delete mode 100644 UefiCpuPkg/CpuDxe/Ia32/CpuAsm.asm
> delete mode 100644 UefiCpuPkg/CpuDxe/X64/CpuAsm.S
> delete mode 100644 UefiCpuPkg/CpuDxe/X64/CpuAsm.asm
> delete mode 100644
> UefiCpuPkg/Library/BaseUefiCpuLib/Ia32/InitializeFpu.asm
> delete mode 100644
> UefiCpuPkg/Library/BaseUefiCpuLib/X64/InitializeFpu.asm
> delete mode 100644
> UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32/Exception
> HandlerAsm.asm
> delete mode 100644
> UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ExceptionH
> andlerAsm.asm
> delete mode 100644
> UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiEntry.asm
> delete mode 100644
> UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiException.a
> sm
> delete mode 100644
> UefiCpuPkg/Library/SmmCpuFeaturesLib/X64/SmiEntry.asm
> delete mode 100644
> UefiCpuPkg/Library/SmmCpuFeaturesLib/X64/SmiException.as
> m
> delete mode 100644
> UefiCpuPkg/Universal/Acpi/S3Resume2Pei/Ia32/AsmFuncs.S
> delete mode 100644
> UefiCpuPkg/Universal/Acpi/S3Resume2Pei/Ia32/AsmFuncs.asm
> delete mode 100644
> UefiCpuPkg/Universal/Acpi/S3Resume2Pei/X64/AsmFuncs.S
> delete mode 100644
> UefiCpuPkg/Universal/Acpi/S3Resume2Pei/X64/AsmFuncs.asm
>
> --
> 2.8.0.windows.1
>
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Patch 0/5] Remove X86 ASM and S files
2018-05-29 0:41 ` [Patch 0/5] " Kinney, Michael D
@ 2018-05-29 1:43 ` Gao, Liming
0 siblings, 0 replies; 11+ messages in thread
From: Gao, Liming @ 2018-05-29 1:43 UTC (permalink / raw)
To: Kinney, Michael D, edk2-devel@lists.01.org
Mike:
This patch serials remove ASM from libraries, and keep S files in Libraries until new NASM is updated. I understand only S file optimization feature depends on NASM file. Right?
Yes. I will update the patch to update copyright to 2018.
Thanks
Liming
>-----Original Message-----
>From: Kinney, Michael D
>Sent: Tuesday, May 29, 2018 8:42 AM
>To: Gao, Liming <liming.gao@intel.com>; edk2-devel@lists.01.org; Kinney,
>Michael D <michael.d.kinney@intel.com>
>Subject: RE: [edk2] [Patch 0/5] Remove X86 ASM and S files
>
>Liming,
>
>This patch series includes removal of ASM and S files
>from libraries. Should those be removes from this series
>until NASM is updated?
>
>I also see updates to INF files without updates to the
>Copyright.
>
>Thanks,
>
>Mike
>
>> -----Original Message-----
>> From: edk2-devel [mailto:edk2-devel-
>> bounces@lists.01.org] On Behalf Of Liming Gao
>> Sent: Sunday, May 13, 2018 7:32 AM
>> To: edk2-devel@lists.01.org
>> Subject: [edk2] [Patch 0/5] Remove X86 ASM and S files
>>
>> For IA32 and X64, NASM has replaced ASM and S files.
>> Rmove ASM from all modules.
>> Remove S files from the drivers only.
>> After NASM is updated, S files can be removed from
>> Library.
>>
>> Liming Gao (5):
>> IntelFrameworkModulePkg: Remove X86 ASM and S files
>> MdeModulePkg: Remove X86 ASM and S files
>> MdePkg: Remove X86 ASM and S files
>> SourceLevelDebugPkg: Remove X86 ASM and S files
>> UefiCpuPkg: Remove X86 ASM and S files
>>
>> .../Csm/LegacyBiosDxe/IA32/InterruptTable.S |
>> 67 ---
>> .../Csm/LegacyBiosDxe/IA32/InterruptTable.asm |
>> 73 ---
>> .../Csm/LegacyBiosDxe/LegacyBiosDxe.inf |
>> 4 -
>> .../Csm/LegacyBiosDxe/X64/InterruptTable.S |
>> 72 ---
>> .../Csm/LegacyBiosDxe/X64/InterruptTable.asm |
>> 71 ---
>> MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf |
>> 2 -
>> MdeModulePkg/Core/DxeIplPeim/Ia32/IdtVectorAsm.S |
>> 80 ---
>> MdeModulePkg/Core/DxeIplPeim/Ia32/IdtVectorAsm.asm |
>> 88 ---
>> .../BootScriptExecutorDxe.inf |
>> 4 -
>> .../Acpi/BootScriptExecutorDxe/IA32/S3Asm.S |
>> 66 ---
>> .../Acpi/BootScriptExecutorDxe/IA32/S3Asm.asm |
>> 71 ---
>> .../Acpi/BootScriptExecutorDxe/X64/S3Asm.S |
>> 130 -----
>> .../Acpi/BootScriptExecutorDxe/X64/S3Asm.asm |
>> 135 -----
>> MdeModulePkg/Universal/CapsulePei/CapsuleX64.inf |
>> 2 -
>> .../Universal/CapsulePei/X64/PageFaultHandler.S |
>> 81 ---
>> .../Universal/CapsulePei/X64/PageFaultHandler.asm |
>> 87 ---
>> .../Universal/DebugSupportDxe/DebugSupportDxe.inf |
>> 4 -
>> .../Universal/DebugSupportDxe/Ia32/AsmFuncs.S |
>> 407 --------------
>> .../Universal/DebugSupportDxe/Ia32/AsmFuncs.asm |
>> 509 ------------------
>> .../Universal/DebugSupportDxe/X64/AsmFuncs.S |
>> 551 -------------------
>> .../Universal/DebugSupportDxe/X64/AsmFuncs.asm |
>> 596 ---------------------
>> MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf |
>> 4 -
>> MdeModulePkg/Universal/EbcDxe/EbcDxe.inf |
>> 4 -
>> MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.S |
>> 83 ---
>> MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.asm |
>> 207 -------
>> MdeModulePkg/Universal/EbcDxe/X64/EbcLowLevel.S |
>> 147 -----
>> MdeModulePkg/Universal/EbcDxe/X64/EbcLowLevel.asm |
>> 246 ---------
>> MdePkg/Library/BaseCpuLib/BaseCpuLib.inf |
>> 4 -
>> MdePkg/Library/BaseCpuLib/Ia32/CpuFlushTlb.asm |
>> 40 --
>> MdePkg/Library/BaseCpuLib/Ia32/CpuSleep.asm |
>> 39 --
>> MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.asm |
>> 38 --
>> MdePkg/Library/BaseCpuLib/X64/CpuSleep.asm |
>> 37 --
>> .../BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf |
>> 2 -
>> MdePkg/Library/BaseIoLibIntrinsic/Ia32/IoFifo.asm |
>> 141 -----
>> MdePkg/Library/BaseIoLibIntrinsic/X64/IoFifo.asm |
>> 127 -----
>> MdePkg/Library/BaseLib/BaseLib.inf |
>> 246 ---------
>> MdePkg/Library/BaseLib/Ia32/ARShiftU64.asm |
>> 48 --
>> MdePkg/Library/BaseLib/Ia32/CpuBreakpoint.asm |
>> 40 --
>> MdePkg/Library/BaseLib/Ia32/CpuId.asm |
>> 66 ---
>> MdePkg/Library/BaseLib/Ia32/CpuIdEx.asm |
>> 68 ---
>> MdePkg/Library/BaseLib/Ia32/CpuPause.asm |
>> 40 --
>> MdePkg/Library/BaseLib/Ia32/DisableCache.asm |
>> 45 --
>> MdePkg/Library/BaseLib/Ia32/DisableInterrupts.asm |
>> 40 --
>> MdePkg/Library/BaseLib/Ia32/DisablePaging32.asm |
>> 57 --
>> MdePkg/Library/BaseLib/Ia32/DivU64x32.asm |
>> 46 --
>> MdePkg/Library/BaseLib/Ia32/DivU64x32Remainder.asm |
>> 51 --
>> MdePkg/Library/BaseLib/Ia32/DivU64x64Remainder.asm |
>> 92 ----
>> MdePkg/Library/BaseLib/Ia32/EnableCache.asm |
>> 45 --
>> .../BaseLib/Ia32/EnableDisableInterrupts.asm |
>> 41 --
>> MdePkg/Library/BaseLib/Ia32/EnableInterrupts.asm |
>> 40 --
>> MdePkg/Library/BaseLib/Ia32/EnablePaging32.asm |
>> 57 --
>> MdePkg/Library/BaseLib/Ia32/EnablePaging64.asm |
>> 68 ---
>> MdePkg/Library/BaseLib/Ia32/FlushCacheLine.asm |
>> 55 --
>> MdePkg/Library/BaseLib/Ia32/FxRestore.asm |
>> 42 --
>> MdePkg/Library/BaseLib/Ia32/FxSave.asm |
>> 42 --
>> MdePkg/Library/BaseLib/Ia32/Invd.asm |
>> 40 --
>> MdePkg/Library/BaseLib/Ia32/LRotU64.asm |
>> 51 --
>> MdePkg/Library/BaseLib/Ia32/LShiftU64.asm |
>> 48 --
>> MdePkg/Library/BaseLib/Ia32/LongJump.asm |
>> 46 --
>> MdePkg/Library/BaseLib/Ia32/ModU64x32.asm |
>> 45 --
>> MdePkg/Library/BaseLib/Ia32/Monitor.asm |
>> 45 --
>> MdePkg/Library/BaseLib/Ia32/MultU64x32.asm |
>> 43 --
>> MdePkg/Library/BaseLib/Ia32/MultU64x64.asm |
>> 47 --
>> MdePkg/Library/BaseLib/Ia32/Mwait.asm |
>> 43 --
>> MdePkg/Library/BaseLib/Ia32/RRotU64.asm |
>> 51 --
>> MdePkg/Library/BaseLib/Ia32/RShiftU64.asm |
>> 48 --
>> MdePkg/Library/BaseLib/Ia32/RdRand.asm |
>> 94 ----
>> MdePkg/Library/BaseLib/Ia32/ReadCr0.asm |
>> 40 --
>> MdePkg/Library/BaseLib/Ia32/ReadCr2.asm |
>> 40 --
>> MdePkg/Library/BaseLib/Ia32/ReadCr3.asm |
>> 40 --
>> MdePkg/Library/BaseLib/Ia32/ReadCr4.asm |
>> 40 --
>> MdePkg/Library/BaseLib/Ia32/ReadCs.asm |
>> 40 --
>> MdePkg/Library/BaseLib/Ia32/ReadDr0.asm |
>> 40 --
>> MdePkg/Library/BaseLib/Ia32/ReadDr1.asm |
>> 40 --
>> MdePkg/Library/BaseLib/Ia32/ReadDr2.asm |
>> 40 --
>> MdePkg/Library/BaseLib/Ia32/ReadDr3.asm |
>> 40 --
>> MdePkg/Library/BaseLib/Ia32/ReadDr4.asm |
>> 47 --
>> MdePkg/Library/BaseLib/Ia32/ReadDr5.asm |
>> 47 --
>> MdePkg/Library/BaseLib/Ia32/ReadDr6.asm |
>> 40 --
>> MdePkg/Library/BaseLib/Ia32/ReadDr7.asm |
>> 40 --
>> MdePkg/Library/BaseLib/Ia32/ReadDs.asm |
>> 40 --
>> MdePkg/Library/BaseLib/Ia32/ReadEflags.asm |
>> 41 --
>> MdePkg/Library/BaseLib/Ia32/ReadEs.asm |
>> 40 --
>> MdePkg/Library/BaseLib/Ia32/ReadFs.asm |
>> 40 --
>> MdePkg/Library/BaseLib/Ia32/ReadGdtr.asm |
>> 41 --
>> MdePkg/Library/BaseLib/Ia32/ReadGs.asm |
>> 40 --
>> MdePkg/Library/BaseLib/Ia32/ReadIdtr.asm |
>> 41 --
>> MdePkg/Library/BaseLib/Ia32/ReadLdtr.asm |
>> 40 --
>> MdePkg/Library/BaseLib/Ia32/ReadMm0.asm |
>> 45 --
>> MdePkg/Library/BaseLib/Ia32/ReadMm1.asm |
>> 45 --
>> MdePkg/Library/BaseLib/Ia32/ReadMm2.asm |
>> 45 --
>> MdePkg/Library/BaseLib/Ia32/ReadMm3.asm |
>> 45 --
>> MdePkg/Library/BaseLib/Ia32/ReadMm4.asm |
>> 45 --
>> MdePkg/Library/BaseLib/Ia32/ReadMm5.asm |
>> 45 --
>> MdePkg/Library/BaseLib/Ia32/ReadMm6.asm |
>> 45 --
>> MdePkg/Library/BaseLib/Ia32/ReadMm7.asm |
>> 45 --
>> MdePkg/Library/BaseLib/Ia32/ReadMsr64.asm |
>> 41 --
>> MdePkg/Library/BaseLib/Ia32/ReadPmc.asm |
>> 41 --
>> MdePkg/Library/BaseLib/Ia32/ReadSs.asm |
>> 40 --
>> MdePkg/Library/BaseLib/Ia32/ReadTr.asm |
>> 40 --
>> MdePkg/Library/BaseLib/Ia32/ReadTsc.asm |
>> 40 --
>> MdePkg/Library/BaseLib/Ia32/SetJump.asm |
>> 51 --
>> MdePkg/Library/BaseLib/Ia32/SwapBytes64.asm |
>> 43 --
>> MdePkg/Library/BaseLib/Ia32/Thunk16.asm |
>> 260 ---------
>> MdePkg/Library/BaseLib/Ia32/Wbinvd.asm |
>> 40 --
>> MdePkg/Library/BaseLib/Ia32/WriteCr0.asm |
>> 41 --
>> MdePkg/Library/BaseLib/Ia32/WriteCr2.asm |
>> 41 --
>> MdePkg/Library/BaseLib/Ia32/WriteCr3.asm |
>> 41 --
>> MdePkg/Library/BaseLib/Ia32/WriteCr4.asm |
>> 41 --
>> MdePkg/Library/BaseLib/Ia32/WriteDr0.asm |
>> 41 --
>> MdePkg/Library/BaseLib/Ia32/WriteDr1.asm |
>> 41 --
>> MdePkg/Library/BaseLib/Ia32/WriteDr2.asm |
>> 41 --
>> MdePkg/Library/BaseLib/Ia32/WriteDr3.asm |
>> 41 --
>> MdePkg/Library/BaseLib/Ia32/WriteDr4.asm |
>> 48 --
>> MdePkg/Library/BaseLib/Ia32/WriteDr5.asm |
>> 48 --
>> MdePkg/Library/BaseLib/Ia32/WriteDr6.asm |
>> 41 --
>> MdePkg/Library/BaseLib/Ia32/WriteDr7.asm |
>> 41 --
>> MdePkg/Library/BaseLib/Ia32/WriteGdtr.asm |
>> 41 --
>> MdePkg/Library/BaseLib/Ia32/WriteIdtr.asm |
>> 44 --
>> MdePkg/Library/BaseLib/Ia32/WriteLdtr.asm |
>> 41 --
>> MdePkg/Library/BaseLib/Ia32/WriteMm0.asm |
>> 41 --
>> MdePkg/Library/BaseLib/Ia32/WriteMm1.asm |
>> 41 --
>> MdePkg/Library/BaseLib/Ia32/WriteMm2.asm |
>> 41 --
>> MdePkg/Library/BaseLib/Ia32/WriteMm3.asm |
>> 41 --
>> MdePkg/Library/BaseLib/Ia32/WriteMm4.asm |
>> 41 --
>> MdePkg/Library/BaseLib/Ia32/WriteMm5.asm |
>> 41 --
>> MdePkg/Library/BaseLib/Ia32/WriteMm6.asm |
>> 41 --
>> MdePkg/Library/BaseLib/Ia32/WriteMm7.asm |
>> 41 --
>> MdePkg/Library/BaseLib/Ia32/WriteMsr64.asm |
>> 44 --
>> MdePkg/Library/BaseLib/X64/CpuBreakpoint.asm |
>> 37 --
>> MdePkg/Library/BaseLib/X64/CpuId.asm |
>> 62 ---
>> MdePkg/Library/BaseLib/X64/CpuIdEx.asm |
>> 64 ---
>> MdePkg/Library/BaseLib/X64/CpuPause.asm |
>> 37 --
>> MdePkg/Library/BaseLib/X64/DisableCache.asm |
>> 43 --
>> MdePkg/Library/BaseLib/X64/DisableInterrupts.asm |
>> 38 --
>> MdePkg/Library/BaseLib/X64/DisablePaging64.asm |
>> 84 ---
>> MdePkg/Library/BaseLib/X64/EnableCache.asm |
>> 43 --
>> .../BaseLib/X64/EnableDisableInterrupts.asm |
>> 39 --
>> MdePkg/Library/BaseLib/X64/EnableInterrupts.asm |
>> 38 --
>> MdePkg/Library/BaseLib/X64/FlushCacheLine.asm |
>> 39 --
>> MdePkg/Library/BaseLib/X64/FxRestore.asm |
>> 38 --
>> MdePkg/Library/BaseLib/X64/FxSave.asm |
>> 38 --
>> MdePkg/Library/BaseLib/X64/Invd.asm |
>> 38 --
>> MdePkg/Library/BaseLib/X64/LongJump.asm |
>> 58 --
>> MdePkg/Library/BaseLib/X64/Monitor.asm |
>> 43 --
>> MdePkg/Library/BaseLib/X64/Mwait.asm |
>> 41 --
>> MdePkg/Library/BaseLib/X64/RdRand.asm |
>> 83 ---
>> MdePkg/Library/BaseLib/X64/ReadCr0.asm |
>> 38 --
>> MdePkg/Library/BaseLib/X64/ReadCr2.asm |
>> 38 --
>> MdePkg/Library/BaseLib/X64/ReadCr3.asm |
>> 38 --
>> MdePkg/Library/BaseLib/X64/ReadCr4.asm |
>> 38 --
>> MdePkg/Library/BaseLib/X64/ReadCs.asm |
>> 38 --
>> MdePkg/Library/BaseLib/X64/ReadDr0.asm |
>> 38 --
>> MdePkg/Library/BaseLib/X64/ReadDr1.asm |
>> 38 --
>> MdePkg/Library/BaseLib/X64/ReadDr2.asm |
>> 38 --
>> MdePkg/Library/BaseLib/X64/ReadDr3.asm |
>> 38 --
>> MdePkg/Library/BaseLib/X64/ReadDr4.asm |
>> 42 --
>> MdePkg/Library/BaseLib/X64/ReadDr5.asm |
>> 42 --
>> MdePkg/Library/BaseLib/X64/ReadDr6.asm |
>> 38 --
>> MdePkg/Library/BaseLib/X64/ReadDr7.asm |
>> 38 --
>> MdePkg/Library/BaseLib/X64/ReadDs.asm |
>> 38 --
>> MdePkg/Library/BaseLib/X64/ReadEflags.asm |
>> 39 --
>> MdePkg/Library/BaseLib/X64/ReadEs.asm |
>> 38 --
>> MdePkg/Library/BaseLib/X64/ReadFs.asm |
>> 38 --
>> MdePkg/Library/BaseLib/X64/ReadGdtr.asm |
>> 38 --
>> MdePkg/Library/BaseLib/X64/ReadGs.asm |
>> 38 --
>> MdePkg/Library/BaseLib/X64/ReadIdtr.asm |
>> 38 --
>> MdePkg/Library/BaseLib/X64/ReadLdtr.asm |
>> 38 --
>> MdePkg/Library/BaseLib/X64/ReadMm0.asm |
>> 41 --
>> MdePkg/Library/BaseLib/X64/ReadMm1.asm |
>> 41 --
>> MdePkg/Library/BaseLib/X64/ReadMm2.asm |
>> 41 --
>> MdePkg/Library/BaseLib/X64/ReadMm3.asm |
>> 41 --
>> MdePkg/Library/BaseLib/X64/ReadMm4.asm |
>> 41 --
>> MdePkg/Library/BaseLib/X64/ReadMm5.asm |
>> 41 --
>> MdePkg/Library/BaseLib/X64/ReadMm6.asm |
>> 41 --
>> MdePkg/Library/BaseLib/X64/ReadMm7.asm |
>> 41 --
>> MdePkg/Library/BaseLib/X64/ReadMsr64.asm |
>> 40 --
>> MdePkg/Library/BaseLib/X64/ReadPmc.asm |
>> 40 --
>> MdePkg/Library/BaseLib/X64/ReadSs.asm |
>> 38 --
>> MdePkg/Library/BaseLib/X64/ReadTr.asm |
>> 38 --
>> MdePkg/Library/BaseLib/X64/ReadTsc.asm |
>> 40 --
>> MdePkg/Library/BaseLib/X64/SetJump.asm |
>> 66 ---
>> MdePkg/Library/BaseLib/X64/SwitchStack.asm |
>> 51 --
>> MdePkg/Library/BaseLib/X64/Thunk16.asm |
>> 315 -----------
>> MdePkg/Library/BaseLib/X64/Wbinvd.asm |
>> 38 --
>> MdePkg/Library/BaseLib/X64/WriteCr0.asm |
>> 39 --
>> MdePkg/Library/BaseLib/X64/WriteCr2.asm |
>> 39 --
>> MdePkg/Library/BaseLib/X64/WriteCr3.asm |
>> 39 --
>> MdePkg/Library/BaseLib/X64/WriteCr4.asm |
>> 39 --
>> MdePkg/Library/BaseLib/X64/WriteDr0.asm |
>> 39 --
>> MdePkg/Library/BaseLib/X64/WriteDr1.asm |
>> 39 --
>> MdePkg/Library/BaseLib/X64/WriteDr2.asm |
>> 39 --
>> MdePkg/Library/BaseLib/X64/WriteDr3.asm |
>> 39 --
>> MdePkg/Library/BaseLib/X64/WriteDr4.asm |
>> 43 --
>> MdePkg/Library/BaseLib/X64/WriteDr5.asm |
>> 43 --
>> MdePkg/Library/BaseLib/X64/WriteDr6.asm |
>> 39 --
>> MdePkg/Library/BaseLib/X64/WriteDr7.asm |
>> 39 --
>> MdePkg/Library/BaseLib/X64/WriteGdtr.asm |
>> 38 --
>> MdePkg/Library/BaseLib/X64/WriteIdtr.asm |
>> 41 --
>> MdePkg/Library/BaseLib/X64/WriteLdtr.asm |
>> 38 --
>> MdePkg/Library/BaseLib/X64/WriteMm0.asm |
>> 41 --
>> MdePkg/Library/BaseLib/X64/WriteMm1.asm |
>> 41 --
>> MdePkg/Library/BaseLib/X64/WriteMm2.asm |
>> 41 --
>> MdePkg/Library/BaseLib/X64/WriteMm3.asm |
>> 41 --
>> MdePkg/Library/BaseLib/X64/WriteMm4.asm |
>> 41 --
>> MdePkg/Library/BaseLib/X64/WriteMm5.asm |
>> 41 --
>> MdePkg/Library/BaseLib/X64/WriteMm6.asm |
>> 41 --
>> MdePkg/Library/BaseLib/X64/WriteMm7.asm |
>> 41 --
>> MdePkg/Library/BaseLib/X64/WriteMsr64.asm |
>> 41 --
>> .../Library/BaseMemoryLibMmx/BaseMemoryLibMmx.inf |
>> 22 -
>> .../Library/BaseMemoryLibMmx/Ia32/CompareMem.asm |
>> 56 --
>> MdePkg/Library/BaseMemoryLibMmx/Ia32/CopyMem.asm |
>> 77 ---
>> MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem16.asm |
>> 55 --
>> MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem32.asm |
>> 55 --
>> MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem64.asm |
>> 64 ---
>> MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem8.asm |
>> 55 --
>> MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem.asm |
>> 70 ---
>> MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem16.asm |
>> 63 ---
>> MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem32.asm |
>> 59 --
>> MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem64.asm |
>> 50 --
>> MdePkg/Library/BaseMemoryLibMmx/Ia32/ZeroMem.asm |
>> 56 --
>> MdePkg/Library/BaseMemoryLibMmx/X64/CompareMem.asm |
>> 54 --
>> MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.asm |
>> 70 ---
>> MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem16.asm |
>> 53 --
>> MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem32.asm |
>> 53 --
>> MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem64.asm |
>> 53 --
>> MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem8.asm |
>> 53 --
>> MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.asm |
>> 58 --
>> MdePkg/Library/BaseMemoryLibMmx/X64/SetMem16.asm |
>> 57 --
>> MdePkg/Library/BaseMemoryLibMmx/X64/SetMem32.asm |
>> 53 --
>> MdePkg/Library/BaseMemoryLibMmx/X64/SetMem64.asm |
>> 46 --
>> MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.asm |
>> 54 --
>> .../BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf |
>> 22 -
>> .../BaseMemoryLibOptDxe/Ia32/CompareMem.asm |
>> 56 --
>> .../Library/BaseMemoryLibOptDxe/Ia32/CopyMem.asm |
>> 84 ---
>> .../Library/BaseMemoryLibOptDxe/Ia32/ScanMem16.asm |
>> 55 --
>> .../Library/BaseMemoryLibOptDxe/Ia32/ScanMem32.asm |
>> 55 --
>> .../Library/BaseMemoryLibOptDxe/Ia32/ScanMem64.asm |
>> 64 ---
>> .../Library/BaseMemoryLibOptDxe/Ia32/ScanMem8.asm |
>> 55 --
>> MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem.asm |
>> 53 --
>> .../Library/BaseMemoryLibOptDxe/Ia32/SetMem16.asm |
>> 45 --
>> .../Library/BaseMemoryLibOptDxe/Ia32/SetMem32.asm |
>> 45 --
>> .../Library/BaseMemoryLibOptDxe/Ia32/SetMem64.asm |
>> 49 --
>> .../Library/BaseMemoryLibOptDxe/Ia32/ZeroMem.asm |
>> 50 --
>> .../Library/BaseMemoryLibOptDxe/X64/CompareMem.asm |
>> 54 --
>> MdePkg/Library/BaseMemoryLibOptDxe/X64/CopyMem.asm |
>> 79 ---
>> .../Library/BaseMemoryLibOptDxe/X64/ScanMem16.asm |
>> 53 --
>> .../Library/BaseMemoryLibOptDxe/X64/ScanMem32.asm |
>> 53 --
>> .../Library/BaseMemoryLibOptDxe/X64/ScanMem64.asm |
>> 53 --
>> .../Library/BaseMemoryLibOptDxe/X64/ScanMem8.asm |
>> 53 --
>> MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem.asm |
>> 58 --
>> .../Library/BaseMemoryLibOptDxe/X64/SetMem16.asm |
>> 45 --
>> .../Library/BaseMemoryLibOptDxe/X64/SetMem32.asm |
>> 45 --
>> .../Library/BaseMemoryLibOptDxe/X64/SetMem64.asm |
>> 44 --
>> MdePkg/Library/BaseMemoryLibOptDxe/X64/ZeroMem.asm |
>> 48 --
>> .../BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf |
>> 22 -
>> .../BaseMemoryLibOptPei/Ia32/CompareMem.asm |
>> 56 --
>> .../Library/BaseMemoryLibOptPei/Ia32/CopyMem.asm |
>> 61 ---
>> .../Library/BaseMemoryLibOptPei/Ia32/ScanMem16.asm |
>> 55 --
>> .../Library/BaseMemoryLibOptPei/Ia32/ScanMem32.asm |
>> 55 --
>> .../Library/BaseMemoryLibOptPei/Ia32/ScanMem64.asm |
>> 64 ---
>> .../Library/BaseMemoryLibOptPei/Ia32/ScanMem8.asm |
>> 55 --
>> MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem.asm |
>> 53 --
>> .../Library/BaseMemoryLibOptPei/Ia32/SetMem16.asm |
>> 45 --
>> .../Library/BaseMemoryLibOptPei/Ia32/SetMem32.asm |
>> 45 --
>> .../Library/BaseMemoryLibOptPei/Ia32/SetMem64.asm |
>> 49 --
>> .../Library/BaseMemoryLibOptPei/Ia32/ZeroMem.asm |
>> 50 --
>> .../Library/BaseMemoryLibOptPei/X64/CompareMem.asm |
>> 54 --
>> MdePkg/Library/BaseMemoryLibOptPei/X64/CopyMem.asm |
>> 61 ---
>> .../Library/BaseMemoryLibOptPei/X64/ScanMem16.asm |
>> 53 --
>> .../Library/BaseMemoryLibOptPei/X64/ScanMem32.asm |
>> 53 --
>> .../Library/BaseMemoryLibOptPei/X64/ScanMem64.asm |
>> 53 --
>> .../Library/BaseMemoryLibOptPei/X64/ScanMem8.asm |
>> 53 --
>> MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem.asm |
>> 45 --
>> .../Library/BaseMemoryLibOptPei/X64/SetMem16.asm |
>> 44 --
>> .../Library/BaseMemoryLibOptPei/X64/SetMem32.asm |
>> 44 --
>> .../Library/BaseMemoryLibOptPei/X64/SetMem64.asm |
>> 43 --
>> MdePkg/Library/BaseMemoryLibOptPei/X64/ZeroMem.asm |
>> 47 --
>> .../BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf |
>> 22 -
>> .../BaseMemoryLibRepStr/Ia32/CompareMem.asm |
>> 56 --
>> .../Library/BaseMemoryLibRepStr/Ia32/CopyMem.asm |
>> 63 ---
>> .../Library/BaseMemoryLibRepStr/Ia32/ScanMem16.asm |
>> 57 --
>> .../Library/BaseMemoryLibRepStr/Ia32/ScanMem32.asm |
>> 57 --
>> .../Library/BaseMemoryLibRepStr/Ia32/ScanMem64.asm |
>> 66 ---
>> .../Library/BaseMemoryLibRepStr/Ia32/ScanMem8.asm |
>> 57 --
>> MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem.asm |
>> 45 --
>> .../Library/BaseMemoryLibRepStr/Ia32/SetMem16.asm |
>> 45 --
>> .../Library/BaseMemoryLibRepStr/Ia32/SetMem32.asm |
>> 45 --
>> .../Library/BaseMemoryLibRepStr/Ia32/SetMem64.asm |
>> 49 --
>> .../Library/BaseMemoryLibRepStr/Ia32/ZeroMem.asm |
>> 50 --
>> .../Library/BaseMemoryLibRepStr/X64/CompareMem.asm |
>> 54 --
>> MdePkg/Library/BaseMemoryLibRepStr/X64/CopyMem.asm |
>> 61 ---
>> .../Library/BaseMemoryLibRepStr/X64/ScanMem16.asm |
>> 53 --
>> .../Library/BaseMemoryLibRepStr/X64/ScanMem32.asm |
>> 53 --
>> .../Library/BaseMemoryLibRepStr/X64/ScanMem64.asm |
>> 53 --
>> .../Library/BaseMemoryLibRepStr/X64/ScanMem8.asm |
>> 53 --
>> MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem.asm |
>> 44 --
>> .../Library/BaseMemoryLibRepStr/X64/SetMem16.asm |
>> 44 --
>> .../Library/BaseMemoryLibRepStr/X64/SetMem32.asm |
>> 44 --
>> .../Library/BaseMemoryLibRepStr/X64/SetMem64.asm |
>> 43 --
>> MdePkg/Library/BaseMemoryLibRepStr/X64/ZeroMem.asm |
>> 47 --
>> .../BaseMemoryLibSse2/BaseMemoryLibSse2.inf |
>> 22 -
>> .../Library/BaseMemoryLibSse2/Ia32/CompareMem.asm |
>> 56 --
>> MdePkg/Library/BaseMemoryLibSse2/Ia32/CopyMem.asm |
>> 84 ---
>> .../Library/BaseMemoryLibSse2/Ia32/ScanMem16.asm |
>> 55 --
>> .../Library/BaseMemoryLibSse2/Ia32/ScanMem32.asm |
>> 55 --
>> .../Library/BaseMemoryLibSse2/Ia32/ScanMem64.asm |
>> 64 ---
>> MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem8.asm |
>> 55 --
>> MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem.asm |
>> 75 ---
>> MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem16.asm |
>> 71 ---
>> MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem32.asm |
>> 70 ---
>> MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem64.asm |
>> 64 ---
>> MdePkg/Library/BaseMemoryLibSse2/Ia32/ZeroMem.asm |
>> 67 ---
>> .../Library/BaseMemoryLibSse2/X64/CompareMem.asm |
>> 54 --
>> MdePkg/Library/BaseMemoryLibSse2/X64/CopyMem.asm |
>> 79 ---
>> MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem16.asm |
>> 53 --
>> MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem32.asm |
>> 53 --
>> MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem64.asm |
>> 53 --
>> MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem8.asm |
>> 53 --
>> MdePkg/Library/BaseMemoryLibSse2/X64/SetMem.asm |
>> 69 ---
>> MdePkg/Library/BaseMemoryLibSse2/X64/SetMem16.asm |
>> 67 ---
>> MdePkg/Library/BaseMemoryLibSse2/X64/SetMem32.asm |
>> 66 ---
>> MdePkg/Library/BaseMemoryLibSse2/X64/SetMem64.asm |
>> 59 --
>> MdePkg/Library/BaseMemoryLibSse2/X64/ZeroMem.asm |
>> 63 ---
>> .../BaseSynchronizationLib.inf |
>> 10 -
>> .../Ia32/InterlockedCompareExchange16.asm |
>> 46 --
>> .../Ia32/InterlockedCompareExchange32.asm |
>> 45 --
>> .../Ia32/InterlockedCompareExchange64.asm |
>> 47 --
>> .../Ia32/InterlockedDecrement.asm |
>> 42 --
>> .../Ia32/InterlockedIncrement.asm |
>> 42 --
>> .../X64/InterlockedCompareExchange16.asm |
>> 42 --
>> .../X64/InterlockedCompareExchange32.asm |
>> 41 --
>> .../X64/InterlockedCompareExchange64.asm |
>> 41 --
>> .../X64/InterlockedDecrement.asm |
>> 39 --
>> .../X64/InterlockedIncrement.asm |
>> 39 --
>> .../DebugAgent/DebugAgentCommon/Ia32/AsmFuncs.asm |
>> 422 ---------------
>> .../DebugAgent/DebugAgentCommon/X64/AsmFuncs.asm |
>> 405 --------------
>> .../Library/DebugAgent/DxeDebugAgentLib.inf |
>> 2 -
>> .../Library/DebugAgent/SecPeiDebugAgentLib.inf |
>> 2 -
>> .../Library/DebugAgent/SmmDebugAgentLib.inf |
>> 2 -
>> .../PeCoffExtraActionLibDebug/Ia32/IntHandler.asm |
>> 33 --
>> .../PeCoffExtraActionLibDebug.inf |
>> 2 -
>> .../PeCoffExtraActionLibDebug/X64/IntHandler.asm |
>> 29 -
>> UefiCpuPkg/CpuDxe/CpuDxe.inf |
>> 4 -
>> UefiCpuPkg/CpuDxe/Ia32/CpuAsm.S |
>> 57 --
>> UefiCpuPkg/CpuDxe/Ia32/CpuAsm.asm |
>> 58 --
>> UefiCpuPkg/CpuDxe/X64/CpuAsm.S |
>> 60 ---
>> UefiCpuPkg/CpuDxe/X64/CpuAsm.asm |
>> 54 --
>> .../Library/BaseUefiCpuLib/BaseUefiCpuLib.inf |
>> 2 -
>> .../Library/BaseUefiCpuLib/Ia32/InitializeFpu.asm |
>> 79 ---
>> .../Library/BaseUefiCpuLib/X64/InitializeFpu.asm |
>> 62 ---
>> .../DxeCpuExceptionHandlerLib.inf |
>> 2 -
>> .../Ia32/ExceptionHandlerAsm.asm |
>> 467 ----------------
>> .../PeiCpuExceptionHandlerLib.inf |
>> 2 -
>> .../SecPeiCpuExceptionHandlerLib.inf |
>> 2 -
>> .../SmmCpuExceptionHandlerLib.inf |
>> 2 -
>> .../X64/ExceptionHandlerAsm.asm |
>> 389 --------------
>> .../Library/SmmCpuFeaturesLib/Ia32/SmiEntry.asm |
>> 285 ----------
>> .../SmmCpuFeaturesLib/Ia32/SmiException.asm |
>> 175 ------
>> .../SmmCpuFeaturesLib/SmmCpuFeaturesLibStm.inf |
>> 4 -
>> .../Library/SmmCpuFeaturesLib/X64/SmiEntry.asm |
>> 281 ----------
>> .../Library/SmmCpuFeaturesLib/X64/SmiException.asm |
>> 178 ------
>> .../Universal/Acpi/S3Resume2Pei/Ia32/AsmFuncs.S |
>> 38 --
>> .../Universal/Acpi/S3Resume2Pei/Ia32/AsmFuncs.asm |
>> 45 --
>> .../Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf |
>> 4 -
>> .../Universal/Acpi/S3Resume2Pei/X64/AsmFuncs.S |
>> 37 --
>> .../Universal/Acpi/S3Resume2Pei/X64/AsmFuncs.asm |
>> 41 --
>> 367 files changed, 22383 deletions(-)
>> delete mode 100644
>> IntelFrameworkModulePkg/Csm/LegacyBiosDxe/IA32/Interrupt
>> Table.S
>> delete mode 100644
>> IntelFrameworkModulePkg/Csm/LegacyBiosDxe/IA32/Interrupt
>> Table.asm
>> delete mode 100644
>> IntelFrameworkModulePkg/Csm/LegacyBiosDxe/X64/InterruptT
>> able.S
>> delete mode 100644
>> IntelFrameworkModulePkg/Csm/LegacyBiosDxe/X64/InterruptT
>> able.asm
>> delete mode 100644
>> MdeModulePkg/Core/DxeIplPeim/Ia32/IdtVectorAsm.S
>> delete mode 100644
>> MdeModulePkg/Core/DxeIplPeim/Ia32/IdtVectorAsm.asm
>> delete mode 100644
>> MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/IA32/S
>> 3Asm.S
>> delete mode 100644
>> MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/IA32/S
>> 3Asm.asm
>> delete mode 100644
>> MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/S3
>> Asm.S
>> delete mode 100644
>> MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/S3
>> Asm.asm
>> delete mode 100644
>> MdeModulePkg/Universal/CapsulePei/X64/PageFaultHandler.S
>> delete mode 100644
>> MdeModulePkg/Universal/CapsulePei/X64/PageFaultHandler.a
>> sm
>> delete mode 100644
>> MdeModulePkg/Universal/DebugSupportDxe/Ia32/AsmFuncs.S
>> delete mode 100644
>> MdeModulePkg/Universal/DebugSupportDxe/Ia32/AsmFuncs.asm
>> delete mode 100644
>> MdeModulePkg/Universal/DebugSupportDxe/X64/AsmFuncs.S
>> delete mode 100644
>> MdeModulePkg/Universal/DebugSupportDxe/X64/AsmFuncs.asm
>> delete mode 100644
>> MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.S
>> delete mode 100644
>> MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.asm
>> delete mode 100644
>> MdeModulePkg/Universal/EbcDxe/X64/EbcLowLevel.S
>> delete mode 100644
>> MdeModulePkg/Universal/EbcDxe/X64/EbcLowLevel.asm
>> delete mode 100644
>> MdePkg/Library/BaseCpuLib/Ia32/CpuFlushTlb.asm
>> delete mode 100644
>> MdePkg/Library/BaseCpuLib/Ia32/CpuSleep.asm
>> delete mode 100644
>> MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.asm
>> delete mode 100644
>> MdePkg/Library/BaseCpuLib/X64/CpuSleep.asm
>> delete mode 100644
>> MdePkg/Library/BaseIoLibIntrinsic/Ia32/IoFifo.asm
>> delete mode 100644
>> MdePkg/Library/BaseIoLibIntrinsic/X64/IoFifo.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ARShiftU64.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/CpuBreakpoint.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/CpuId.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/CpuIdEx.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/CpuPause.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/DisableCache.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/DisableInterrupts.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/DisablePaging32.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/DivU64x32.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/DivU64x32Remainder.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/DivU64x64Remainder.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/EnableCache.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/EnableDisableInterrupts.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/EnableInterrupts.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/EnablePaging32.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/EnablePaging64.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/FlushCacheLine.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/FxRestore.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/FxSave.asm
>> delete mode 100644 MdePkg/Library/BaseLib/Ia32/Invd.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/LRotU64.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/LShiftU64.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/LongJump.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ModU64x32.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/Monitor.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/MultU64x32.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/MultU64x64.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/Mwait.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/RRotU64.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/RShiftU64.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/RdRand.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadCr0.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadCr2.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadCr3.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadCr4.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadCs.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadDr0.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadDr1.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadDr2.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadDr3.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadDr4.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadDr5.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadDr6.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadDr7.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadDs.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadEflags.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadEs.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadFs.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadGdtr.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadGs.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadIdtr.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadLdtr.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadMm0.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadMm1.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadMm2.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadMm3.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadMm4.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadMm5.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadMm6.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadMm7.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadMsr64.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadPmc.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadSs.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadTr.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/ReadTsc.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/SetJump.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/SwapBytes64.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/Thunk16.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/Wbinvd.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/WriteCr0.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/WriteCr2.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/WriteCr3.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/WriteCr4.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/WriteDr0.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/WriteDr1.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/WriteDr2.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/WriteDr3.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/WriteDr4.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/WriteDr5.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/WriteDr6.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/WriteDr7.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/WriteGdtr.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/WriteIdtr.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/WriteLdtr.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/WriteMm0.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/WriteMm1.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/WriteMm2.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/WriteMm3.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/WriteMm4.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/WriteMm5.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/WriteMm6.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/WriteMm7.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/Ia32/WriteMsr64.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/CpuBreakpoint.asm
>> delete mode 100644 MdePkg/Library/BaseLib/X64/CpuId.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/CpuIdEx.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/CpuPause.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/DisableCache.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/DisableInterrupts.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/DisablePaging64.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/EnableCache.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/EnableDisableInterrupts.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/EnableInterrupts.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/FlushCacheLine.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/FxRestore.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/FxSave.asm
>> delete mode 100644 MdePkg/Library/BaseLib/X64/Invd.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/LongJump.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/Monitor.asm
>> delete mode 100644 MdePkg/Library/BaseLib/X64/Mwait.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/RdRand.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadCr0.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadCr2.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadCr3.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadCr4.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadCs.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadDr0.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadDr1.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadDr2.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadDr3.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadDr4.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadDr5.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadDr6.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadDr7.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadDs.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadEflags.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadEs.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadFs.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadGdtr.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadGs.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadIdtr.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadLdtr.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadMm0.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadMm1.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadMm2.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadMm3.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadMm4.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadMm5.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadMm6.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadMm7.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadMsr64.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadPmc.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadSs.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadTr.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/ReadTsc.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/SetJump.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/SwitchStack.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/Thunk16.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/Wbinvd.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/WriteCr0.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/WriteCr2.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/WriteCr3.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/WriteCr4.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/WriteDr0.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/WriteDr1.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/WriteDr2.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/WriteDr3.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/WriteDr4.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/WriteDr5.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/WriteDr6.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/WriteDr7.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/WriteGdtr.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/WriteIdtr.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/WriteLdtr.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/WriteMm0.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/WriteMm1.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/WriteMm2.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/WriteMm3.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/WriteMm4.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/WriteMm5.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/WriteMm6.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/WriteMm7.asm
>> delete mode 100644
>> MdePkg/Library/BaseLib/X64/WriteMsr64.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibMmx/Ia32/CompareMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibMmx/Ia32/CopyMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem16.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem32.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem64.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem8.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem16.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem32.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem64.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibMmx/Ia32/ZeroMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibMmx/X64/CompareMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem16.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem32.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem64.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem8.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibMmx/X64/SetMem16.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibMmx/X64/SetMem32.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibMmx/X64/SetMem64.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CompareMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CopyMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem16.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem32.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem64.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem8.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem16.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem32.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem64.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ZeroMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptDxe/X64/CompareMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptDxe/X64/CopyMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem16.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem32.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem64.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem8.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem16.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem32.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem64.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptDxe/X64/ZeroMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptPei/Ia32/CompareMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptPei/Ia32/CopyMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem16.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem32.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem64.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem8.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem16.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem32.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem64.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptPei/Ia32/ZeroMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptPei/X64/CompareMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptPei/X64/CopyMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem16.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem32.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem64.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem8.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem16.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem32.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem64.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibOptPei/X64/ZeroMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibRepStr/Ia32/CompareMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibRepStr/Ia32/CopyMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem16.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem32.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem64.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem8.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem16.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem32.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem64.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibRepStr/Ia32/ZeroMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibRepStr/X64/CompareMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibRepStr/X64/CopyMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem16.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem32.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem64.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem8.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem16.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem32.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem64.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibRepStr/X64/ZeroMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibSse2/Ia32/CompareMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibSse2/Ia32/CopyMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem16.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem32.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem64.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem8.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem16.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem32.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem64.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibSse2/Ia32/ZeroMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibSse2/X64/CompareMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibSse2/X64/CopyMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem16.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem32.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem64.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem8.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibSse2/X64/SetMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibSse2/X64/SetMem16.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibSse2/X64/SetMem32.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibSse2/X64/SetMem64.asm
>> delete mode 100644
>> MdePkg/Library/BaseMemoryLibSse2/X64/ZeroMem.asm
>> delete mode 100644
>> MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedCo
>> mpareExchange16.asm
>> delete mode 100644
>> MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedCo
>> mpareExchange32.asm
>> delete mode 100644
>> MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedCo
>> mpareExchange64.asm
>> delete mode 100644
>> MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedDe
>> crement.asm
>> delete mode 100644
>> MdePkg/Library/BaseSynchronizationLib/Ia32/InterlockedIn
>> crement.asm
>> delete mode 100644
>> MdePkg/Library/BaseSynchronizationLib/X64/InterlockedCom
>> pareExchange16.asm
>> delete mode 100644
>> MdePkg/Library/BaseSynchronizationLib/X64/InterlockedCom
>> pareExchange32.asm
>> delete mode 100644
>> MdePkg/Library/BaseSynchronizationLib/X64/InterlockedCom
>> pareExchange64.asm
>> delete mode 100644
>> MdePkg/Library/BaseSynchronizationLib/X64/InterlockedDec
>> rement.asm
>> delete mode 100644
>> MdePkg/Library/BaseSynchronizationLib/X64/InterlockedInc
>> rement.asm
>> delete mode 100644
>> SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/
>> Ia32/AsmFuncs.asm
>> delete mode 100644
>> SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/
>> X64/AsmFuncs.asm
>> delete mode 100644
>> SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/Ia
>> 32/IntHandler.asm
>> delete mode 100644
>> SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/X6
>> 4/IntHandler.asm
>> delete mode 100644 UefiCpuPkg/CpuDxe/Ia32/CpuAsm.S
>> delete mode 100644 UefiCpuPkg/CpuDxe/Ia32/CpuAsm.asm
>> delete mode 100644 UefiCpuPkg/CpuDxe/X64/CpuAsm.S
>> delete mode 100644 UefiCpuPkg/CpuDxe/X64/CpuAsm.asm
>> delete mode 100644
>> UefiCpuPkg/Library/BaseUefiCpuLib/Ia32/InitializeFpu.asm
>> delete mode 100644
>> UefiCpuPkg/Library/BaseUefiCpuLib/X64/InitializeFpu.asm
>> delete mode 100644
>> UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32/Exception
>> HandlerAsm.asm
>> delete mode 100644
>> UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ExceptionH
>> andlerAsm.asm
>> delete mode 100644
>> UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiEntry.asm
>> delete mode 100644
>> UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiException.a
>> sm
>> delete mode 100644
>> UefiCpuPkg/Library/SmmCpuFeaturesLib/X64/SmiEntry.asm
>> delete mode 100644
>> UefiCpuPkg/Library/SmmCpuFeaturesLib/X64/SmiException.as
>> m
>> delete mode 100644
>> UefiCpuPkg/Universal/Acpi/S3Resume2Pei/Ia32/AsmFuncs.S
>> delete mode 100644
>> UefiCpuPkg/Universal/Acpi/S3Resume2Pei/Ia32/AsmFuncs.asm
>> delete mode 100644
>> UefiCpuPkg/Universal/Acpi/S3Resume2Pei/X64/AsmFuncs.S
>> delete mode 100644
>> UefiCpuPkg/Universal/Acpi/S3Resume2Pei/X64/AsmFuncs.asm
>>
>> --
>> 2.8.0.windows.1
>>
>> _______________________________________________
>> edk2-devel mailing list
>> edk2-devel@lists.01.org
>> https://lists.01.org/mailman/listinfo/edk2-devel
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2018-05-29 4:25 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-05-13 14:31 [Patch 0/5] Remove X86 ASM and S files Liming Gao
2018-05-13 14:31 ` [Patch 1/5] IntelFrameworkModulePkg: " Liming Gao
2018-05-13 14:31 ` [Patch 2/5] MdeModulePkg: " Liming Gao
2018-05-13 14:31 ` [Patch 3/5] MdePkg: " Liming Gao
2018-05-13 14:31 ` [Patch 4/5] SourceLevelDebugPkg: " Liming Gao
2018-05-13 14:31 ` [Patch 5/5] UefiCpuPkg: " Liming Gao
2018-05-13 18:40 ` Laszlo Ersek
2018-05-14 13:02 ` Gao, Liming
2018-05-15 6:02 ` Dong, Eric
2018-05-29 0:41 ` [Patch 0/5] " Kinney, Michael D
2018-05-29 1:43 ` Gao, Liming
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox