Commit Graph

1724 Commits

Author SHA1 Message Date
Hao Wu 102b4c7cdd MdePkg BaseMemoryLibSse2: Add SSE2 implementation of API IsZeroBuffer()
Add the implementation of API IsZeroBuffer() via assembly in
BaseMemoryLibSse2.

The assembly codes use SSE2 XMM registers and related instructions.

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2016-08-22 18:54:31 +08:00
Hao Wu 02b5cf7fb1 MdePkg BaseMemoryLib: Add assembly implementation of API IsZeroBuffer()
Add the implementation of API IsZeroBuffer() via assembly for the
following library instances:
BaseMemoryLibMmx
BaseMemoryLibOptDxe
BaseMemoryLibOptPei
BaseMemoryLibRepStr

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2016-08-22 18:54:31 +08:00
Hao Wu 1944b02b03 MdePkg BaseMemoryLib: Add C implementation of API IsZeroBuffer()
Add the implementation of API IsZeroBuffer() via C language for the
following library instances:
BaseMemoryLib
PeiMemoryLib
UefiMemoryLib

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2016-08-22 18:54:30 +08:00
Hao Wu 313831d933 MdePkg BaseMemoryLib: Add implementation of API IsZeroGuid()
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2016-08-22 18:54:29 +08:00
Ruiyu Ni 54b1e0ec81 MdePkg: Enhance PathRemoveLastItem() to support "FS0:File.txt"
The original implementation only looks for very last backslash
and removes the string after that.
But when the path is like "FS0:File.txt" which doesn't contain
backslash, the function cannot work well.
The patch enhances the code to look for very last backslash or
colon to support the path which doesn't contain backslash.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Tapan Shah <tapandshah@hpe.com>
2016-08-10 10:17:11 +08:00
Liming Gao 8e2de23752 MdePkg PeiDxePostCodeLibReportStatusCode: Correct files with CRLF line ending
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
2016-07-29 09:18:12 +08:00
Liming Gao 6596018924 MdePkg BaseLib: Add the missing nasm source file InternalSwitchStack.nasm
BaseLib Ia32 InternalSwitchStack.S has no matched InternalSwitchStack.nasm.
Use ObjDump to verify the output object files be same.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
2016-07-20 13:24:30 +08:00
Jeff Fan 52f5bd2669 MdePkg/BaseSynchronizationLib: spin lock alignment is 32 at least
Some processor may return small cache line size, we should return 32 bytes at
least for spin lock alignment.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Michael Kinney <michael.d.kinney@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
2016-07-14 09:52:39 +08:00
Liming Gao 7e08bace8c MdePkg BaseLib: Convert Ia32/DisablePaging32.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/DisablePaging32.asm to Ia32/DisablePaging32.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:52 +08:00
Jordan Justen ce61e2a5a7 MdePkg BaseSynchronizationLib: Convert X64/InterlockedIncrement.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/InterlockedIncrement.asm to X64/InterlockedIncrement.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:51 +08:00
Jordan Justen 824415d073 MdePkg BaseSynchronizationLib: Convert X64/InterlockedDecrement.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/InterlockedDecrement.asm to X64/InterlockedDecrement.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:51 +08:00
Jordan Justen a04618e68e MdePkg BaseSynchronizationLib: Convert X64/InterlockedCompareExchange16.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/InterlockedCompareExchange16.asm to X64/InterlockedCompareExchange16.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:50 +08:00
Jordan Justen ad00b0f290 MdePkg BaseSynchronizationLib: Convert X64/InterlockedCompareExchange32.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/InterlockedCompareExchange32.asm to X64/InterlockedCompareExchange32.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:49 +08:00
Jordan Justen e5f458f029 MdePkg BaseSynchronizationLib: Convert X64/InterlockedCompareExchange64.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/InterlockedCompareExchange64.asm to X64/InterlockedCompareExchange64.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:49 +08:00
Jordan Justen 9d72056297 MdePkg BaseSynchronizationLib: Convert Ia32/InterlockedIncrement.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/InterlockedIncrement.asm to Ia32/InterlockedIncrement.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:48 +08:00
Jordan Justen 8605247f65 MdePkg BaseSynchronizationLib: Convert Ia32/InterlockedDecrement.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/InterlockedDecrement.asm to Ia32/InterlockedDecrement.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:47 +08:00
Jordan Justen 0b45f69131 MdePkg BaseSynchronizationLib: Convert Ia32/InterlockedCompareExchange16.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/InterlockedCompareExchange16.asm to Ia32/InterlockedCompareExchange16.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:47 +08:00
Jordan Justen 20ddf988e4 MdePkg BaseSynchronizationLib: Convert Ia32/InterlockedCompareExchange32.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/InterlockedCompareExchange32.asm to Ia32/InterlockedCompareExchange32.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:46 +08:00
Jordan Justen 5a59c50e53 MdePkg BaseSynchronizationLib: Convert Ia32/InterlockedCompareExchange64.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/InterlockedCompareExchange64.asm to Ia32/InterlockedCompareExchange64.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:45 +08:00
Jordan Justen 0f56da972f MdePkg BaseCpuLib: Convert X64/CpuSleep.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/CpuSleep.asm to X64/CpuSleep.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:45 +08:00
Jordan Justen 10422bd691 MdePkg BaseCpuLib: Convert X64/CpuFlushTlb.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/CpuFlushTlb.asm to X64/CpuFlushTlb.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:44 +08:00
Jordan Justen 68562b45e9 MdePkg BaseCpuLib: Convert Ia32/CpuFlushTlb.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/CpuFlushTlb.asm to Ia32/CpuFlushTlb.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:43 +08:00
Jordan Justen e639ea6af2 MdePkg BaseCpuLib: Convert Ia32/CpuSleep.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/CpuSleep.asm to Ia32/CpuSleep.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:43 +08:00
Jordan Justen 9987eaeab9 MdePkg BaseMemoryLibSse2: Convert X64/CopyMem.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/CopyMem.asm to X64/CopyMem.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:42 +08:00
Jordan Justen e8758b6af0 MdePkg BaseMemoryLibSse2: Convert X64/SetMem.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/SetMem.asm to X64/SetMem.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:41 +08:00
Jordan Justen e53526ca99 MdePkg BaseMemoryLibSse2: Convert X64/SetMem16.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/SetMem16.asm to X64/SetMem16.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:40 +08:00
Jordan Justen 1380b8d060 MdePkg BaseMemoryLibSse2: Convert X64/SetMem32.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/SetMem32.asm to X64/SetMem32.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:39 +08:00
Jordan Justen 58be35c11e MdePkg BaseMemoryLibSse2: Convert X64/SetMem64.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/SetMem64.asm to X64/SetMem64.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:39 +08:00
Jordan Justen 41a275ba49 MdePkg BaseMemoryLibSse2: Convert X64/ZeroMem.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/ZeroMem.asm to X64/ZeroMem.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:38 +08:00
Jordan Justen c2f1f3b221 MdePkg BaseMemoryLibSse2: Convert X64/CompareMem.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/CompareMem.asm to X64/CompareMem.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:38 +08:00
Jordan Justen 90063aa167 MdePkg BaseMemoryLibSse2: Convert X64/ScanMem8.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/ScanMem8.asm to X64/ScanMem8.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:37 +08:00
Jordan Justen 01da574a1e MdePkg BaseMemoryLibSse2: Convert X64/ScanMem16.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/ScanMem16.asm to X64/ScanMem16.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:36 +08:00
Jordan Justen 171d6ce114 MdePkg BaseMemoryLibSse2: Convert X64/ScanMem32.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/ScanMem32.asm to X64/ScanMem32.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:36 +08:00
Jordan Justen 5f4eb69490 MdePkg BaseMemoryLibSse2: Convert X64/ScanMem64.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/ScanMem64.asm to X64/ScanMem64.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:35 +08:00
Jordan Justen 733c293541 MdePkg BaseMemoryLibSse2: Convert Ia32/CopyMem.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/CopyMem.asm to Ia32/CopyMem.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:34 +08:00
Jordan Justen 861b36d34f MdePkg BaseMemoryLibSse2: Convert Ia32/SetMem.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/SetMem.asm to Ia32/SetMem.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:34 +08:00
Jordan Justen 39a993ff38 MdePkg BaseMemoryLibSse2: Convert Ia32/SetMem16.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/SetMem16.asm to Ia32/SetMem16.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:33 +08:00
Jordan Justen ff3ca56981 MdePkg BaseMemoryLibSse2: Convert Ia32/SetMem32.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/SetMem32.asm to Ia32/SetMem32.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:32 +08:00
Jordan Justen dabe650016 MdePkg BaseMemoryLibSse2: Convert Ia32/SetMem64.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/SetMem64.asm to Ia32/SetMem64.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:31 +08:00
Jordan Justen 37968f4006 MdePkg BaseMemoryLibSse2: Convert Ia32/ZeroMem.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/ZeroMem.asm to Ia32/ZeroMem.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:31 +08:00
Jordan Justen 2ee36c26b5 MdePkg BaseMemoryLibSse2: Convert Ia32/CompareMem.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/CompareMem.asm to Ia32/CompareMem.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:30 +08:00
Jordan Justen 77ae4157ab MdePkg BaseMemoryLibSse2: Convert Ia32/ScanMem8.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/ScanMem8.asm to Ia32/ScanMem8.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:29 +08:00
Jordan Justen 4b6f1d621b MdePkg BaseMemoryLibSse2: Convert Ia32/ScanMem16.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/ScanMem16.asm to Ia32/ScanMem16.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:28 +08:00
Jordan Justen 78a0563e2a MdePkg BaseMemoryLibSse2: Convert Ia32/ScanMem32.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/ScanMem32.asm to Ia32/ScanMem32.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:28 +08:00
Jordan Justen 99138cf97e MdePkg BaseMemoryLibSse2: Convert Ia32/ScanMem64.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/ScanMem64.asm to Ia32/ScanMem64.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:27 +08:00
Jordan Justen e74c17e389 MdePkg BaseMemoryLibRepStr: Convert X64/CopyMem.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/CopyMem.asm to X64/CopyMem.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:26 +08:00
Jordan Justen dbd4324563 MdePkg BaseMemoryLibRepStr: Convert X64/SetMem.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/SetMem.asm to X64/SetMem.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:26 +08:00
Jordan Justen 8f992358cb MdePkg BaseMemoryLibRepStr: Convert X64/SetMem16.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/SetMem16.asm to X64/SetMem16.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:25 +08:00
Jordan Justen 90b2daaa98 MdePkg BaseMemoryLibRepStr: Convert X64/SetMem32.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/SetMem32.asm to X64/SetMem32.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:24 +08:00
Jordan Justen 152c2d874c MdePkg BaseMemoryLibRepStr: Convert X64/SetMem64.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
X64/SetMem64.asm to X64/SetMem64.nasm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-06-28 09:51:24 +08:00