diff options
Diffstat (limited to 'MdePkg')
-rw-r--r-- | MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem.S | 10 | ||||
-rw-r--r-- | MdePkg/Library/BaseMemoryLibOptPei/Ia32/CopyMem.S | 2 | ||||
-rw-r--r-- | MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem.S | 14 | ||||
-rw-r--r-- | MdePkg/Library/CpuLib/Ebc/CpuSleepFlushTlb.c | 3 | ||||
-rw-r--r-- | MdePkg/MdePkg.dsc | 4 |
5 files changed, 19 insertions, 14 deletions
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem.S b/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem.S index 406a8f8d1a..c46fde6439 100644 --- a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem.S +++ b/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem.S @@ -37,15 +37,15 @@ _InternalMemSetMem: push %edi movl 12(%esp),%ecx - movl 16(%esp),%al + movb 16(%esp),%al movb %ah, %al
- shrd %edx, %eax, $16
- shld %eax, %edx, $16
+ shrd $16, %eax, %edx + shld $16, %edx, %eax movl %edx, %ecx
movl 8(%esp),%edi - shr $2, %ecx
+ shrd $2, %ecx, %ecx
rep
- stosd
+ stosl
movl %ecx, %edx
andl $3, %ecx
rep diff --git a/MdePkg/Library/BaseMemoryLibOptPei/Ia32/CopyMem.S b/MdePkg/Library/BaseMemoryLibOptPei/Ia32/CopyMem.S index 4b59dbc200..6f19826956 100644 --- a/MdePkg/Library/BaseMemoryLibOptPei/Ia32/CopyMem.S +++ b/MdePkg/Library/BaseMemoryLibOptPei/Ia32/CopyMem.S @@ -40,7 +40,7 @@ _InternalMemCopyMem: movl 20(%esp), %edx # edx <- Count cmpl %esi, %edi
je L_CopyDone
- cmpl %edx, $0
+ cmpl $0, %edx je L_CopyDone
leal -1(%esi, %edx), %eax # eax <- End of Source cmpl %esi, %edi
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem.S b/MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem.S index 406a8f8d1a..aa803ca580 100644 --- a/MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem.S +++ b/MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem.S @@ -37,18 +37,18 @@ _InternalMemSetMem: push %edi movl 12(%esp),%ecx - movl 16(%esp),%al + movb 16(%esp),%al movb %ah, %al
- shrd %edx, %eax, $16
- shld %eax, %edx, $16
+ shrd $16, %eax, %edx + shld $16, %edx, %eax movl %edx, %ecx
movl 8(%esp),%edi - shr $2, %ecx
- rep
- stosd
+ shrd $2, %ecx, %ecx
+ rep
+ stosl
movl %ecx, %edx
andl $3, %ecx
- rep + rep stosb movl 8(%esp),%eax pop %edi diff --git a/MdePkg/Library/CpuLib/Ebc/CpuSleepFlushTlb.c b/MdePkg/Library/CpuLib/Ebc/CpuSleepFlushTlb.c index f249d1a692..5f9cdc5744 100644 --- a/MdePkg/Library/CpuLib/Ebc/CpuSleepFlushTlb.c +++ b/MdePkg/Library/CpuLib/Ebc/CpuSleepFlushTlb.c @@ -11,7 +11,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/
-
+#include <Base.h>
+#include <Library/DebugLib.h>
/**
Flushes all the Translation Lookaside Buffers(TLB) entries in a CPU.
diff --git a/MdePkg/MdePkg.dsc b/MdePkg/MdePkg.dsc index 278fc3750f..696950b389 100644 --- a/MdePkg/MdePkg.dsc +++ b/MdePkg/MdePkg.dsc @@ -108,6 +108,8 @@ MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
[Components.IA32]
+ MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf
+ MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.inf
MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx.inf
@@ -116,6 +118,8 @@ MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
[Components.X64]
+ MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf
+ MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.inf
MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx.inf
|