[edk2-devel] [PATCH 1/1] UefiCpuPkg/PiSmmCpuDxeSmm: Add check for pointer Pml5Entry

2019-07-30 Thread Zhang, Shenglei
The pointer Pml5Entry, returned from call to function
AllocatePageTableMemory, may be null.
So add check for it.

Cc: Eric Dong 
Cc: Ray Ni 
Cc: Laszlo Ersek 
Signed-off-by: Shenglei Zhang 
---
 UefiCpuPkg/PiSmmCpuDxeSmm/X64/PageTbl.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/X64/PageTbl.c 
b/UefiCpuPkg/PiSmmCpuDxeSmm/X64/PageTbl.c
index a3b62f778741..d7af3b6d7941 100644
--- a/UefiCpuPkg/PiSmmCpuDxeSmm/X64/PageTbl.c
+++ b/UefiCpuPkg/PiSmmCpuDxeSmm/X64/PageTbl.c
@@ -375,6 +375,7 @@ SmmInitPageTable (
 // Fill PML5 entry
 //
 Pml5Entry = (UINT64*)AllocatePageTableMemory (1);
+ASSERT (Pml5Entry != NULL);
 *Pml5Entry = (UINTN) Pml4Entry | mAddressEncMask | PAGE_ATTRIBUTE_BITS;
 ZeroMem (Pml5Entry + 1, EFI_PAGE_SIZE - sizeof (*Pml5Entry));
 //
-- 
2.18.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#44664): https://edk2.groups.io/g/devel/message/44664
Mute This Topic: https://groups.io/mt/32662314/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2] [PATCH 0/2] Remove ICC tool chain

2019-04-03 Thread Shenglei Zhang
There is no Intel complier test. So suggest to remove ICC
tool chain from tools_def.template. And also IoLibIcc.c
in MdePkg should update to be removed.
https://bugzilla.tianocore.org/show_bug.cgi?id=1666

Cc: Michael D Kinney 
Cc: Bob Feng 
Cc: Liming Gao 
Cc: Yonghong Zhu 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
Shenglei Zhang (2):
  MdePkg/BaseIoLibIntrinsic: Remove IoLibIcc.c
  BaseTools: Remove ICC tool chain in tools_def.template

 BaseTools/Conf/tools_def.template | 1092 -
 .../BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf |2 -
 .../BaseIoLibIntrinsicSev.inf |2 -
 MdePkg/Library/BaseIoLibIntrinsic/IoLibIcc.c  |  214 
 4 files changed, 1310 deletions(-)
 delete mode 100644 MdePkg/Library/BaseIoLibIntrinsic/IoLibIcc.c

-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH 1/2] MdePkg/BaseIoLibIntrinsic: Remove IoLibIcc.c

2019-04-03 Thread Shenglei Zhang
As ICC tool chain will be removed, IoLibIcc.c should
also be removed.
https://bugzilla.tianocore.org/show_bug.cgi?id=1666

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf |   2 -
 .../BaseIoLibIntrinsicSev.inf |   2 -
 MdePkg/Library/BaseIoLibIntrinsic/IoLibIcc.c  | 214 --
 3 files changed, 218 deletions(-)
 delete mode 100644 MdePkg/Library/BaseIoLibIntrinsic/IoLibIcc.c

diff --git a/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf 
b/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
index eb81aab2d4..6020fe90da 100644
--- a/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
+++ b/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
@@ -41,14 +41,12 @@
 [Sources.IA32]
   IoLibGcc.c| GCC
   IoLibMsc.c| MSFT
-  IoLibIcc.c| INTEL
   IoLib.c
   Ia32/IoFifo.nasm
 
 [Sources.X64]
   IoLibGcc.c| GCC
   IoLibMsc.c| MSFT
-  IoLibIcc.c| INTEL
   IoLib.c
   X64/IoFifo.nasm
 
diff --git a/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsicSev.inf 
b/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsicSev.inf
index da846704d5..e92b5ed94d 100644
--- a/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsicSev.inf
+++ b/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsicSev.inf
@@ -39,14 +39,12 @@
 [Sources.IA32]
   IoLibGcc.c| GCC
   IoLibMsc.c| MSFT
-  IoLibIcc.c| INTEL
   IoLib.c
   Ia32/IoFifoSev.nasm
 
 [Sources.X64]
   IoLibGcc.c| GCC
   IoLibMsc.c| MSFT
-  IoLibIcc.c| INTEL
   IoLib.c
   X64/IoFifoSev.nasm
 
diff --git a/MdePkg/Library/BaseIoLibIntrinsic/IoLibIcc.c 
b/MdePkg/Library/BaseIoLibIntrinsic/IoLibIcc.c
deleted file mode 100644
index 3036084f0c..00
--- a/MdePkg/Library/BaseIoLibIntrinsic/IoLibIcc.c
+++ /dev/null
@@ -1,214 +0,0 @@
-/** @file
-  I/O Library. This file has compiler specifics for ICC as there
-  is no ANSI C standard for doing IO.
-
-  Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
-  This program and the accompanying materials are
-  licensed and made available under the terms and conditions of the BSD License
-  which accompanies this distribution.  The full text of the license may be 
found at
-  http://opensource.org/licenses/bsd-license.php.
-
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-**/
-
-#include "BaseIoLibIntrinsicInternal.h"
-
-/**
-  Reads an 8-bit I/O port.
-
-  Reads the 8-bit I/O port specified by Port. The 8-bit read value is returned.
-  This function must guarantee that all I/O read and write operations are
-  serialized.
-
-  If 8-bit I/O port operations are not supported, then ASSERT().
-
-  @param  Port  The I/O port to read.
-
-  @return The value read.
-
-**/
-UINT8
-EFIAPI
-IoRead8 (
-  IN  UINTN Port
-  )
-{
-  UINT8   Data;
-
-  __asm {
-mov dx, word ptr [Port]
-in  al, dx
-
-mov Data, al
-  }
-  return Data;
-}
-
-/**
-  Writes an 8-bit I/O port.
-
-  Writes the 8-bit I/O port specified by Port with the value specified by Value
-  and returns Value. This function must guarantee that all I/O read and write
-  operations are serialized.
-
-  If 8-bit I/O port operations are not supported, then ASSERT().
-
-  @param  Port  The I/O port to write.
-  @param  Value The value to write to the I/O port.
-
-  @return The value written the I/O port.
-
-**/
-UINT8
-EFIAPI
-IoWrite8 (
-  IN  UINTN Port,
-  IN  UINT8 Value
-  )
-{
-  __asm {
-mov al, byte ptr [Value]
-mov dx, word ptr [Port]
-out dx, al
-  }
-  return Value;
-}
-
-/**
-  Reads a 16-bit I/O port.
-
-  Reads the 16-bit I/O port specified by Port. The 16-bit read value is 
returned.
-  This function must guarantee that all I/O read and write operations are
-  serialized.
-
-  If 16-bit I/O port operations are not supported, then ASSERT().
-  If Port is not aligned on a 16-bit boundary, then ASSERT().
-
-  @param  Port  The I/O port to read.
-
-  @return The value read.
-
-**/
-UINT16
-EFIAPI
-IoRead16 (
-  IN  UINTN Port
-  )
-{
-  UINT16  Data;
-
-  ASSERT ((Port & 1) == 0);
-
-  __asm {
-mov dx, word ptr [Port]
-in  ax, dx
-mov word ptr [Data], ax
-  }
-
-  return Data;
-}
-
-/**
-  Writes a 16-bit I/O port.
-
-  Writes the 16-bit I/O port specified by Port with the value specified by 
Value
-  and returns Value. This function must guarantee that all I/O read and write
-  operations are serialized.
-
-  If 16-bit I/O port operations are not supported, then ASSERT().
-  If Port is not aligned on a 16-bit boundary, then ASSERT().
-
-  @param  Port  The I/O port to write.
-  @param  Value The value to write to the I/O port.
-
-  @return The value written the I/O port.
-
-**/
-U

[edk2] [PATCH 2/2] BaseTools: Remove ICC tool chain in tools_def.template

2019-04-03 Thread Shenglei Zhang
There is no Intel compiler test. Suggest to remove ICC tool chain from
tools_def.template.
https://bugzilla.tianocore.org/show_bug.cgi?id=1666

Cc: Bob Feng 
Cc: Liming Gao 
Cc: Yonghong Zhu 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 BaseTools/Conf/tools_def.template | 1092 -
 1 file changed, 1092 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template 
b/BaseTools/Conf/tools_def.template
index abda2164a6..d826205cc1 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -103,43 +103,6 @@ DEFINE MS_VS_DLL   = DEF(VS2008_DLL)
 DEFINE WINDDK_BIN16 = ENV(WINDDK3790_PREFIX)bin16
 DEFINE WINDDK_BINX64= ENV(WINDDK3790_PREFIX)win64\x86\amd64
 
-# NOTE: The Intel C++ Compiler for Windows requires one of the Microsoft C 
compiler
-#tool chains for the linker and nmake commands.
-#This configuration assumes a Windows 2003 Server DDK installation.
-DEFINE ICC_VERSION  = 9.1
-#DEFINE ICC_VERSION = 10.1.021
-DEFINE ICC_BIN32= C:\Program 
Files\Intel\Compiler\C++\DEF(ICC_VERSION)\IA32\Bin
-DEFINE ICC_ASM32= C:\Program 
Files\Intel\Compiler\C++\DEF(ICC_VERSION)\IA32\Bin
-DEFINE ICC_BIN32x86 = C:\Program Files 
(x86)\Intel\Compiler\C++\DEF(ICC_VERSION)\IA32\Bin
-DEFINE ICC_ASM32x86 = C:\Program Files 
(x86)\Intel\Compiler\C++\DEF(ICC_VERSION)\IA32\Bin
-
-DEFINE ICC_BINX64   = C:\Program 
Files\Intel\Compiler\C++\DEF(ICC_VERSION)\EM64T\Bin
-DEFINE ICC_ASMX64   = C:\Program 
Files\Intel\Compiler\C++\DEF(ICC_VERSION)\EM64T\Bin
-DEFINE ICC_BINX64x86= C:\Program Files 
(x86)\Intel\Compiler\C++\DEF(ICC_VERSION)\EM64T\Bin
-DEFINE ICC_ASMX64x86= C:\Program Files 
(x86)\Intel\Compiler\C++\DEF(ICC_VERSION)\EM64T\Bin
-
-DEFINE ICC_BIN64= C:\Program 
Files\Intel\Compiler\C++\DEF(ICC_VERSION)\Itanium\Bin
-DEFINE ICC_BIN64x86 = C:\Program Files 
(x86)\Intel\Compiler\C++\DEF(ICC_VERSION)\Itanium\Bin
-
-
-# Note: The Intel C++ Compiler 11.1 uses different installation path from 
previous versions
-#   We use "ICC11" tag for ICC 11.1 while "ICC" tag is dedicated for 
earlier versions
-#
-DEFINE ICC11_VERSION  = 11.1
-DEFINE ICC11_BUILD= 072
-DEFINE ICC11_BIN32= C:\Program 
Files\Intel\Compiler\DEF(ICC11_VERSION)\DEF(ICC11_BUILD)\bin\ia32
-DEFINE ICC11_ASM32= C:\Program 
Files\Intel\Compiler\DEF(ICC11_VERSION)\DEF(ICC11_BUILD)\bin\ia32
-DEFINE ICC11_BIN32x86 = C:\Program Files 
(x86)\Intel\Compiler\DEF(ICC11_VERSION)\DEF(ICC11_BUILD)\bin\ia32
-DEFINE ICC11_ASM32x86 = C:\Program Files 
(x86)\Intel\Compiler\DEF(ICC11_VERSION)\DEF(ICC11_BUILD)\bin\ia32
-
-DEFINE ICC11_BINX64   = C:\Program 
Files\Intel\Compiler\DEF(ICC11_VERSION)\DEF(ICC11_BUILD)\bin\ia32_intel64
-DEFINE ICC11_ASMX64   = C:\Program 
Files\Intel\Compiler\DEF(ICC11_VERSION)\DEF(ICC11_BUILD)\bin\ia32_intel64
-DEFINE ICC11_BINX64x86= C:\Program Files 
(x86)\Intel\Compiler\DEF(ICC11_VERSION)\DEF(ICC11_BUILD)\bin\intel64
-DEFINE ICC11_ASMX64x86= C:\Program Files 
(x86)\Intel\Compiler\DEF(ICC11_VERSION)\DEF(ICC11_BUILD)\bin\intel64
-
-DEFINE ICC11_BIN64= C:\Program 
Files\Intel\Compiler\DEF(ICC11_VERSION)\DEF(ICC11_BUILD)\bin\ia32_ia64
-DEFINE ICC11_BIN64x86 = C:\Program Files 
(x86)\Intel\Compiler\DEF(ICC11_VERSION)\DEF(ICC11_BUILD)\bin\ia32_ia64
-
 DEFINE EBC_BIN  = C:\Program Files\Intel\EBC\Bin
 DEFINE EBC_BINx86   = C:\Program Files (x86)\Intel\EBC\Bin
 
@@ -178,10 +141,6 @@ DEFINE MSFT_ASLPP_FLAGS= /nologo /E /C /FIAutoGen.h
 DEFINE MSFT_ASLCC_FLAGS= /nologo /c /FIAutoGen.h /TC 
/Dmain=ReferenceAcpiTable
 DEFINE MSFT_ASLDLINK_FLAGS = /NODEFAULTLIB /ENTRY:ReferenceAcpiTable 
/SUBSYSTEM:CONSOLE
 
-DEFINE ICC_WIN_ASLPP_FLAGS = /nologo /E /C /FIAutoGen.h
-DEFINE ICC_WIN_ASLCC_FLAGS = /nologo /c /FIAutoGen.h /TC 
/Dmain=ReferenceAcpiTable
-DEFINE ICC_WIN_ASLDLINK_FLAGS  = /NODEFAULTLIB /ENTRY:ReferenceAcpiTable 
/SUBSYSTEM:CONSOLE /NODEFAULTLIB:libmmt /NODEFAULTLIB:libirc
-
 DEFINE IPHONE_TOOLS= 
/Developer/Platforms/iPhoneOS.platform/Developer
 
 DEFINE SOURCERY_CYGWIN_TOOLS = /cygdrive/c/Program Files/CodeSourcery/Sourcery 
G++ Lite/bin
@@ -302,30 +261,6 @@ DEFINE DTC_BIN = ENV(DTC_PREFIX)dtc
 # Required to build platforms or ACPI tables:
 #   Intel(r) ACPI Compiler from
 #   https://acpica.org/downloads
-#   ICC -win32-  Requires:
-# Intel C Compiler V9.1
-#Dependencies:
-# Microsoft Visual Studio 2003 or 2005
-# Microsoft Windows Server 2003 Driver Development 
Kit (Microsoft WINDDK)
-# version 3790.1830 for X64 target architectures
-#Optional:
-# R

[edk2] [PATCH] SourceLevelDebugPkg/DebugAgent: Remove AsmFuncs.S in INF

2019-04-03 Thread shenglei
AsmFuncs.S is removed at c7d22535f7dc90b8fef70153ef98549228569680.
And also it should be removed in SecPeiDebugAgentLib.inf and
SmmDebugAgentLib.inf.

Cc: Hao Wu 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf | 2 --
 SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgentLib.inf| 2 --
 2 files changed, 4 deletions(-)

diff --git a/SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf 
b/SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf
index 03ebbb6e74..8b81795d96 100644
--- a/SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf
+++ b/SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf
@@ -39,14 +39,12 @@
   DebugAgentCommon/DebugMp.h
 
 [Sources.Ia32]
-  DebugAgentCommon/Ia32/AsmFuncs.S
   DebugAgentCommon/Ia32/AsmFuncs.nasm
   DebugAgentCommon/Ia32/ArchDebugSupport.h
   DebugAgentCommon/Ia32/ArchDebugSupport.c
   DebugAgentCommon/Ia32/DebugException.h
 
 [Sources.X64]
-  DebugAgentCommon/X64/AsmFuncs.S
   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 08ed1777be..f1b32daab3 100644
--- a/SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgentLib.inf
+++ b/SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgentLib.inf
@@ -39,14 +39,12 @@
   DebugAgentCommon/DebugMp.h
 
 [Sources.Ia32]
-  DebugAgentCommon/Ia32/AsmFuncs.S
   DebugAgentCommon/Ia32/AsmFuncs.nasm
   DebugAgentCommon/Ia32/ArchDebugSupport.h
   DebugAgentCommon/Ia32/ArchDebugSupport.c
   DebugAgentCommon/Ia32/DebugException.h
 
 [Sources.X64]
-  DebugAgentCommon/X64/AsmFuncs.S
   DebugAgentCommon/X64/AsmFuncs.nasm
   DebugAgentCommon/X64/ArchDebugSupport.h
   DebugAgentCommon/X64/ArchDebugSupport.c
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH v3 12/14] SourceLevelDebugPkg/DebugAgentCommon: Remove .S files

2019-04-01 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Hao Wu 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
Reviewed-by: Liming Gao 
---
 .../DebugAgentCommon/Ia32/AsmFuncs.S  | 415 -
 .../DebugAgentCommon/X64/AsmFuncs.S   | 431 --
 .../Library/DebugAgent/DxeDebugAgentLib.inf   |   2 -
 3 files changed, 848 deletions(-)
 delete mode 100644 
SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/AsmFuncs.S
 delete mode 100644 
SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/X64/AsmFuncs.S

diff --git 
a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/AsmFuncs.S 
b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/AsmFuncs.S
deleted file mode 100644
index 30d279e80d..00
--- a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/AsmFuncs.S
+++ /dev/null
@@ -1,415 +0,0 @@
-#--
-#
-# Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD 
License
-# which accompanies this distribution.  The full text of the license may be 
found at
-# http://opensource.org/licenses/bsd-license.php.
-#
-# THE PROGRAM 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.S
-#
-# Abstract:
-#
-#   Debug interrupt handle functions.
-#
-#--
-
-#include "DebugException.h"
-
-ASM_GLOBAL ASM_PFX(InterruptProcess)
-ASM_GLOBAL ASM_PFX(Exception0Handle)
-ASM_GLOBAL ASM_PFX(ExceptionStubHeaderSize)
-ASM_GLOBAL ASM_PFX(TimerInterruptHandle)
-ASM_GLOBAL ASM_PFX(CommonEntry)
-
-.macro  AGENT_HANDLER_SIGNATURE
-  .byte 0x41, 0x47, 0x54, 0x48   # AGENT_HANDLER_SIGNATURE 
SIGNATURE_32('A','G','T','H')
-.endm
-
-.data
-
-ASM_PFX(ExceptionStubHeaderSize):  .long ASM_PFX(Exception1Handle) - 
ASM_PFX(Exception0Handle)
-
-.text
-
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception0Handle):
-   cli
-   pushl %eax
-   mov   $0, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception1Handle):
-   cli
-   pushl %eax
-   mov   $1, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception2Handle):
-   cli
-   pushl %eax
-   mov   $2, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception3Handle):
-   cli
-   pushl %eax
-   mov   $3, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception4Handle):
-   cli
-   pushl %eax
-   mov   $4, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception5Handle):
-   cli
-   pushl %eax
-   mov   $5, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception6Handle):
-   cli
-   pushl %eax
-   mov   $6, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception7Handle):
-   cli
-   pushl %eax
-   mov   $7, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception8Handle):
-   cli
-   pushl %eax
-   mov   $8, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception9Handle):
-   cli
-   pushl %eax
-   mov   $9, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception10Handle):
-   cli
-   pushl %eax
-   mov   $10, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception11Handle):
-   cli
-   pushl %eax
-   mov   $11, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception12Handle):
-   cli
-   pushl %eax
-   mov   $12, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception13Handle):
-   cli
-   pushl %eax
-   mov   $13, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception14Handle):
-   cli
-   pushl %eax
-   mov   $14, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception15Handle):
-   cli
-   pushl %eax
-   mov   $15, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception16Handle):
-   cli
-   pushl %eax
-   mov   $16, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception17Handle):
-   cli
-   pushl %eax
-   mov   $17, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception18Handle):
-   cli
-   pushl %eax
-   mov   $18, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception19Handle):
-   cli
-   pushl %eax
-   mov   $19, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(TimerInterruptHandle):
-   cli
-   pushl %eax
-   mov   $32, %eax
-   jmp   ASM_PFX(CommonEntry)
-
-

[edk2] [PATCH v4 14/14] CorebootModulePkg/SecCore: Remove .S files for IA32 arch

2019-04-01 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Maurice Ma 
Cc: Prince Agyeman 
Cc: Benjamin You 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 CorebootModulePkg/SecCore/Ia32/SecEntry.S | 74 -
 CorebootModulePkg/SecCore/Ia32/Stack.S| 78 ---
 2 files changed, 152 deletions(-)
 delete mode 100644 CorebootModulePkg/SecCore/Ia32/SecEntry.S
 delete mode 100644 CorebootModulePkg/SecCore/Ia32/Stack.S

diff --git a/CorebootModulePkg/SecCore/Ia32/SecEntry.S 
b/CorebootModulePkg/SecCore/Ia32/SecEntry.S
deleted file mode 100644
index 3a3f76ed6b..00
--- a/CorebootModulePkg/SecCore/Ia32/SecEntry.S
+++ /dev/null
@@ -1,74 +0,0 @@
-#--
-#
-# Copyright (c) 2013, Intel Corporation. All rights reserved.
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD 
License
-# which accompanies this distribution.  The full text of the license may be 
found at
-# http://opensource.org/licenses/bsd-license.php.
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-# Module Name:
-#
-#  SecEntry.S
-#
-# Abstract:
-#
-#  This is the code that begins in protected mode.
-#   It will transfer the control to pei core.
-#
-#--
-
-ASM_GLOBAL  ASM_PFX(SecStartup)
-
-# Pcds
-ASM_GLOBAL  ASM_PFX(PcdGet32 (PcdPayloadFdMemBase))
-
-#
-# SecCore Entry Point
-#
-# Processor is in flat protected mode
-#
-# @param[in]  EAX   Initial value of the EAX register (BIST: Built-in Self 
Test)
-# @param[in]  DI'BP': boot-strap processor, or 'AP': application processor
-# @param[in]  EBP   Pointer to the start of the Boot Firmware Volume
-#
-# @return None  This routine does not return
-#
-ASM_GLOBAL ASM_PFX(_ModuleEntryPoint)
-ASM_PFX(_ModuleEntryPoint):
-  #
-  # Disable all the interrupts
-  #
-  cli
-  
-  #
-  # Construct the temporary memory at 0x8, length 0x1
-  #
-  movl $(BASE_512KB + SIZE_64KB), %esp
-
-  #
-  # Pass BFV into the PEI Core
-  #
-  pushl ASM_PFX(PcdGet32 (PcdPayloadFdMemBase))
-  
-  #
-  # Pass stack base into the PEI Core
-  #
-  pushl $BASE_512KB
-
-  #
-  # Pass stack size into the PEI Core
-  #
-  pushl $SIZE_64KB
-
-  #
-  # Pass Control into the PEI Core
-  #
-  call SecStartup
-  
-  #
-  # Never return to here
-  #
-  jmp .
diff --git a/CorebootModulePkg/SecCore/Ia32/Stack.S 
b/CorebootModulePkg/SecCore/Ia32/Stack.S
deleted file mode 100644
index 6a8e0e4b15..00
--- a/CorebootModulePkg/SecCore/Ia32/Stack.S
+++ /dev/null
@@ -1,78 +0,0 @@
-#--
-#
-# Copyright (c) 2013, Intel Corporation. All rights reserved.
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD 
License
-# which accompanies this distribution.  The full text of the license may be 
found at
-# http://opensource.org/licenses/bsd-license.php.
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-# Abstract:
-#
-#   Switch the stack from temporary memory to permanent memory.
-#
-#--
-
-
-#--
-# VOID
-# EFIAPI
-# SecSwitchStack (
-#   UINT32   TemporaryMemoryBase,
-#   UINT32   PermenentMemoryBase
-#   )#
-#--
-ASM_GLOBAL ASM_PFX (SecSwitchStack)
-ASM_PFX(SecSwitchStack):
-#
-# Save standard registers so they can be used to change stack
-#
-pushl %eax
-pushl %ebx
-pushl %ecx
-pushl %edx
-
-#
-# !!CAUTION!! this function address's is pushed into stack after
-# migration of whole temporary memory, so need save it to permanent
-# memory at first!
-#
-movl  20(%esp), %ebx # Save the first parameter
-movl  24(%esp), %ecx # Save the second parameter
-
-#
-# Save this function's return address into permanent memory at first.
-# Then, Fixup the esp point to permanent memory
-#
-movl  %esp, %eax
-subl  %ebx, %eax
-addl  %ecx, %eax
-movl  0(%esp), %edx  # copy pushed register's value to permanent 
memory
-movl  %edx, 0(%eax)
-movl  4(%esp), %edx
-movl  %edx, 4(%eax)
-movl  8(%esp), %edx
-movl  %edx, 8(%eax)
-movl  12(%esp), %edx
-movl  %edx, 12(%eax)
-movl  16(%esp), %edx# Update this function's return add

[edk2] [PATCH v3 05/14] MdePkg/BaseLib: Remove .S files for IA32 and X64 arch

2019-04-01 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
Reviewed-by: Liming Gao 
---
 MdePkg/Library/BaseLib/BaseLib.inf|  38 --
 MdePkg/Library/BaseLib/Ia32/ARShiftU64.S  |  43 ---
 MdePkg/Library/BaseLib/Ia32/CpuId.S   |  63 
 MdePkg/Library/BaseLib/Ia32/CpuIdEx.S |  67 
 MdePkg/Library/BaseLib/Ia32/DisableCache.S|  39 --
 MdePkg/Library/BaseLib/Ia32/DisablePaging32.S |  52 ---
 MdePkg/Library/BaseLib/Ia32/DivU64x32.S   |  41 ---
 .../Library/BaseLib/Ia32/DivU64x32Remainder.S |  46 ---
 .../Library/BaseLib/Ia32/DivU64x64Remainder.S |  89 -
 MdePkg/Library/BaseLib/Ia32/EnableCache.S |  39 --
 .../BaseLib/Ia32/EnableDisableInterrupts.S|  36 --
 MdePkg/Library/BaseLib/Ia32/EnablePaging32.S  |  52 ---
 MdePkg/Library/BaseLib/Ia32/EnablePaging64.S  |  63 
 .../BaseLib/Ia32/InternalSwitchStack.S|  48 ---
 MdePkg/Library/BaseLib/Ia32/LRotU64.S |  48 ---
 MdePkg/Library/BaseLib/Ia32/LShiftU64.S   |  43 ---
 MdePkg/Library/BaseLib/Ia32/LongJump.S|  41 ---
 MdePkg/Library/BaseLib/Ia32/ModU64x32.S   |  40 ---
 MdePkg/Library/BaseLib/Ia32/Monitor.S |  40 ---
 MdePkg/Library/BaseLib/Ia32/MultU64x32.S  |  41 ---
 MdePkg/Library/BaseLib/Ia32/MultU64x64.S  |  44 ---
 MdePkg/Library/BaseLib/Ia32/Mwait.S   |  38 --
 MdePkg/Library/BaseLib/Ia32/RRotU64.S |  48 ---
 MdePkg/Library/BaseLib/Ia32/RShiftU64.S   |  46 ---
 MdePkg/Library/BaseLib/Ia32/RdRand.S  |  80 -
 MdePkg/Library/BaseLib/Ia32/SetJump.S |  44 ---
 MdePkg/Library/BaseLib/Ia32/SwapBytes64.S |  38 --
 MdePkg/Library/BaseLib/Ia32/Thunk16.S | 222 
 MdePkg/Library/BaseLib/X64/CpuId.S|  60 
 MdePkg/Library/BaseLib/X64/CpuIdEx.S  |  62 
 MdePkg/Library/BaseLib/X64/DisableCache.S |  39 --
 MdePkg/Library/BaseLib/X64/DisablePaging64.S  |  82 -
 MdePkg/Library/BaseLib/X64/EnableCache.S  |  39 --
 .../BaseLib/X64/EnableDisableInterrupts.S |  36 --
 MdePkg/Library/BaseLib/X64/LongJump.S |  54 ---
 MdePkg/Library/BaseLib/X64/RdRand.S   |  72 
 MdePkg/Library/BaseLib/X64/SetJump.S  |  53 ---
 MdePkg/Library/BaseLib/X64/SwitchStack.S  |  52 ---
 MdePkg/Library/BaseLib/X64/Thunk16.S  | 334 --
 39 files changed, 2412 deletions(-)
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/ARShiftU64.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/CpuId.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/CpuIdEx.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/DisableCache.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/DisablePaging32.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/DivU64x32.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/DivU64x32Remainder.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/DivU64x64Remainder.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/EnableCache.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/EnableDisableInterrupts.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/EnablePaging32.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/EnablePaging64.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/InternalSwitchStack.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/LRotU64.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/LShiftU64.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/LongJump.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/ModU64x32.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/Monitor.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/MultU64x32.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/MultU64x64.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/Mwait.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/RRotU64.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/RShiftU64.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/RdRand.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/SetJump.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/SwapBytes64.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/Thunk16.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/CpuId.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/CpuIdEx.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/DisableCache.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/DisablePaging64.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/EnableCache.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/EnableDisableInterrupts.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/LongJump.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/RdRand.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/SetJump.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/SwitchStack.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/Thunk16.S

diff --git a/MdePkg/Library/BaseLib/BaseLib.inf 
b/MdePkg/Library/BaseLib/BaseLib.inf
index

[edk2] [PATCH v3 10/14] MdePkg/BaseMemoryLibSse2: Remove .S files for IA32 and X64 arch

2019-04-01 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
Reviewed-by: Liming Gao 
---
 .../BaseMemoryLibSse2/BaseMemoryLibSse2.inf   | 22 -
 .../BaseMemoryLibSse2/Ia32/CompareMem.S   | 55 
 .../Library/BaseMemoryLibSse2/Ia32/CopyMem.S  | 85 ---
 .../BaseMemoryLibSse2/Ia32/ScanMem16.S| 52 
 .../BaseMemoryLibSse2/Ia32/ScanMem32.S| 52 
 .../BaseMemoryLibSse2/Ia32/ScanMem64.S| 61 -
 .../Library/BaseMemoryLibSse2/Ia32/ScanMem8.S | 52 
 .../Library/BaseMemoryLibSse2/Ia32/SetMem.S   | 76 -
 .../Library/BaseMemoryLibSse2/Ia32/SetMem16.S | 69 ---
 .../Library/BaseMemoryLibSse2/Ia32/SetMem32.S | 68 ---
 .../Library/BaseMemoryLibSse2/Ia32/SetMem64.S | 58 -
 .../Library/BaseMemoryLibSse2/Ia32/ZeroMem.S  | 65 --
 .../BaseMemoryLibSse2/X64/CompareMem.S| 59 -
 .../Library/BaseMemoryLibSse2/X64/CopyMem.S   | 83 --
 .../Library/BaseMemoryLibSse2/X64/ScanMem16.S | 56 
 .../Library/BaseMemoryLibSse2/X64/ScanMem32.S | 56 
 .../Library/BaseMemoryLibSse2/X64/ScanMem64.S | 56 
 .../Library/BaseMemoryLibSse2/X64/ScanMem8.S  | 56 
 MdePkg/Library/BaseMemoryLibSse2/X64/SetMem.S | 72 
 .../Library/BaseMemoryLibSse2/X64/SetMem16.S  | 70 ---
 .../Library/BaseMemoryLibSse2/X64/SetMem32.S  | 69 ---
 .../Library/BaseMemoryLibSse2/X64/SetMem64.S  | 60 -
 .../Library/BaseMemoryLibSse2/X64/ZeroMem.S   | 65 --
 23 files changed, 1417 deletions(-)
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/ZeroMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/ZeroMem.S

diff --git a/MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.inf 
b/MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.inf
index 771fddaa45..340ca15f06 100644
--- a/MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.inf
+++ b/MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.inf
@@ -47,27 +47,16 @@
 
 [Sources.Ia32]
   Ia32/ScanMem64.nasm
-  Ia32/ScanMem64.S
   Ia32/ScanMem32.nasm
-  Ia32/ScanMem32.S
   Ia32/ScanMem16.nasm
-  Ia32/ScanMem16.S
   Ia32/ScanMem8.nasm
-  Ia32/ScanMem8.S
   Ia32/CompareMem.nasm
-  Ia32/CompareMem.S
   Ia32/ZeroMem.nasm
-  Ia32/ZeroMem.S
   Ia32/SetMem64.nasm
-  Ia32/SetMem64.S
   Ia32/SetMem32.nasm
-  Ia32/SetMem32.S
   Ia32/SetMem16.nasm
-  Ia32/SetMem16.S
   Ia32/SetMem.nasm
-  Ia32/SetMem.S
   Ia32/CopyMem.nasm
-  Ia32/CopyMem.S
   Ia32/ScanMem64.nasm
   Ia32/ScanMem32.nasm
   Ia32/ScanMem16.nasm
@@ -94,27 +83,16 @@
   X64/SetMem.nasm
   X64/CopyMem.nasm
   X64/ScanMem64.nasm
-  X64/ScanMem64.S
   X64/ScanMem32.nasm
-  X64/ScanMem32.S
   X64/ScanMem16.nasm
-  X64/ScanMem16.S
   X64/ScanMem8.nasm
-  X64/ScanMem8.S
   X64/CompareMem.nasm
-  X64/CompareMem.S
   X64/ZeroMem.nasm
-  X64/ZeroMem.S
   X64/SetMem64.nasm
-  X64/SetMem64.S
   X64/SetMem32.nasm
-  X64/SetMem32.S
   X64/SetMem16.nasm
-  X64/SetMem16.S
   X64/SetMem.nasm
-  X64/SetMem.S
   X64/CopyMem.nasm
-  X64/CopyMem.S
   X64/IsZeroBuffer.nasm
 
 [Packages]
diff --git a/MdePkg/Library/BaseMemoryLibSse2/Ia32/CompareMem.S 
b/MdePkg/Library/BaseMemoryLibSse2/Ia32/CompareMem.S
deleted file mode 100644
index b509586adb..00
--- a/MdePkg/Library/BaseMemoryLibSse2/Ia32/CompareMem.S
+++ /dev/null
@@ -1,55 +0,0

[edk2] [PATCH v4 13/14] SourceLevelDebugPkg/PeCoffExtraActionLibDebug: Remove .S files

2019-04-01 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Hao Wu 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../Ia32/IntHandler.S | 28 ---
 .../PeCoffExtraActionLibDebug.inf |  2 --
 .../X64/IntHandler.S  | 28 ---
 3 files changed, 58 deletions(-)
 delete mode 100644 
SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/Ia32/IntHandler.S
 delete mode 100644 
SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/X64/IntHandler.S

diff --git 
a/SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/Ia32/IntHandler.S 
b/SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/Ia32/IntHandler.S
deleted file mode 100644
index 69c903788c..00
--- a/SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/Ia32/IntHandler.S
+++ /dev/null
@@ -1,28 +0,0 @@
-#--
-#
-# Copyright (c) 2013, Intel Corporation. All rights reserved.
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD 
License
-# which accompanies this distribution.  The full text of the license may be 
found at
-# http://opensource.org/licenses/bsd-license.php.
-#
-# THE PROGRAM 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.S
-#
-# Abstract:
-#
-#   Assembly interrupt handler function.
-#
-#--
-
-ASM_GLOBAL ASM_PFX(AsmInterruptHandle)
-
-.text
-ASM_PFX(AsmInterruptHandle):
-   cli
-   movb   $1, %al
-   iretl
diff --git 
a/SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf
 
b/SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf
index 1c52a000b0..fd56b8c94a 100644
--- 
a/SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf
+++ 
b/SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf
@@ -35,12 +35,10 @@
 [Sources.IA32]
   Ia32/IntHandlerFuncs.c
   Ia32/IntHandler.nasm
-  Ia32/IntHandler.S
 
 [Sources.X64]
   X64/IntHandlerFuncs.c
   X64/IntHandler.nasm
-  X64/IntHandler.S
 
 [Packages]
   MdePkg/MdePkg.dec
diff --git 
a/SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/X64/IntHandler.S 
b/SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/X64/IntHandler.S
deleted file mode 100644
index 108b40cf6d..00
--- a/SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/X64/IntHandler.S
+++ /dev/null
@@ -1,28 +0,0 @@
-#--
-#
-# Copyright (c) 2013, Intel Corporation. All rights reserved.
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD 
License
-# which accompanies this distribution.  The full text of the license may be 
found at
-# http://opensource.org/licenses/bsd-license.php.
-#
-# THE PROGRAM 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.S
-#
-# Abstract:
-#
-#   Assembly interrupt handler function.
-#
-#--
-
-ASM_GLOBAL ASM_PFX(AsmInterruptHandle)
-
-.text
-ASM_PFX(AsmInterruptHandle):
-   cli
-   movb   $1, %al
-   iretq
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH v3 07/14] MdePkg/BaseMemoryLibOptDxe: Remove .S files for IA32 and X64 arch

2019-04-01 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
Reviewed-by: Liming Gao 
---
 .../BaseMemoryLibOptDxe.inf   | 22 -
 .../BaseMemoryLibOptDxe/Ia32/CompareMem.S | 55 
 .../BaseMemoryLibOptDxe/Ia32/CopyMem.S| 85 ---
 .../BaseMemoryLibOptDxe/Ia32/ScanMem16.S  | 52 
 .../BaseMemoryLibOptDxe/Ia32/ScanMem32.S  | 52 
 .../BaseMemoryLibOptDxe/Ia32/ScanMem64.S  | 61 -
 .../BaseMemoryLibOptDxe/Ia32/ScanMem8.S   | 52 
 .../Library/BaseMemoryLibOptDxe/Ia32/SetMem.S | 50 ---
 .../BaseMemoryLibOptDxe/Ia32/SetMem16.S   | 43 --
 .../BaseMemoryLibOptDxe/Ia32/SetMem32.S   | 43 --
 .../BaseMemoryLibOptDxe/Ia32/SetMem64.S   | 46 --
 .../BaseMemoryLibOptDxe/Ia32/ZeroMem.S| 49 ---
 .../BaseMemoryLibOptDxe/X64/CompareMem.S  | 59 -
 .../Library/BaseMemoryLibOptDxe/X64/CopyMem.S | 82 --
 .../BaseMemoryLibOptDxe/X64/ScanMem16.S   | 56 
 .../BaseMemoryLibOptDxe/X64/ScanMem32.S   | 56 
 .../BaseMemoryLibOptDxe/X64/ScanMem64.S   | 55 
 .../BaseMemoryLibOptDxe/X64/ScanMem8.S| 56 
 .../Library/BaseMemoryLibOptDxe/X64/SetMem.S  | 57 -
 .../BaseMemoryLibOptDxe/X64/SetMem16.S| 47 --
 .../BaseMemoryLibOptDxe/X64/SetMem32.S| 47 --
 .../BaseMemoryLibOptDxe/X64/SetMem64.S| 46 --
 .../Library/BaseMemoryLibOptDxe/X64/ZeroMem.S | 51 ---
 23 files changed, 1222 deletions(-)
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ZeroMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/ZeroMem.S

diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf 
b/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
index 3f756647e1..5ee1d70473 100644
--- a/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
+++ b/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
@@ -35,27 +35,16 @@
 
 [Sources.Ia32]
   Ia32/ScanMem64.nasm
-  Ia32/ScanMem64.S
   Ia32/ScanMem32.nasm
-  Ia32/ScanMem32.S
   Ia32/ScanMem16.nasm
-  Ia32/ScanMem16.S
   Ia32/ScanMem8.nasm
-  Ia32/ScanMem8.S
   Ia32/CompareMem.nasm
-  Ia32/CompareMem.S
   Ia32/ZeroMem.nasm
-  Ia32/ZeroMem.S
   Ia32/SetMem64.nasm
-  Ia32/SetMem64.S
   Ia32/SetMem32.nasm
-  Ia32/SetMem32.S
   Ia32/SetMem16.nasm
-  Ia32/SetMem16.S
   Ia32/SetMem.nasm
-  Ia32/SetMem.S
   Ia32/CopyMem.nasm
-  Ia32/CopyMem.S
   Ia32/ScanMem64.nasm
   Ia32/ScanMem32.nasm
   Ia32/ScanMem16.nasm
@@ -72,27 +61,16 @@
 
 [Sources.X64]
   X64/ScanMem64.nasm
-  X64/ScanMem64.S
   X64/ScanMem32.nasm
-  X64/ScanMem32.S
   X64/ScanMem16.nasm
-  X64/ScanMem16.S
   X64/ScanMem8.nasm
-  X64/ScanMem8.S
   X64/CompareMem.nasm
-  X64/CompareMem.S
   X64/ZeroMem.nasm
-  X64/ZeroMem.S
   X64/SetMem64.nasm
-  X64/SetMem64.S
   X64/SetMem32.nasm
-  X64/SetMem32.S
   X64/SetMem16.nasm
-  X64/SetMem16.S
   X64/SetMem.nasm
-  X64/SetMem.S
   X64/CopyMem.nasm
-  X64/CopyMem.S
   X64/IsZeroBuffer.nasm
   MemLibGuid.c
 
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CompareMem.S 
b/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CompareMem.S
deleted file mode 100644
index 23758781c9..00
--- a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CompareMem.S
+++ /dev/null
@@ -1,55

[edk2] [PATCH v3 11/14] CryptoPkg/IntrinsicLib: Remove .S files for IA32 arch

2019-04-01 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Ting Ye 
Cc: Jian Wang 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
Reviewed-by: Jian J Wang 
Reviewed-by: Liming Gao 
---
 .../Library/IntrinsicLib/Ia32/MathLShiftS64.S | 62 -
 .../Library/IntrinsicLib/Ia32/MathRShiftU64.S | 66 ---
 .../Library/IntrinsicLib/IntrinsicLib.inf |  2 -
 3 files changed, 130 deletions(-)
 delete mode 100644 CryptoPkg/Library/IntrinsicLib/Ia32/MathLShiftS64.S
 delete mode 100644 CryptoPkg/Library/IntrinsicLib/Ia32/MathRShiftU64.S

diff --git a/CryptoPkg/Library/IntrinsicLib/Ia32/MathLShiftS64.S 
b/CryptoPkg/Library/IntrinsicLib/Ia32/MathLShiftS64.S
deleted file mode 100644
index 7031a59a71..00
--- a/CryptoPkg/Library/IntrinsicLib/Ia32/MathLShiftS64.S
+++ /dev/null
@@ -1,62 +0,0 @@
-#--
-#
-# Copyright (c) 2014, Intel Corporation. All rights reserved.
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD 
License
-# which accompanies this distribution.  The full text of the license may be 
found at
-# http://opensource.org/licenses/bsd-license.php.
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-# Module Name:
-#
-#   MathLShiftS64.S
-#
-# Abstract:
-#
-#   64-bit Math Worker Function.
-#   Shifts a 64-bit signed value left by a certain number of bits.
-#
-#--
-
-.686:
-.code:
-
-ASM_GLOBAL ASM_PFX(__ashldi3)
-
-#--
-#
-# void __cdecl __ashldi3 (void)
-#
-#--
-ASM_PFX(__ashldi3):
-#
-# Handle shifting of 64 or more bits (return 0)
-#
-cmpb$64, %cl
-jae ReturnZero
-
-#
-# Handle shifting of between 0 and 31 bits
-#
-cmpb$32, %cl
-jae More32
-shld%cl, %eax, %edx
-shl %cl, %eax
-ret
-
-#
-# Handle shifting of between 32 and 63 bits
-#
-More32:
-movl%eax, %edx
-xor %eax, %eax
-and $31, %cl
-shl %cl, %edx
-ret
-
-ReturnZero:
-xor %eax, %eax
-xor %edx, %edx
-ret
diff --git a/CryptoPkg/Library/IntrinsicLib/Ia32/MathRShiftU64.S 
b/CryptoPkg/Library/IntrinsicLib/Ia32/MathRShiftU64.S
deleted file mode 100644
index 24142b088e..00
--- a/CryptoPkg/Library/IntrinsicLib/Ia32/MathRShiftU64.S
+++ /dev/null
@@ -1,66 +0,0 @@
-#--
-#
-# Copyright (c) 2014, Intel Corporation. All rights reserved.
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD 
License
-# which accompanies this distribution.  The full text of the license may be 
found at
-# http://opensource.org/licenses/bsd-license.php.
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-# Module Name:
-#
-#   MathRShiftU64.S
-#
-# Abstract:
-#
-#   64-bit Math Worker Function.
-#   Shifts a 64-bit unsigned value right by a certain number of bits.
-#
-#--
-
-
-.686:
-.code:
-
-ASM_GLOBAL ASM_PFX(__ashrdi3)
-
-#--
-#
-# void __cdecl __ashrdi3 (void)
-#
-#--
-ASM_PFX(__ashrdi3):
-#
-# Checking: Only handle 64bit shifting or more
-#
-cmpb$64, %cl
-jae _Exit
-
-#
-# Handle shifting between 0 and 31 bits
-#
-cmpb$32, %cl
-jae More32
-shrd%cl, %edx, %eax
-shr %cl, %edx
-ret
-
-#
-# Handle shifting of 32-63 bits
-#
-More32:
-movl%edx, %eax
-xor %edx, %edx
-and $31, %cl
-shr %cl, %eax
-ret
-
-#
-# Invalid number (less then 32bits), return 0
-#
-_Exit:
-xor %eax, %eax
-xor %edx, %edx
-ret
diff --git a/CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf 
b/CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
index a91c850013..9704b9ea7d 100644
--- a/CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
+++ b/CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
@@ -39,8 +39,6 @@
   Ia32/MathLShiftS64.c  | INTEL
   Ia32/MathRShiftU64.c  | INTEL
 
-  Ia32/MathLShiftS64.S  | GCC
-  Ia32/MathRShiftU64.S  | GCC
   Ia32/MathLShiftS64.nasm   | GCC
 

[edk2] [PATCH v3 08/14] MdePkg/BaseMemoryLibOptPei: Remove .S files for IA32 and X64 arch

2019-04-01 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
Reviewed-by: Liming Gao 
---
 .../BaseMemoryLibOptPei.inf   | 22 ---
 .../BaseMemoryLibOptPei/Ia32/CompareMem.S | 55 
 .../BaseMemoryLibOptPei/Ia32/CopyMem.S| 62 -
 .../BaseMemoryLibOptPei/Ia32/ScanMem16.S  | 52 ---
 .../BaseMemoryLibOptPei/Ia32/ScanMem32.S  | 52 ---
 .../BaseMemoryLibOptPei/Ia32/ScanMem64.S  | 61 -
 .../BaseMemoryLibOptPei/Ia32/ScanMem8.S   | 52 ---
 .../Library/BaseMemoryLibOptPei/Ia32/SetMem.S | 50 --
 .../BaseMemoryLibOptPei/Ia32/SetMem16.S   | 43 
 .../BaseMemoryLibOptPei/Ia32/SetMem32.S   | 43 
 .../BaseMemoryLibOptPei/Ia32/SetMem64.S   | 46 -
 .../BaseMemoryLibOptPei/Ia32/ZeroMem.S| 49 --
 .../BaseMemoryLibOptPei/X64/CompareMem.S  | 59 -
 .../Library/BaseMemoryLibOptPei/X64/CopyMem.S | 66 ---
 .../BaseMemoryLibOptPei/X64/ScanMem16.S   | 56 
 .../BaseMemoryLibOptPei/X64/ScanMem32.S   | 56 
 .../BaseMemoryLibOptPei/X64/ScanMem64.S   | 56 
 .../BaseMemoryLibOptPei/X64/ScanMem8.S| 56 
 .../Library/BaseMemoryLibOptPei/X64/SetMem.S  | 47 -
 .../BaseMemoryLibOptPei/X64/SetMem16.S| 47 -
 .../BaseMemoryLibOptPei/X64/SetMem32.S| 47 -
 .../BaseMemoryLibOptPei/X64/SetMem64.S| 46 -
 .../Library/BaseMemoryLibOptPei/X64/ZeroMem.S | 50 --
 23 files changed, 1173 deletions(-)
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/ZeroMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/ZeroMem.S

diff --git a/MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf 
b/MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf
index 8f274d83b0..6fcb5fdac2 100644
--- a/MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf
+++ b/MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf
@@ -35,27 +35,16 @@
 
 [Sources.Ia32]
   Ia32/ScanMem64.nasm
-  Ia32/ScanMem64.S
   Ia32/ScanMem32.nasm
-  Ia32/ScanMem32.S
   Ia32/ScanMem16.nasm
-  Ia32/ScanMem16.S
   Ia32/ScanMem8.nasm
-  Ia32/ScanMem8.S
   Ia32/CompareMem.nasm
-  Ia32/CompareMem.S
   Ia32/ZeroMem.nasm
-  Ia32/ZeroMem.S
   Ia32/SetMem64.nasm
-  Ia32/SetMem64.S
   Ia32/SetMem32.nasm
-  Ia32/SetMem32.S
   Ia32/SetMem16.nasm
-  Ia32/SetMem16.S
   Ia32/SetMem.nasm
-  Ia32/SetMem.S
   Ia32/CopyMem.nasm
-  Ia32/CopyMem.S
   Ia32/ScanMem64.nasm
   Ia32/ScanMem32.nasm
   Ia32/ScanMem16.nasm
@@ -84,27 +73,16 @@
 
 [Sources.X64]
   X64/ScanMem64.nasm
-  X64/ScanMem64.S
   X64/ScanMem32.nasm
-  X64/ScanMem32.S
   X64/ScanMem16.nasm
-  X64/ScanMem16.S
   X64/ScanMem8.nasm
-  X64/ScanMem8.S
   X64/CompareMem.nasm
-  X64/CompareMem.S
   X64/ZeroMem.nasm
-  X64/ZeroMem.S
   X64/SetMem64.nasm
-  X64/SetMem64.S
   X64/SetMem32.nasm
-  X64/SetMem32.S
   X64/SetMem16.nasm
-  X64/SetMem16.S
   X64/SetMem.nasm
-  X64/SetMem.S
   X64/CopyMem.nasm
-  X64/CopyMem.S
   X64/IsZeroBuffer.nasm
   ScanMem64Wrapper.c
   ScanMem32Wrapper.c
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/Ia32/CompareMem.S 
b/MdePkg/Library/BaseMemoryLibOptPei/Ia32/CompareMem.S
deleted file mode 100644
index 23758781c9

[edk2] [PATCH v3 09/14] MdePkg/BaseMemoryLibRepStr: Remove .S files for IA32 and X64 arch

2019-04-01 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
Reviewed-by: Liming Gao 
---
 .../BaseMemoryLibRepStr.inf   | 22 ---
 .../BaseMemoryLibRepStr/Ia32/CompareMem.S | 55 
 .../BaseMemoryLibRepStr/Ia32/CopyMem.S| 65 --
 .../BaseMemoryLibRepStr/Ia32/ScanMem16.S  | 54 ---
 .../BaseMemoryLibRepStr/Ia32/ScanMem32.S  | 54 ---
 .../BaseMemoryLibRepStr/Ia32/ScanMem64.S  | 63 --
 .../BaseMemoryLibRepStr/Ia32/ScanMem8.S   | 54 ---
 .../Library/BaseMemoryLibRepStr/Ia32/SetMem.S | 46 -
 .../BaseMemoryLibRepStr/Ia32/SetMem16.S   | 43 
 .../BaseMemoryLibRepStr/Ia32/SetMem32.S   | 43 
 .../BaseMemoryLibRepStr/Ia32/SetMem64.S   | 46 -
 .../BaseMemoryLibRepStr/Ia32/ZeroMem.S| 49 --
 .../BaseMemoryLibRepStr/X64/CompareMem.S  | 59 -
 .../Library/BaseMemoryLibRepStr/X64/CopyMem.S | 66 ---
 .../BaseMemoryLibRepStr/X64/ScanMem16.S   | 56 
 .../BaseMemoryLibRepStr/X64/ScanMem32.S   | 56 
 .../BaseMemoryLibRepStr/X64/ScanMem64.S   | 56 
 .../BaseMemoryLibRepStr/X64/ScanMem8.S| 56 
 .../Library/BaseMemoryLibRepStr/X64/SetMem.S  | 47 -
 .../BaseMemoryLibRepStr/X64/SetMem16.S| 47 -
 .../BaseMemoryLibRepStr/X64/SetMem32.S| 47 -
 .../BaseMemoryLibRepStr/X64/SetMem64.S| 46 -
 .../Library/BaseMemoryLibRepStr/X64/ZeroMem.S | 50 --
 23 files changed, 1180 deletions(-)
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/ZeroMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/ZeroMem.S

diff --git a/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf 
b/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
index 049936deab..7b315b8302 100644
--- a/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
+++ b/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
@@ -48,27 +48,16 @@
 
 [Sources.Ia32]
   Ia32/ScanMem64.nasm
-  Ia32/ScanMem64.S
   Ia32/ScanMem32.nasm
-  Ia32/ScanMem32.S
   Ia32/ScanMem16.nasm
-  Ia32/ScanMem16.S
   Ia32/ScanMem8.nasm
-  Ia32/ScanMem8.S
   Ia32/CompareMem.nasm
-  Ia32/CompareMem.S
   Ia32/ZeroMem.nasm
-  Ia32/ZeroMem.S
   Ia32/SetMem64.nasm
-  Ia32/SetMem64.S
   Ia32/SetMem32.nasm
-  Ia32/SetMem32.S
   Ia32/SetMem16.nasm
-  Ia32/SetMem16.S
   Ia32/SetMem.nasm
-  Ia32/SetMem.S
   Ia32/CopyMem.nasm
-  Ia32/CopyMem.S
   Ia32/ScanMem64.nasm
   Ia32/ScanMem32.nasm
   Ia32/ScanMem16.nasm
@@ -84,27 +73,16 @@
 
 [Sources.X64]
   X64/ScanMem64.nasm
-  X64/ScanMem64.S
   X64/ScanMem32.nasm
-  X64/ScanMem32.S
   X64/ScanMem16.nasm
-  X64/ScanMem16.S
   X64/ScanMem8.nasm
-  X64/ScanMem8.S
   X64/CompareMem.nasm
-  X64/CompareMem.S
   X64/ZeroMem.nasm
-  X64/ZeroMem.S
   X64/SetMem64.nasm
-  X64/SetMem64.S
   X64/SetMem32.nasm
-  X64/SetMem32.S
   X64/SetMem16.nasm
-  X64/SetMem16.S
   X64/SetMem.nasm
-  X64/SetMem.S
   X64/CopyMem.nasm
-  X64/CopyMem.S
   X64/ScanMem64.nasm
   X64/ScanMem32.nasm
   X64/ScanMem16.nasm
diff --git a/MdePkg/Library/BaseMemoryLibRepStr/Ia32/CompareMem.S 
b/MdePkg/Library/BaseMemoryLibRepStr/Ia32/CompareMem.S
deleted file mode 100644
index b509586adb

[edk2] [PATCH v3 06/14] MdePkg/BaseMemoryLibMmx: Remove .S files for IA32 and X64 arch

2019-04-01 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
Reviewed-by: Liming Gao 
---
 .../BaseMemoryLibMmx/BaseMemoryLibMmx.inf | 22 -
 .../BaseMemoryLibMmx/Ia32/CompareMem.S| 55 
 .../Library/BaseMemoryLibMmx/Ia32/CopyMem.S   | 86 ---
 .../Library/BaseMemoryLibMmx/Ia32/ScanMem16.S | 52 ---
 .../Library/BaseMemoryLibMmx/Ia32/ScanMem32.S | 52 ---
 .../Library/BaseMemoryLibMmx/Ia32/ScanMem64.S | 61 -
 .../Library/BaseMemoryLibMmx/Ia32/ScanMem8.S  | 52 ---
 MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem.S | 66 --
 .../Library/BaseMemoryLibMmx/Ia32/SetMem16.S  | 59 -
 .../Library/BaseMemoryLibMmx/Ia32/SetMem32.S  | 52 ---
 .../Library/BaseMemoryLibMmx/Ia32/SetMem64.S  | 43 --
 .../Library/BaseMemoryLibMmx/Ia32/ZeroMem.S   | 54 
 .../Library/BaseMemoryLibMmx/X64/CompareMem.S | 59 -
 MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.S | 74 
 .../Library/BaseMemoryLibMmx/X64/ScanMem16.S  | 56 
 .../Library/BaseMemoryLibMmx/X64/ScanMem32.S  | 56 
 .../Library/BaseMemoryLibMmx/X64/ScanMem64.S  | 55 
 .../Library/BaseMemoryLibMmx/X64/ScanMem8.S   | 56 
 MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.S  | 61 -
 .../Library/BaseMemoryLibMmx/X64/SetMem16.S   | 60 -
 .../Library/BaseMemoryLibMmx/X64/SetMem32.S   | 55 
 .../Library/BaseMemoryLibMmx/X64/SetMem64.S   | 47 --
 MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.S | 57 
 23 files changed, 1290 deletions(-)
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/ZeroMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.S

diff --git a/MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx.inf 
b/MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx.inf
index d17fcf24b6..9a073d1cd9 100644
--- a/MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx.inf
+++ b/MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx.inf
@@ -52,27 +52,16 @@
 
 [Sources.Ia32]
   Ia32/ScanMem64.nasm
-  Ia32/ScanMem64.S
   Ia32/ScanMem32.nasm
-  Ia32/ScanMem32.S
   Ia32/ScanMem16.nasm
-  Ia32/ScanMem16.S
   Ia32/ScanMem8.nasm
-  Ia32/ScanMem8.S
   Ia32/CompareMem.nasm
-  Ia32/CompareMem.S
   Ia32/SetMem64.nasm
-  Ia32/SetMem64.S
   Ia32/SetMem32.nasm
-  Ia32/SetMem32.S
   Ia32/SetMem16.nasm
-  Ia32/SetMem16.S
   Ia32/ZeroMem.nasm
-  Ia32/ZeroMem.S
   Ia32/SetMem.nasm
-  Ia32/SetMem.S
   Ia32/CopyMem.nasm
-  Ia32/CopyMem.S
   Ia32/ScanMem64.nasm
   Ia32/ScanMem32.nasm
   Ia32/ScanMem16.nasm
@@ -99,27 +88,16 @@
   X64/SetMem.nasm
   X64/CopyMem.nasm
   X64/ScanMem64.nasm
-  X64/ScanMem64.S
   X64/ScanMem32.nasm
-  X64/ScanMem32.S
   X64/ScanMem16.nasm
-  X64/ScanMem16.S
   X64/ScanMem8.nasm
-  X64/ScanMem8.S
   X64/CompareMem.nasm
-  X64/CompareMem.S
   X64/SetMem64.nasm
-  X64/SetMem64.S
   X64/SetMem32.nasm
-  X64/SetMem32.S
   X64/SetMem16.nasm
-  X64/SetMem16.S
   X64/ZeroMem.nasm
-  X64/ZeroMem.S
   X64/SetMem.nasm
-  X64/SetMem.S
   X64/CopyMem.nasm
-  X64/CopyMem.S
   X64/IsZeroBuffer.nasm
 
 
diff --git a/MdePkg/Library/BaseMemoryLibMmx/Ia32/CompareMem.S 
b/MdePkg/Library/BaseMemoryLibMmx/Ia32/CompareMem.S
deleted file mode 100644
index b509586adb..00
--- a/MdePkg/Library/BaseMemoryLibMmx/Ia32/CompareMem.S
+++ /dev/null
@@ -1,55 +0,0

[edk2] [PATCH v3 03/14] UefiCpuPkg/CpuExceptionHandlerLib:Remove.S files for IA32 and X64 arch

2019-04-01 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
Reviewed-by: Eric Dong 
Reviewed-by: Liming Gao 
---
 .../DxeCpuExceptionHandlerLib.inf |   2 -
 .../Ia32/ExceptionHandlerAsm.S| 667 --
 .../PeiCpuExceptionHandlerLib.inf |   2 -
 .../SecPeiCpuExceptionHandlerLib.inf  |   2 -
 .../SmmCpuExceptionHandlerLib.inf |   2 -
 .../X64/ExceptionHandlerAsm.S | 434 
 6 files changed, 1109 deletions(-)
 delete mode 100644 
UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32/ExceptionHandlerAsm.S
 delete mode 100644 
UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ExceptionHandlerAsm.S

diff --git 
a/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf 
b/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
index a480890165..391e49f077 100644
--- a/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
+++ b/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
@@ -30,13 +30,11 @@
 [Sources.Ia32]
   Ia32/ExceptionHandlerAsm.nasm
   Ia32/ExceptionTssEntryAsm.nasm
-  Ia32/ExceptionHandlerAsm.S
   Ia32/ArchExceptionHandler.c
   Ia32/ArchInterruptDefs.h
 
 [Sources.X64]
   X64/ExceptionHandlerAsm.nasm
-  X64/ExceptionHandlerAsm.S
   X64/ArchExceptionHandler.c
   X64/ArchInterruptDefs.h
 
diff --git 
a/UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32/ExceptionHandlerAsm.S 
b/UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32/ExceptionHandlerAsm.S
deleted file mode 100644
index c134257d9d..00
--- a/UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32/ExceptionHandlerAsm.S
+++ /dev/null
@@ -1,667 +0,0 @@
-#--
-#*
-#*   Copyright (c) 2012 - 2015, Intel Corporation. All rights reserved.
-#*   This program and the accompanying materials
-#*   are licensed and made available under the terms and conditions of the BSD 
License
-#*   which accompanies this distribution.  The full text of the license may be 
found at
-#*   http://opensource.org/licenses/bsd-license.php
-#*
-#*   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-#*   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
IMPLIED.
-#*
-#*ExceptionHandlerAsm.S
-#*
-#*   Abstract:
-#*
-#* IA32 CPU Exception Handler
-#
-#--
-
-
-#.MMX
-#.XMM
-
-ASM_GLOBAL ASM_PFX(CommonExceptionHandler)
-ASM_GLOBAL ASM_PFX(CommonInterruptEntry)
-ASM_GLOBAL ASM_PFX(HookAfterStubHeaderEnd)
-
-#EXTRN ASM_PFX(mErrorCodeFlag):DWORD   # Error code flags for 
exceptions
-#EXTRN ASM_PFX(mDoFarReturnFlag):DWORD # Do far return flag
-
-.text
-
-#
-# exception handler stub table
-#
-Exception0Handle:
-.byte   0x6a#  push #VectorNum
-.byte   0
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception1Handle:
-.byte   0x6a#  push #VectorNum
-.byte   1
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception2Handle:
-.byte   0x6a#  push #VectorNum
-.byte   2
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception3Handle:
-.byte   0x6a#  push #VectorNum
-.byte   3
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception4Handle:
-.byte   0x6a#  push #VectorNum
-.byte   4
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception5Handle:
-.byte   0x6a#  push #VectorNum
-.byte   5
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception6Handle:
-.byte   0x6a#  push #VectorNum
-.byte   6
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception7Handle:
-.byte   0x6a#  push #VectorNum
-.byte   7
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception8Handle:
-.byte   0x6a#  push #VectorNum
-.byte   8
-pushl   %eax
- .byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception9Handle:
-.byte   0x6a#  push #VectorNum
-.byte   9
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception10Handle:
-.byte   0x6a#  push #VectorNum
-.byte   10
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception11Handle:
-.byte   0x6a#  push #VectorNum
-

[edk2] [PATCH v3 04/14] MdePkg/BaseCpuLib: Remove .S files for IA32 and X64 arch

2019-04-01 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

v2: Remove CpuSleep.nasm| GCC and CpuFlushTlb.nasm| GCC in X64 arch
in BaseCpuLib.inf.

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
Reviewed-by: Liming Gao 
---
 MdePkg/Library/BaseCpuLib/BaseCpuLib.inf|  4 ---
 MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.S | 35 -
 MdePkg/Library/BaseCpuLib/X64/CpuSleep.S| 34 
 3 files changed, 73 deletions(-)
 delete mode 100644 MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.S
 delete mode 100644 MdePkg/Library/BaseCpuLib/X64/CpuSleep.S

diff --git a/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf 
b/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
index af2f09617a..a734cac377 100644
--- a/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
+++ b/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
@@ -46,10 +46,6 @@
   X64/CpuFlushTlb.nasm
   X64/CpuSleep.nasm
 
-  X64/CpuSleep.nasm| GCC
-  X64/CpuSleep.S | GCC
-  X64/CpuFlushTlb.nasm| GCC
-  X64/CpuFlushTlb.S | GCC
 
 [Sources.EBC]
   Ebc/CpuSleepFlushTlb.c
diff --git a/MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.S 
b/MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.S
deleted file mode 100644
index 05d916a589..00
--- a/MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.S
+++ /dev/null
@@ -1,35 +0,0 @@
-#--
-# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD 
License
-# which accompanies this distribution.  The full text of the license may be 
found at
-# http://opensource.org/licenses/bsd-license.php.
-#
-# THE PROGRAM 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:
-#
-#--
-
-ASM_GLOBAL ASM_PFX(CpuFlushTlb)
-
-#--
-# VOID
-# EFIAPI
-# CpuFlushTlb (
-#   VOID
-#   );
-#--
-ASM_PFX(CpuFlushTlb):
-mov %cr3, %rax
-mov %rax, %cr3
-ret
diff --git a/MdePkg/Library/BaseCpuLib/X64/CpuSleep.S 
b/MdePkg/Library/BaseCpuLib/X64/CpuSleep.S
deleted file mode 100644
index cf763689d7..00
--- a/MdePkg/Library/BaseCpuLib/X64/CpuSleep.S
+++ /dev/null
@@ -1,34 +0,0 @@
-#--
 ;
-# Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD 
License
-# which accompanies this distribution.  The full text of the license may be 
found at
-# http://opensource.org/licenses/bsd-license.php.
-#
-# THE PROGRAM 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.S
-#
-# Abstract:
-#
-#   CpuSleep function
-#
-# Notes:
-#
-#--
-
-
-#--
-# VOID
-# EFIAPI
-# CpuSleep (
-#   VOID
-#   );
-#--
-ASM_GLOBAL ASM_PFX(CpuSleep)
-ASM_PFX(CpuSleep):
-hlt
-ret
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH v3 02/14] UefiCpuPkg/BaseUefiCpuLib: Remove .S files for IA32 and X64 arch

2019-04-01 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
Reviewed-by: Eric Dong 
Reviewed-by: Liming Gao 
---
 .../Library/BaseUefiCpuLib/BaseUefiCpuLib.inf |  2 -
 .../BaseUefiCpuLib/Ia32/InitializeFpu.S   | 73 ---
 .../BaseUefiCpuLib/X64/InitializeFpu.S| 57 ---
 3 files changed, 132 deletions(-)
 delete mode 100644 UefiCpuPkg/Library/BaseUefiCpuLib/Ia32/InitializeFpu.S
 delete mode 100644 UefiCpuPkg/Library/BaseUefiCpuLib/X64/InitializeFpu.S

diff --git a/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf 
b/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
index 5614452a88..2e9756e50e 100644
--- a/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
+++ b/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
@@ -31,11 +31,9 @@
 
 [Sources.IA32]
   Ia32/InitializeFpu.nasm
-  Ia32/InitializeFpu.S
 
 [Sources.X64]
   X64/InitializeFpu.nasm
-  X64/InitializeFpu.S
 
 [Packages]
   MdePkg/MdePkg.dec
diff --git a/UefiCpuPkg/Library/BaseUefiCpuLib/Ia32/InitializeFpu.S 
b/UefiCpuPkg/Library/BaseUefiCpuLib/Ia32/InitializeFpu.S
deleted file mode 100644
index 0a1a9198f6..00
--- a/UefiCpuPkg/Library/BaseUefiCpuLib/Ia32/InitializeFpu.S
+++ /dev/null
@@ -1,73 +0,0 @@
-#--
-#*
-#*   Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
-#*   This program and the accompanying materials
-#*   are licensed and made available under the terms and conditions of the BSD 
License
-#*   which accompanies this distribution.  The full text of the license may be 
found at
-#*   http://opensource.org/licenses/bsd-license.php
-#*
-#*   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-#*   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
IMPLIED.
-#*
-#*
-#--
-
-#
-# Float control word initial value:
-# all exceptions masked, double-precision, round-to-nearest
-#
-ASM_PFX(mFpuControlWord): .word 0x027F
-#
-# Multimedia-extensions control word:
-# all exceptions masked, round-to-nearest, flush to zero for masked underflow
-#
-ASM_PFX(mMmxControlWord): .long 0x01F80
-
-#
-# 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).
-#
-ASM_GLOBAL ASM_PFX(InitializeFloatingPointUnits)
-ASM_PFX(InitializeFloatingPointUnits):
-
-pushl   %ebx
-
-#
-# Initialize floating point units
-#
-finit
-fldcw   ASM_PFX(mFpuControlWord)
-
-#
-# Use CpuId instructuion (CPUID.01H:EDX.SSE[bit 25] = 1) to test
-# whether the processor supports SSE instruction.
-#
-movl$1,  %eax
-cpuid
-btl $25, %edx
-jnc Done
-
-#
-# Set OSFXSR bit 9 in CR4
-#
-movl%cr4, %eax
-or  $0x200, %eax
-movl%eax, %cr4
-
-#
-# The processor should support SSE instruction and we can use
-# ldmxcsr instruction
-#
-ldmxcsr ASM_PFX(mMmxControlWord)
-
-Done:
-popl%ebx
-
-ret
-
-#END
-
diff --git a/UefiCpuPkg/Library/BaseUefiCpuLib/X64/InitializeFpu.S 
b/UefiCpuPkg/Library/BaseUefiCpuLib/X64/InitializeFpu.S
deleted file mode 100644
index f0b0d3e264..00
--- a/UefiCpuPkg/Library/BaseUefiCpuLib/X64/InitializeFpu.S
+++ /dev/null
@@ -1,57 +0,0 @@
-#--
-#*
-#*   Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
-#*   This program and the accompanying materials
-#*   are licensed and made available under the terms and conditions of the BSD 
License
-#*   which accompanies this distribution.  The full text of the license may be 
found at
-#*   http://opensource.org/licenses/bsd-license.php
-#*
-#*   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-#*   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
IMPLIED.
-#*
-#*
-#--
-
-#
-# Initializes floating point units for requirement of UEFI specification.
-#
-# This function initializes floating-point control word to 0x037F (all 
exceptions
-# masked,double-extended-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).
-#
-ASM_GLOBAL ASM_PFX(InitializeFloatingPointUnits)
-ASM_PFX(Initiali

[edk2] [PATCH v4 00/14] Remove .S files for IA32 and X64 arch in MdePkg and UefiCpuPkg

2019-04-01 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

v2: Remove some description in 04/10.

v3: Add 11/12 and 12/12.

v4: Add 13/14 and 14/14.

Cc: Michael D Kinney 
Cc: Liming Gao 
Cc: Eric Dong 
Cc: Ray Ni 
Cc: Hao Wu 
Cc: Maurice Ma 
Cc: Prince Agyeman 
Cc: Benjamin You 
Shenglei Zhang (14):
  UefiCpuPkg/SmmCpuFeaturesLib: Remove .S files for IA32 and X64 arch
  UefiCpuPkg/BaseUefiCpuLib: Remove .S files for IA32 and X64 arch
  UefiCpuPkg/CpuExceptionHandlerLib:Remove.S files for IA32 and X64 arch
  MdePkg/BaseCpuLib: Remove .S files for IA32 and X64 arch
  MdePkg/BaseLib: Remove .S files for IA32 and X64 arch
  MdePkg/BaseMemoryLibMmx: Remove .S files for IA32 and X64 arch
  MdePkg/BaseMemoryLibOptDxe: Remove .S files for IA32 and X64 arch
  MdePkg/BaseMemoryLibOptPei: Remove .S files for IA32 and X64 arch
  MdePkg/BaseMemoryLibRepStr: Remove .S files for IA32 and X64 arch
  MdePkg/BaseMemoryLibSse2: Remove .S files for IA32 and X64 arch
  CryptoPkg/IntrinsicLib: Remove .S files for IA32 arch
  SourceLevelDebugPkg/DebugAgentCommon: Remove .S files
  SourceLevelDebugPkg/PeCoffExtraActionLibDebug: Remove .S files
  CorebootModulePkg/SecCore: Remove .S files for IA32 arch

 CorebootModulePkg/SecCore/Ia32/SecEntry.S |  74 --
 CorebootModulePkg/SecCore/Ia32/Stack.S|  78 --
 .../Library/IntrinsicLib/Ia32/MathLShiftS64.S |  62 --
 .../Library/IntrinsicLib/Ia32/MathRShiftU64.S |  66 --
 .../Library/IntrinsicLib/IntrinsicLib.inf |   2 -
 MdePkg/Library/BaseCpuLib/BaseCpuLib.inf  |   4 -
 MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.S   |  35 -
 MdePkg/Library/BaseCpuLib/X64/CpuSleep.S  |  34 -
 MdePkg/Library/BaseLib/BaseLib.inf|  38 -
 MdePkg/Library/BaseLib/Ia32/ARShiftU64.S  |  43 --
 MdePkg/Library/BaseLib/Ia32/CpuId.S   |  63 --
 MdePkg/Library/BaseLib/Ia32/CpuIdEx.S |  67 --
 MdePkg/Library/BaseLib/Ia32/DisableCache.S|  39 -
 MdePkg/Library/BaseLib/Ia32/DisablePaging32.S |  52 --
 MdePkg/Library/BaseLib/Ia32/DivU64x32.S   |  41 --
 .../Library/BaseLib/Ia32/DivU64x32Remainder.S |  46 --
 .../Library/BaseLib/Ia32/DivU64x64Remainder.S |  89 ---
 MdePkg/Library/BaseLib/Ia32/EnableCache.S |  39 -
 .../BaseLib/Ia32/EnableDisableInterrupts.S|  36 -
 MdePkg/Library/BaseLib/Ia32/EnablePaging32.S  |  52 --
 MdePkg/Library/BaseLib/Ia32/EnablePaging64.S  |  63 --
 .../BaseLib/Ia32/InternalSwitchStack.S|  48 --
 MdePkg/Library/BaseLib/Ia32/LRotU64.S |  48 --
 MdePkg/Library/BaseLib/Ia32/LShiftU64.S   |  43 --
 MdePkg/Library/BaseLib/Ia32/LongJump.S|  41 --
 MdePkg/Library/BaseLib/Ia32/ModU64x32.S   |  40 --
 MdePkg/Library/BaseLib/Ia32/Monitor.S |  40 --
 MdePkg/Library/BaseLib/Ia32/MultU64x32.S  |  41 --
 MdePkg/Library/BaseLib/Ia32/MultU64x64.S  |  44 --
 MdePkg/Library/BaseLib/Ia32/Mwait.S   |  38 -
 MdePkg/Library/BaseLib/Ia32/RRotU64.S |  48 --
 MdePkg/Library/BaseLib/Ia32/RShiftU64.S   |  46 --
 MdePkg/Library/BaseLib/Ia32/RdRand.S  |  80 ---
 MdePkg/Library/BaseLib/Ia32/SetJump.S |  44 --
 MdePkg/Library/BaseLib/Ia32/SwapBytes64.S |  38 -
 MdePkg/Library/BaseLib/Ia32/Thunk16.S | 222 --
 MdePkg/Library/BaseLib/X64/CpuId.S|  60 --
 MdePkg/Library/BaseLib/X64/CpuIdEx.S  |  62 --
 MdePkg/Library/BaseLib/X64/DisableCache.S |  39 -
 MdePkg/Library/BaseLib/X64/DisablePaging64.S  |  82 ---
 MdePkg/Library/BaseLib/X64/EnableCache.S  |  39 -
 .../BaseLib/X64/EnableDisableInterrupts.S |  36 -
 MdePkg/Library/BaseLib/X64/LongJump.S |  54 --
 MdePkg/Library/BaseLib/X64/RdRand.S   |  72 --
 MdePkg/Library/BaseLib/X64/SetJump.S  |  53 --
 MdePkg/Library/BaseLib/X64/SwitchStack.S  |  52 --
 MdePkg/Library/BaseLib/X64/Thunk16.S  | 334 -
 .../BaseMemoryLibMmx/BaseMemoryLibMmx.inf |  22 -
 .../BaseMemoryLibMmx/Ia32/CompareMem.S|  55 --
 .../Library/BaseMemoryLibMmx/Ia32/CopyMem.S   |  86 ---
 .../Library/BaseMemoryLibMmx/Ia32/ScanMem16.S |  52 --
 .../Library/BaseMemoryLibMmx/Ia32/ScanMem32.S |  52 --
 .../Library/BaseMemoryLibMmx/Ia32/ScanMem64.S |  61 --
 .../Library/BaseMemoryLibMmx/Ia32/ScanMem8.S  |  52 --
 MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem.S |  66 --
 .../Library/BaseMemoryLibMmx/Ia32/SetMem16.S  |  59 --
 .../Library/BaseMemoryLibMmx/Ia32/SetMem32.S  |  52 --
 .../Library/BaseMemoryLibMmx/Ia32/SetMem64.S  |  43 --
 .../Library/BaseMemoryLibMmx/Ia32/ZeroMem.S   |  54 --
 .../Library/BaseMemoryLibMmx/X64/CompareMem.S |  59 --
 MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.S |  74 --
 .../Library/BaseMemoryLibMmx/X64/ScanMem16.S  |  56 --
 .../Library/BaseMemoryLibMmx/X64/ScanMem32.S  |  56 --
 .../Library/BaseMemoryLibMmx/X64/ScanMem64.S  |  55 --
 .../Library/BaseMemoryLibMmx/X64/ScanMem8.S   |  56 --
 MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.S  |  61 --
 .../Library

[edk2] [PATCH v3 01/14] UefiCpuPkg/SmmCpuFeaturesLib: Remove .S files for IA32 and X64 arch

2019-04-01 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
Reviewed-by: Eric Dong 
Reviewed-by: Liming Gao 
---
 .../Library/SmmCpuFeaturesLib/Ia32/SmiEntry.S | 278 -
 .../SmmCpuFeaturesLib/Ia32/SmiException.S | 174 ---
 .../SmmCpuFeaturesLibStm.inf  |   6 -
 .../Library/SmmCpuFeaturesLib/X64/SmiEntry.S  | 282 --
 .../SmmCpuFeaturesLib/X64/SmiException.S  | 178 ---
 5 files changed, 918 deletions(-)
 delete mode 100644 UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiEntry.S
 delete mode 100644 UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiException.S
 delete mode 100644 UefiCpuPkg/Library/SmmCpuFeaturesLib/X64/SmiEntry.S
 delete mode 100644 UefiCpuPkg/Library/SmmCpuFeaturesLib/X64/SmiException.S

diff --git a/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiEntry.S 
b/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiEntry.S
deleted file mode 100644
index 4c0f8c8933..00
--- a/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiEntry.S
+++ /dev/null
@@ -1,278 +0,0 @@
-#--
-#
-# Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD 
License
-# which accompanies this distribution.  The full text of the license may be 
found at
-# http://opensource.org/licenses/bsd-license.php.
-#
-# THE PROGRAM 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.S
-#
-# Abstract:
-#
-#   Code template of the SMI handler for a particular processor
-#
-#--
-
-ASM_GLOBAL  ASM_PFX(gcStmSmiHandlerTemplate)
-ASM_GLOBAL  ASM_PFX(gcStmSmiHandlerSize)
-ASM_GLOBAL  ASM_PFX(gcStmSmiHandlerOffset)
-ASM_GLOBAL  ASM_PFX(gStmSmiCr3)
-ASM_GLOBAL  ASM_PFX(gStmSmiStack)
-ASM_GLOBAL  ASM_PFX(gStmSmbase)
-ASM_GLOBAL  ASM_PFX(gStmXdSupported)
-ASM_GLOBAL  ASM_PFX(FeaturePcdGet (PcdCpuSmmStackGuard))
-ASM_GLOBAL  ASM_PFX(gStmSmiHandlerIdtr)
-
-.equMSR_IA32_MISC_ENABLE, 0x1A0
-.equMSR_EFER, 0xc080
-.equMSR_EFER_XD, 0x800
-
-#
-# Constants relating to TXT_PROCESSOR_SMM_DESCRIPTOR
-#
-.equDSC_OFFSET, 0xfb00
-.equDSC_GDTPTR, 0x48
-.equDSC_GDTSIZ, 0x50
-.equDSC_CS, 0x14
-.equDSC_DS, 0x16
-.equDSC_SS, 0x18
-.equDSC_OTHERSEG, 0x1A
-
-.equPROTECT_MODE_CS, 0x08
-.equPROTECT_MODE_DS, 0x20
-.equTSS_SEGMENT, 0x40
-
-.text
-ASM_PFX(gcStmSmiHandlerTemplate):
-
-_StmSmiEntryPoint:
-.byte 0xbb  # mov bx, imm16
-.word _StmGdtDesc - _StmSmiEntryPoint + 0x8000
-.byte 0x2e,0xa1 # mov ax, cs:[offset16]
-.word DSC_OFFSET + DSC_GDTSIZ
-decl%eax
-movl%eax, %cs:(%edi)# mov cs:[bx], ax
-.byte 0x66,0x2e,0xa1# mov eax, cs:[offset16]
-.word   DSC_OFFSET + DSC_GDTPTR
-movw%ax, %cs:2(%edi)
-movw%ax, %bp# ebp = GDT base
-.byte 0x66
-lgdt%cs:(%edi)
-# Patch ProtectedMode Segment
-.byte   0xb8# mov ax, imm16
-.word   PROTECT_MODE_CS # set AX for segment directly
-movl%eax, %cs:-2(%edi)  # mov cs:[bx - 2], ax
-# Patch ProtectedMode entry
-.byte 0x66, 0xbf# mov edi, SMBASE
-ASM_PFX(gStmSmbase): .space 4
-.byte 0x67
-lea ((Start32bit - _StmSmiEntryPoint) + 0x8000)(%edi), %ax
-movw %ax, %cs:-6(%edi)
-movl%cr0, %ebx
-.byte 0x66
-andl$0x9ffafff3, %ebx
-.byte 0x66
-orl $0x23, %ebx
-movl%ebx, %cr0
-.byte 0x66,0xea
-.space  4
-.space  2
-_StmGdtDesc:   .space 4
-.space 2
-
-Start32bit:
-movw$PROTECT_MODE_DS, %ax
-movl%eax,%ds
-movl%eax,%es
-movl%eax,%fs
-movl%eax,%gs
-movl%eax,%ss
-.byte   0xbc  # mov esp, imm32
-ASM_PFX(gStmSmiStack): .space 4
-movl$ASM_PFX(gStmSmiHandlerIdtr), %eax
-lidt(%eax)
-jmp ProtFlatMode
-
-ProtFlatMode:
-.byte   0xb8   # mov eax, imm32
-ASM_PFX(gStmSmiCr3): .space 4
-movl%eax, %cr3
-#
-# Need to test for CR4 specific bit support
-#
-movl$1, %eax
-cpuid  # use CPUID to determine if 
specific CR4 bits are supported
-xorl%eax, %eax # Clear EAX
-testl   $BIT2, %edx# Check for DE ca

Re: [edk2] [PATCH v3 12/12] SourceLevelDebugPkg/DebugAgentCommon: Remove .S files

2019-03-31 Thread Zhang, Shenglei
Hi Hao,

It seems it's not necessary to leave them here. I'll remove them in next 
version.

Thanks,
Shenglei

> -Original Message-
> From: Wu, Hao A
> Sent: Monday, April 1, 2019 9:25 AM
> To: Zhang, Shenglei ; edk2-devel@lists.01.org
> Subject: RE: [PATCH v3 12/12] SourceLevelDebugPkg/DebugAgentCommon:
> Remove .S files
> 
> Hello Shenglei,
> 
> There are still two .S files under SourceLevelDebugPkg:
> 
> edk2\SourceLevelDebugPkg\Library\PeCoffExtraActionLibDebug\Ia32\IntHa
> ndler.S
> edk2\SourceLevelDebugPkg\Library\PeCoffExtraActionLibDebug\X64\IntHan
> dler.S
> 
> Is there any special reason to left them in the repo?
> 
> Best Regards,
> Hao Wu
> 
> > -Original Message-
> > From: Zhang, Shenglei
> > Sent: Friday, March 29, 2019 3:28 PM
> > To: edk2-devel@lists.01.org
> > Cc: Wu, Hao A
> > Subject: [PATCH v3 12/12] SourceLevelDebugPkg/DebugAgentCommon:
> > Remove .S files
> >
> > .nasm file has been added for X86 arch. .S assembly code
> > is not required any more.
> > https://bugzilla.tianocore.org/show_bug.cgi?id=1594
> >
> > Cc: Hao Wu 
> > Contributed-under: TianoCore Contribution Agreement 1.1
> > Signed-off-by: Shenglei Zhang 
> > ---
> >  .../DebugAgentCommon/Ia32/AsmFuncs.S  | 415 -
> >  .../DebugAgentCommon/X64/AsmFuncs.S   | 431 --
> >  .../Library/DebugAgent/DxeDebugAgentLib.inf   |   2 -
> >  3 files changed, 848 deletions(-)
> >  delete mode 100644
> >
> SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/Asm
> Fun
> > cs.S
> >  delete mode 100644
> >
> SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/X64/Asm
> Fun
> > cs.S
> >
> > diff --git
> >
> a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/As
> mF
> > uncs.S
> >
> b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/A
> smF
> > uncs.S
> > deleted file mode 100644
> > index 30d279e80d..00
> > ---
> >
> a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/As
> mF
> > uncs.S
> > +++ /dev/null
> > @@ -1,415 +0,0 @@
> > -#--
> > -#
> > -# Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.
> > -# This program and the accompanying materials
> > -# are licensed and made available under the terms and conditions of the
> BSD
> > License
> > -# which accompanies this distribution.  The full text of the license may be
> > found at
> > -# http://opensource.org/licenses/bsd-license.php.
> > -#
> > -# THE PROGRAM 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.S
> > -#
> > -# Abstract:
> > -#
> > -#   Debug interrupt handle functions.
> > -#
> > -#--
> > -
> > -#include "DebugException.h"
> > -
> > -ASM_GLOBAL ASM_PFX(InterruptProcess)
> > -ASM_GLOBAL ASM_PFX(Exception0Handle)
> > -ASM_GLOBAL ASM_PFX(ExceptionStubHeaderSize)
> > -ASM_GLOBAL ASM_PFX(TimerInterruptHandle)
> > -ASM_GLOBAL ASM_PFX(CommonEntry)
> > -
> > -.macro  AGENT_HANDLER_SIGNATURE
> > -  .byte 0x41, 0x47, 0x54, 0x48   # AGENT_HANDLER_SIGNATURE
> > SIGNATURE_32('A','G','T','H')
> > -.endm
> > -
> > -.data
> > -
> > -ASM_PFX(ExceptionStubHeaderSize):  .long
> ASM_PFX(Exception1Handle) -
> > ASM_PFX(Exception0Handle)
> > -
> > -.text
> > -
> > -AGENT_HANDLER_SIGNATURE
> > -ASM_PFX(Exception0Handle):
> > -   cli
> > -   pushl %eax
> > -   mov   $0, %eax
> > -   jmp   ASM_PFX(CommonEntry)
> > -AGENT_HANDLER_SIGNATURE
> > -ASM_PFX(Exception1Handle):
> > -   cli
> > -   pushl %eax
> > -   mov   $1, %eax
> > -   jmp   ASM_PFX(CommonEntry)
> > -AGENT_HANDLER_SIGNATURE
> > -ASM_PFX(Exception2Handle):
> > -   cli
> > -   pushl %eax
> > -   mov   $2, %eax
> > -   jmp   ASM_PFX(CommonEntry)
> > -AGENT_HANDLER_SIGNATURE
> > -ASM_PFX(Exception3Handle):
> > -   cli
> > -   pushl %eax
> > -   mov   $3, %eax
> > -   jmp   ASM_PFX(CommonEntry)
> > -AGENT_HANDLER_SIGNATURE
> > -ASM_PFX(Exception4Handle):
> > -   cli
> > -   pushl %eax
> > -   mov   $4, %eax
> > -   jm

[edk2] [PATCH v3 11/12] CryptoPkg/IntrinsicLib: Remove .S files for IA32 arch

2019-03-29 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Ting Ye 
Cc: Jian Wang 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../Library/IntrinsicLib/Ia32/MathLShiftS64.S | 62 -
 .../Library/IntrinsicLib/Ia32/MathRShiftU64.S | 66 ---
 .../Library/IntrinsicLib/IntrinsicLib.inf |  2 -
 3 files changed, 130 deletions(-)
 delete mode 100644 CryptoPkg/Library/IntrinsicLib/Ia32/MathLShiftS64.S
 delete mode 100644 CryptoPkg/Library/IntrinsicLib/Ia32/MathRShiftU64.S

diff --git a/CryptoPkg/Library/IntrinsicLib/Ia32/MathLShiftS64.S 
b/CryptoPkg/Library/IntrinsicLib/Ia32/MathLShiftS64.S
deleted file mode 100644
index 7031a59a71..00
--- a/CryptoPkg/Library/IntrinsicLib/Ia32/MathLShiftS64.S
+++ /dev/null
@@ -1,62 +0,0 @@
-#--
-#
-# Copyright (c) 2014, Intel Corporation. All rights reserved.
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD 
License
-# which accompanies this distribution.  The full text of the license may be 
found at
-# http://opensource.org/licenses/bsd-license.php.
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-# Module Name:
-#
-#   MathLShiftS64.S
-#
-# Abstract:
-#
-#   64-bit Math Worker Function.
-#   Shifts a 64-bit signed value left by a certain number of bits.
-#
-#--
-
-.686:
-.code:
-
-ASM_GLOBAL ASM_PFX(__ashldi3)
-
-#--
-#
-# void __cdecl __ashldi3 (void)
-#
-#--
-ASM_PFX(__ashldi3):
-#
-# Handle shifting of 64 or more bits (return 0)
-#
-cmpb$64, %cl
-jae ReturnZero
-
-#
-# Handle shifting of between 0 and 31 bits
-#
-cmpb$32, %cl
-jae More32
-shld%cl, %eax, %edx
-shl %cl, %eax
-ret
-
-#
-# Handle shifting of between 32 and 63 bits
-#
-More32:
-movl%eax, %edx
-xor %eax, %eax
-and $31, %cl
-shl %cl, %edx
-ret
-
-ReturnZero:
-xor %eax, %eax
-xor %edx, %edx
-ret
diff --git a/CryptoPkg/Library/IntrinsicLib/Ia32/MathRShiftU64.S 
b/CryptoPkg/Library/IntrinsicLib/Ia32/MathRShiftU64.S
deleted file mode 100644
index 24142b088e..00
--- a/CryptoPkg/Library/IntrinsicLib/Ia32/MathRShiftU64.S
+++ /dev/null
@@ -1,66 +0,0 @@
-#--
-#
-# Copyright (c) 2014, Intel Corporation. All rights reserved.
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD 
License
-# which accompanies this distribution.  The full text of the license may be 
found at
-# http://opensource.org/licenses/bsd-license.php.
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-# Module Name:
-#
-#   MathRShiftU64.S
-#
-# Abstract:
-#
-#   64-bit Math Worker Function.
-#   Shifts a 64-bit unsigned value right by a certain number of bits.
-#
-#--
-
-
-.686:
-.code:
-
-ASM_GLOBAL ASM_PFX(__ashrdi3)
-
-#--
-#
-# void __cdecl __ashrdi3 (void)
-#
-#--
-ASM_PFX(__ashrdi3):
-#
-# Checking: Only handle 64bit shifting or more
-#
-cmpb$64, %cl
-jae _Exit
-
-#
-# Handle shifting between 0 and 31 bits
-#
-cmpb$32, %cl
-jae More32
-shrd%cl, %edx, %eax
-shr %cl, %edx
-ret
-
-#
-# Handle shifting of 32-63 bits
-#
-More32:
-movl%edx, %eax
-xor %edx, %edx
-and $31, %cl
-shr %cl, %eax
-ret
-
-#
-# Invalid number (less then 32bits), return 0
-#
-_Exit:
-xor %eax, %eax
-xor %edx, %edx
-ret
diff --git a/CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf 
b/CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
index a91c850013..9704b9ea7d 100644
--- a/CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
+++ b/CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
@@ -39,8 +39,6 @@
   Ia32/MathLShiftS64.c  | INTEL
   Ia32/MathRShiftU64.c  | INTEL
 
-  Ia32/MathLShiftS64.S  | GCC
-  Ia32/MathRShiftU64.S  | GCC
   Ia32/MathLShiftS64.nasm   | GCC
   Ia32/MathRShiftU64.nasm   | GCC
 

[edk2] [PATCH v3 11/12] CryptoPkg/IntrinsicLib: Remove .S files for IA32 arch

2019-03-29 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Ting Ye 
Cc: Gang Wei 
Cc: Jian Wang 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../Library/IntrinsicLib/Ia32/MathLShiftS64.S | 62 -
 .../Library/IntrinsicLib/Ia32/MathRShiftU64.S | 66 ---
 .../Library/IntrinsicLib/IntrinsicLib.inf |  2 -
 3 files changed, 130 deletions(-)
 delete mode 100644 CryptoPkg/Library/IntrinsicLib/Ia32/MathLShiftS64.S
 delete mode 100644 CryptoPkg/Library/IntrinsicLib/Ia32/MathRShiftU64.S

diff --git a/CryptoPkg/Library/IntrinsicLib/Ia32/MathLShiftS64.S 
b/CryptoPkg/Library/IntrinsicLib/Ia32/MathLShiftS64.S
deleted file mode 100644
index 7031a59a71..00
--- a/CryptoPkg/Library/IntrinsicLib/Ia32/MathLShiftS64.S
+++ /dev/null
@@ -1,62 +0,0 @@
-#--
-#
-# Copyright (c) 2014, Intel Corporation. All rights reserved.
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD 
License
-# which accompanies this distribution.  The full text of the license may be 
found at
-# http://opensource.org/licenses/bsd-license.php.
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-# Module Name:
-#
-#   MathLShiftS64.S
-#
-# Abstract:
-#
-#   64-bit Math Worker Function.
-#   Shifts a 64-bit signed value left by a certain number of bits.
-#
-#--
-
-.686:
-.code:
-
-ASM_GLOBAL ASM_PFX(__ashldi3)
-
-#--
-#
-# void __cdecl __ashldi3 (void)
-#
-#--
-ASM_PFX(__ashldi3):
-#
-# Handle shifting of 64 or more bits (return 0)
-#
-cmpb$64, %cl
-jae ReturnZero
-
-#
-# Handle shifting of between 0 and 31 bits
-#
-cmpb$32, %cl
-jae More32
-shld%cl, %eax, %edx
-shl %cl, %eax
-ret
-
-#
-# Handle shifting of between 32 and 63 bits
-#
-More32:
-movl%eax, %edx
-xor %eax, %eax
-and $31, %cl
-shl %cl, %edx
-ret
-
-ReturnZero:
-xor %eax, %eax
-xor %edx, %edx
-ret
diff --git a/CryptoPkg/Library/IntrinsicLib/Ia32/MathRShiftU64.S 
b/CryptoPkg/Library/IntrinsicLib/Ia32/MathRShiftU64.S
deleted file mode 100644
index 24142b088e..00
--- a/CryptoPkg/Library/IntrinsicLib/Ia32/MathRShiftU64.S
+++ /dev/null
@@ -1,66 +0,0 @@
-#--
-#
-# Copyright (c) 2014, Intel Corporation. All rights reserved.
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD 
License
-# which accompanies this distribution.  The full text of the license may be 
found at
-# http://opensource.org/licenses/bsd-license.php.
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-# Module Name:
-#
-#   MathRShiftU64.S
-#
-# Abstract:
-#
-#   64-bit Math Worker Function.
-#   Shifts a 64-bit unsigned value right by a certain number of bits.
-#
-#--
-
-
-.686:
-.code:
-
-ASM_GLOBAL ASM_PFX(__ashrdi3)
-
-#--
-#
-# void __cdecl __ashrdi3 (void)
-#
-#--
-ASM_PFX(__ashrdi3):
-#
-# Checking: Only handle 64bit shifting or more
-#
-cmpb$64, %cl
-jae _Exit
-
-#
-# Handle shifting between 0 and 31 bits
-#
-cmpb$32, %cl
-jae More32
-shrd%cl, %edx, %eax
-shr %cl, %edx
-ret
-
-#
-# Handle shifting of 32-63 bits
-#
-More32:
-movl%edx, %eax
-xor %edx, %edx
-and $31, %cl
-shr %cl, %eax
-ret
-
-#
-# Invalid number (less then 32bits), return 0
-#
-_Exit:
-xor %eax, %eax
-xor %edx, %edx
-ret
diff --git a/CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf 
b/CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
index a91c850013..9704b9ea7d 100644
--- a/CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
+++ b/CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
@@ -39,8 +39,6 @@
   Ia32/MathLShiftS64.c  | INTEL
   Ia32/MathRShiftU64.c  | INTEL
 
-  Ia32/MathLShiftS64.S  | GCC
-  Ia32/MathRShiftU64.S  | GCC
   Ia32/MathLShiftS64.nasm   | GCC
   Ia32/MathRShiftU64.nasm   | GCC
 

[edk2] [PATCH v3 11/12] CryptoPkg/IntrinsicLib: Remove .S files for IA32 arch

2019-03-29 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Ting Ye 
Cc: Gang Wei 
Cc: Jian Wang 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../Library/IntrinsicLib/Ia32/MathLShiftS64.S | 62 -
 .../Library/IntrinsicLib/Ia32/MathRShiftU64.S | 66 ---
 .../Library/IntrinsicLib/IntrinsicLib.inf |  2 -
 3 files changed, 130 deletions(-)
 delete mode 100644 CryptoPkg/Library/IntrinsicLib/Ia32/MathLShiftS64.S
 delete mode 100644 CryptoPkg/Library/IntrinsicLib/Ia32/MathRShiftU64.S

diff --git a/CryptoPkg/Library/IntrinsicLib/Ia32/MathLShiftS64.S 
b/CryptoPkg/Library/IntrinsicLib/Ia32/MathLShiftS64.S
deleted file mode 100644
index 7031a59a71..00
--- a/CryptoPkg/Library/IntrinsicLib/Ia32/MathLShiftS64.S
+++ /dev/null
@@ -1,62 +0,0 @@
-#--
-#
-# Copyright (c) 2014, Intel Corporation. All rights reserved.
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD 
License
-# which accompanies this distribution.  The full text of the license may be 
found at
-# http://opensource.org/licenses/bsd-license.php.
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-# Module Name:
-#
-#   MathLShiftS64.S
-#
-# Abstract:
-#
-#   64-bit Math Worker Function.
-#   Shifts a 64-bit signed value left by a certain number of bits.
-#
-#--
-
-.686:
-.code:
-
-ASM_GLOBAL ASM_PFX(__ashldi3)
-
-#--
-#
-# void __cdecl __ashldi3 (void)
-#
-#--
-ASM_PFX(__ashldi3):
-#
-# Handle shifting of 64 or more bits (return 0)
-#
-cmpb$64, %cl
-jae ReturnZero
-
-#
-# Handle shifting of between 0 and 31 bits
-#
-cmpb$32, %cl
-jae More32
-shld%cl, %eax, %edx
-shl %cl, %eax
-ret
-
-#
-# Handle shifting of between 32 and 63 bits
-#
-More32:
-movl%eax, %edx
-xor %eax, %eax
-and $31, %cl
-shl %cl, %edx
-ret
-
-ReturnZero:
-xor %eax, %eax
-xor %edx, %edx
-ret
diff --git a/CryptoPkg/Library/IntrinsicLib/Ia32/MathRShiftU64.S 
b/CryptoPkg/Library/IntrinsicLib/Ia32/MathRShiftU64.S
deleted file mode 100644
index 24142b088e..00
--- a/CryptoPkg/Library/IntrinsicLib/Ia32/MathRShiftU64.S
+++ /dev/null
@@ -1,66 +0,0 @@
-#--
-#
-# Copyright (c) 2014, Intel Corporation. All rights reserved.
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD 
License
-# which accompanies this distribution.  The full text of the license may be 
found at
-# http://opensource.org/licenses/bsd-license.php.
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-# Module Name:
-#
-#   MathRShiftU64.S
-#
-# Abstract:
-#
-#   64-bit Math Worker Function.
-#   Shifts a 64-bit unsigned value right by a certain number of bits.
-#
-#--
-
-
-.686:
-.code:
-
-ASM_GLOBAL ASM_PFX(__ashrdi3)
-
-#--
-#
-# void __cdecl __ashrdi3 (void)
-#
-#--
-ASM_PFX(__ashrdi3):
-#
-# Checking: Only handle 64bit shifting or more
-#
-cmpb$64, %cl
-jae _Exit
-
-#
-# Handle shifting between 0 and 31 bits
-#
-cmpb$32, %cl
-jae More32
-shrd%cl, %edx, %eax
-shr %cl, %edx
-ret
-
-#
-# Handle shifting of 32-63 bits
-#
-More32:
-movl%edx, %eax
-xor %edx, %edx
-and $31, %cl
-shr %cl, %eax
-ret
-
-#
-# Invalid number (less then 32bits), return 0
-#
-_Exit:
-xor %eax, %eax
-xor %edx, %edx
-ret
diff --git a/CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf 
b/CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
index a91c850013..9704b9ea7d 100644
--- a/CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
+++ b/CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
@@ -39,8 +39,6 @@
   Ia32/MathLShiftS64.c  | INTEL
   Ia32/MathRShiftU64.c  | INTEL
 
-  Ia32/MathLShiftS64.S  | GCC
-  Ia32/MathRShiftU64.S  | GCC
   Ia32/MathLShiftS64.nasm   | GCC
   Ia32/MathRShiftU64.nasm   | GCC
 

[edk2] [PATCH v3 10/12] MdePkg/BaseMemoryLibSse2: Remove .S files for IA32 and X64 arch

2019-03-29 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../BaseMemoryLibSse2/BaseMemoryLibSse2.inf   | 22 -
 .../BaseMemoryLibSse2/Ia32/CompareMem.S   | 55 
 .../Library/BaseMemoryLibSse2/Ia32/CopyMem.S  | 85 ---
 .../BaseMemoryLibSse2/Ia32/ScanMem16.S| 52 
 .../BaseMemoryLibSse2/Ia32/ScanMem32.S| 52 
 .../BaseMemoryLibSse2/Ia32/ScanMem64.S| 61 -
 .../Library/BaseMemoryLibSse2/Ia32/ScanMem8.S | 52 
 .../Library/BaseMemoryLibSse2/Ia32/SetMem.S   | 76 -
 .../Library/BaseMemoryLibSse2/Ia32/SetMem16.S | 69 ---
 .../Library/BaseMemoryLibSse2/Ia32/SetMem32.S | 68 ---
 .../Library/BaseMemoryLibSse2/Ia32/SetMem64.S | 58 -
 .../Library/BaseMemoryLibSse2/Ia32/ZeroMem.S  | 65 --
 .../BaseMemoryLibSse2/X64/CompareMem.S| 59 -
 .../Library/BaseMemoryLibSse2/X64/CopyMem.S   | 83 --
 .../Library/BaseMemoryLibSse2/X64/ScanMem16.S | 56 
 .../Library/BaseMemoryLibSse2/X64/ScanMem32.S | 56 
 .../Library/BaseMemoryLibSse2/X64/ScanMem64.S | 56 
 .../Library/BaseMemoryLibSse2/X64/ScanMem8.S  | 56 
 MdePkg/Library/BaseMemoryLibSse2/X64/SetMem.S | 72 
 .../Library/BaseMemoryLibSse2/X64/SetMem16.S  | 70 ---
 .../Library/BaseMemoryLibSse2/X64/SetMem32.S  | 69 ---
 .../Library/BaseMemoryLibSse2/X64/SetMem64.S  | 60 -
 .../Library/BaseMemoryLibSse2/X64/ZeroMem.S   | 65 --
 23 files changed, 1417 deletions(-)
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/ZeroMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/ZeroMem.S

diff --git a/MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.inf 
b/MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.inf
index 771fddaa45..340ca15f06 100644
--- a/MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.inf
+++ b/MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.inf
@@ -47,27 +47,16 @@
 
 [Sources.Ia32]
   Ia32/ScanMem64.nasm
-  Ia32/ScanMem64.S
   Ia32/ScanMem32.nasm
-  Ia32/ScanMem32.S
   Ia32/ScanMem16.nasm
-  Ia32/ScanMem16.S
   Ia32/ScanMem8.nasm
-  Ia32/ScanMem8.S
   Ia32/CompareMem.nasm
-  Ia32/CompareMem.S
   Ia32/ZeroMem.nasm
-  Ia32/ZeroMem.S
   Ia32/SetMem64.nasm
-  Ia32/SetMem64.S
   Ia32/SetMem32.nasm
-  Ia32/SetMem32.S
   Ia32/SetMem16.nasm
-  Ia32/SetMem16.S
   Ia32/SetMem.nasm
-  Ia32/SetMem.S
   Ia32/CopyMem.nasm
-  Ia32/CopyMem.S
   Ia32/ScanMem64.nasm
   Ia32/ScanMem32.nasm
   Ia32/ScanMem16.nasm
@@ -94,27 +83,16 @@
   X64/SetMem.nasm
   X64/CopyMem.nasm
   X64/ScanMem64.nasm
-  X64/ScanMem64.S
   X64/ScanMem32.nasm
-  X64/ScanMem32.S
   X64/ScanMem16.nasm
-  X64/ScanMem16.S
   X64/ScanMem8.nasm
-  X64/ScanMem8.S
   X64/CompareMem.nasm
-  X64/CompareMem.S
   X64/ZeroMem.nasm
-  X64/ZeroMem.S
   X64/SetMem64.nasm
-  X64/SetMem64.S
   X64/SetMem32.nasm
-  X64/SetMem32.S
   X64/SetMem16.nasm
-  X64/SetMem16.S
   X64/SetMem.nasm
-  X64/SetMem.S
   X64/CopyMem.nasm
-  X64/CopyMem.S
   X64/IsZeroBuffer.nasm
 
 [Packages]
diff --git a/MdePkg/Library/BaseMemoryLibSse2/Ia32/CompareMem.S 
b/MdePkg/Library/BaseMemoryLibSse2/Ia32/CompareMem.S
deleted file mode 100644
index b509586adb..00
--- a/MdePkg/Library/BaseMemoryLibSse2/Ia32/CompareMem.S
+++ /dev/null
@@ -1,55 +0,0

[edk2] [PATCH v3 09/12] MdePkg/BaseMemoryLibRepStr: Remove .S files for IA32 and X64 arch

2019-03-29 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../BaseMemoryLibRepStr.inf   | 22 ---
 .../BaseMemoryLibRepStr/Ia32/CompareMem.S | 55 
 .../BaseMemoryLibRepStr/Ia32/CopyMem.S| 65 --
 .../BaseMemoryLibRepStr/Ia32/ScanMem16.S  | 54 ---
 .../BaseMemoryLibRepStr/Ia32/ScanMem32.S  | 54 ---
 .../BaseMemoryLibRepStr/Ia32/ScanMem64.S  | 63 --
 .../BaseMemoryLibRepStr/Ia32/ScanMem8.S   | 54 ---
 .../Library/BaseMemoryLibRepStr/Ia32/SetMem.S | 46 -
 .../BaseMemoryLibRepStr/Ia32/SetMem16.S   | 43 
 .../BaseMemoryLibRepStr/Ia32/SetMem32.S   | 43 
 .../BaseMemoryLibRepStr/Ia32/SetMem64.S   | 46 -
 .../BaseMemoryLibRepStr/Ia32/ZeroMem.S| 49 --
 .../BaseMemoryLibRepStr/X64/CompareMem.S  | 59 -
 .../Library/BaseMemoryLibRepStr/X64/CopyMem.S | 66 ---
 .../BaseMemoryLibRepStr/X64/ScanMem16.S   | 56 
 .../BaseMemoryLibRepStr/X64/ScanMem32.S   | 56 
 .../BaseMemoryLibRepStr/X64/ScanMem64.S   | 56 
 .../BaseMemoryLibRepStr/X64/ScanMem8.S| 56 
 .../Library/BaseMemoryLibRepStr/X64/SetMem.S  | 47 -
 .../BaseMemoryLibRepStr/X64/SetMem16.S| 47 -
 .../BaseMemoryLibRepStr/X64/SetMem32.S| 47 -
 .../BaseMemoryLibRepStr/X64/SetMem64.S| 46 -
 .../Library/BaseMemoryLibRepStr/X64/ZeroMem.S | 50 --
 23 files changed, 1180 deletions(-)
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/ZeroMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/ZeroMem.S

diff --git a/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf 
b/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
index 049936deab..7b315b8302 100644
--- a/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
+++ b/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
@@ -48,27 +48,16 @@
 
 [Sources.Ia32]
   Ia32/ScanMem64.nasm
-  Ia32/ScanMem64.S
   Ia32/ScanMem32.nasm
-  Ia32/ScanMem32.S
   Ia32/ScanMem16.nasm
-  Ia32/ScanMem16.S
   Ia32/ScanMem8.nasm
-  Ia32/ScanMem8.S
   Ia32/CompareMem.nasm
-  Ia32/CompareMem.S
   Ia32/ZeroMem.nasm
-  Ia32/ZeroMem.S
   Ia32/SetMem64.nasm
-  Ia32/SetMem64.S
   Ia32/SetMem32.nasm
-  Ia32/SetMem32.S
   Ia32/SetMem16.nasm
-  Ia32/SetMem16.S
   Ia32/SetMem.nasm
-  Ia32/SetMem.S
   Ia32/CopyMem.nasm
-  Ia32/CopyMem.S
   Ia32/ScanMem64.nasm
   Ia32/ScanMem32.nasm
   Ia32/ScanMem16.nasm
@@ -84,27 +73,16 @@
 
 [Sources.X64]
   X64/ScanMem64.nasm
-  X64/ScanMem64.S
   X64/ScanMem32.nasm
-  X64/ScanMem32.S
   X64/ScanMem16.nasm
-  X64/ScanMem16.S
   X64/ScanMem8.nasm
-  X64/ScanMem8.S
   X64/CompareMem.nasm
-  X64/CompareMem.S
   X64/ZeroMem.nasm
-  X64/ZeroMem.S
   X64/SetMem64.nasm
-  X64/SetMem64.S
   X64/SetMem32.nasm
-  X64/SetMem32.S
   X64/SetMem16.nasm
-  X64/SetMem16.S
   X64/SetMem.nasm
-  X64/SetMem.S
   X64/CopyMem.nasm
-  X64/CopyMem.S
   X64/ScanMem64.nasm
   X64/ScanMem32.nasm
   X64/ScanMem16.nasm
diff --git a/MdePkg/Library/BaseMemoryLibRepStr/Ia32/CompareMem.S 
b/MdePkg/Library/BaseMemoryLibRepStr/Ia32/CompareMem.S
deleted file mode 100644
index b509586adb..00
--- a/MdePkg

[edk2] [PATCH v3 12/12] SourceLevelDebugPkg/DebugAgentCommon: Remove .S files

2019-03-29 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Hao Wu 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../DebugAgentCommon/Ia32/AsmFuncs.S  | 415 -
 .../DebugAgentCommon/X64/AsmFuncs.S   | 431 --
 .../Library/DebugAgent/DxeDebugAgentLib.inf   |   2 -
 3 files changed, 848 deletions(-)
 delete mode 100644 
SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/AsmFuncs.S
 delete mode 100644 
SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/X64/AsmFuncs.S

diff --git 
a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/AsmFuncs.S 
b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/AsmFuncs.S
deleted file mode 100644
index 30d279e80d..00
--- a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/AsmFuncs.S
+++ /dev/null
@@ -1,415 +0,0 @@
-#--
-#
-# Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD 
License
-# which accompanies this distribution.  The full text of the license may be 
found at
-# http://opensource.org/licenses/bsd-license.php.
-#
-# THE PROGRAM 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.S
-#
-# Abstract:
-#
-#   Debug interrupt handle functions.
-#
-#--
-
-#include "DebugException.h"
-
-ASM_GLOBAL ASM_PFX(InterruptProcess)
-ASM_GLOBAL ASM_PFX(Exception0Handle)
-ASM_GLOBAL ASM_PFX(ExceptionStubHeaderSize)
-ASM_GLOBAL ASM_PFX(TimerInterruptHandle)
-ASM_GLOBAL ASM_PFX(CommonEntry)
-
-.macro  AGENT_HANDLER_SIGNATURE
-  .byte 0x41, 0x47, 0x54, 0x48   # AGENT_HANDLER_SIGNATURE 
SIGNATURE_32('A','G','T','H')
-.endm
-
-.data
-
-ASM_PFX(ExceptionStubHeaderSize):  .long ASM_PFX(Exception1Handle) - 
ASM_PFX(Exception0Handle)
-
-.text
-
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception0Handle):
-   cli
-   pushl %eax
-   mov   $0, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception1Handle):
-   cli
-   pushl %eax
-   mov   $1, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception2Handle):
-   cli
-   pushl %eax
-   mov   $2, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception3Handle):
-   cli
-   pushl %eax
-   mov   $3, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception4Handle):
-   cli
-   pushl %eax
-   mov   $4, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception5Handle):
-   cli
-   pushl %eax
-   mov   $5, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception6Handle):
-   cli
-   pushl %eax
-   mov   $6, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception7Handle):
-   cli
-   pushl %eax
-   mov   $7, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception8Handle):
-   cli
-   pushl %eax
-   mov   $8, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception9Handle):
-   cli
-   pushl %eax
-   mov   $9, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception10Handle):
-   cli
-   pushl %eax
-   mov   $10, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception11Handle):
-   cli
-   pushl %eax
-   mov   $11, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception12Handle):
-   cli
-   pushl %eax
-   mov   $12, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception13Handle):
-   cli
-   pushl %eax
-   mov   $13, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception14Handle):
-   cli
-   pushl %eax
-   mov   $14, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception15Handle):
-   cli
-   pushl %eax
-   mov   $15, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception16Handle):
-   cli
-   pushl %eax
-   mov   $16, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception17Handle):
-   cli
-   pushl %eax
-   mov   $17, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception18Handle):
-   cli
-   pushl %eax
-   mov   $18, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(Exception19Handle):
-   cli
-   pushl %eax
-   mov   $19, %eax
-   jmp   ASM_PFX(CommonEntry)
-AGENT_HANDLER_SIGNATURE
-ASM_PFX(TimerInterruptHandle):
-   cli
-   pushl %eax
-   mov   $32, %eax
-   jmp   ASM_PFX(CommonEntry)
-
-
-ASM_PFX(CommonEntry):
-
-#

[edk2] [PATCH v3 00/12] Remove .S files for IA32 and X64 arch in MdePkg and UefiCpuPkg

2019-03-29 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

v2: Remove some description in 04/10.

v3: Add 11/12 and 12/12.

Cc: Michael D Kinney 
Cc: Liming Gao 
Cc: Eric Dong 
Cc: Ray Ni 
Shenglei Zhang (12):
  UefiCpuPkg/SmmCpuFeaturesLib: Remove .S files for IA32 and X64 arch
  UefiCpuPkg/BaseUefiCpuLib: Remove .S files for IA32 and X64 arch
  UefiCpuPkg/CpuExceptionHandlerLib:Remove.S files for IA32 and X64 arch
  MdePkg/BaseCpuLib: Remove .S files for IA32 and X64 arch
  MdePkg/BaseLib: Remove .S files for IA32 and X64 arch
  MdePkg/BaseMemoryLibMmx: Remove .S files for IA32 and X64 arch
  MdePkg/BaseMemoryLibOptDxe: Remove .S files for IA32 and X64 arch
  MdePkg/BaseMemoryLibOptPei: Remove .S files for IA32 and X64 arch
  MdePkg/BaseMemoryLibRepStr: Remove .S files for IA32 and X64 arch
  MdePkg/BaseMemoryLibSse2: Remove .S files for IA32 and X64 arch
  CryptoPkg/IntrinsicLib: Remove .S files for IA32 arch
  SourceLevelDebugPkg/DebugAgentCommon: Remove .S files

 .../Library/IntrinsicLib/Ia32/MathLShiftS64.S |  62 --
 .../Library/IntrinsicLib/Ia32/MathRShiftU64.S |  66 --
 .../Library/IntrinsicLib/IntrinsicLib.inf |   2 -
 MdePkg/Library/BaseCpuLib/BaseCpuLib.inf  |   4 -
 MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.S   |  35 -
 MdePkg/Library/BaseCpuLib/X64/CpuSleep.S  |  34 -
 MdePkg/Library/BaseLib/BaseLib.inf|  38 -
 MdePkg/Library/BaseLib/Ia32/ARShiftU64.S  |  43 --
 MdePkg/Library/BaseLib/Ia32/CpuId.S   |  63 --
 MdePkg/Library/BaseLib/Ia32/CpuIdEx.S |  67 --
 MdePkg/Library/BaseLib/Ia32/DisableCache.S|  39 -
 MdePkg/Library/BaseLib/Ia32/DisablePaging32.S |  52 --
 MdePkg/Library/BaseLib/Ia32/DivU64x32.S   |  41 --
 .../Library/BaseLib/Ia32/DivU64x32Remainder.S |  46 --
 .../Library/BaseLib/Ia32/DivU64x64Remainder.S |  89 ---
 MdePkg/Library/BaseLib/Ia32/EnableCache.S |  39 -
 .../BaseLib/Ia32/EnableDisableInterrupts.S|  36 -
 MdePkg/Library/BaseLib/Ia32/EnablePaging32.S  |  52 --
 MdePkg/Library/BaseLib/Ia32/EnablePaging64.S  |  63 --
 .../BaseLib/Ia32/InternalSwitchStack.S|  48 --
 MdePkg/Library/BaseLib/Ia32/LRotU64.S |  48 --
 MdePkg/Library/BaseLib/Ia32/LShiftU64.S   |  43 --
 MdePkg/Library/BaseLib/Ia32/LongJump.S|  41 --
 MdePkg/Library/BaseLib/Ia32/ModU64x32.S   |  40 --
 MdePkg/Library/BaseLib/Ia32/Monitor.S |  40 --
 MdePkg/Library/BaseLib/Ia32/MultU64x32.S  |  41 --
 MdePkg/Library/BaseLib/Ia32/MultU64x64.S  |  44 --
 MdePkg/Library/BaseLib/Ia32/Mwait.S   |  38 -
 MdePkg/Library/BaseLib/Ia32/RRotU64.S |  48 --
 MdePkg/Library/BaseLib/Ia32/RShiftU64.S   |  46 --
 MdePkg/Library/BaseLib/Ia32/RdRand.S  |  80 ---
 MdePkg/Library/BaseLib/Ia32/SetJump.S |  44 --
 MdePkg/Library/BaseLib/Ia32/SwapBytes64.S |  38 -
 MdePkg/Library/BaseLib/Ia32/Thunk16.S | 222 --
 MdePkg/Library/BaseLib/X64/CpuId.S|  60 --
 MdePkg/Library/BaseLib/X64/CpuIdEx.S  |  62 --
 MdePkg/Library/BaseLib/X64/DisableCache.S |  39 -
 MdePkg/Library/BaseLib/X64/DisablePaging64.S  |  82 ---
 MdePkg/Library/BaseLib/X64/EnableCache.S  |  39 -
 .../BaseLib/X64/EnableDisableInterrupts.S |  36 -
 MdePkg/Library/BaseLib/X64/LongJump.S |  54 --
 MdePkg/Library/BaseLib/X64/RdRand.S   |  72 --
 MdePkg/Library/BaseLib/X64/SetJump.S  |  53 --
 MdePkg/Library/BaseLib/X64/SwitchStack.S  |  52 --
 MdePkg/Library/BaseLib/X64/Thunk16.S  | 334 -
 .../BaseMemoryLibMmx/BaseMemoryLibMmx.inf |  22 -
 .../BaseMemoryLibMmx/Ia32/CompareMem.S|  55 --
 .../Library/BaseMemoryLibMmx/Ia32/CopyMem.S   |  86 ---
 .../Library/BaseMemoryLibMmx/Ia32/ScanMem16.S |  52 --
 .../Library/BaseMemoryLibMmx/Ia32/ScanMem32.S |  52 --
 .../Library/BaseMemoryLibMmx/Ia32/ScanMem64.S |  61 --
 .../Library/BaseMemoryLibMmx/Ia32/ScanMem8.S  |  52 --
 MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem.S |  66 --
 .../Library/BaseMemoryLibMmx/Ia32/SetMem16.S  |  59 --
 .../Library/BaseMemoryLibMmx/Ia32/SetMem32.S  |  52 --
 .../Library/BaseMemoryLibMmx/Ia32/SetMem64.S  |  43 --
 .../Library/BaseMemoryLibMmx/Ia32/ZeroMem.S   |  54 --
 .../Library/BaseMemoryLibMmx/X64/CompareMem.S |  59 --
 MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.S |  74 --
 .../Library/BaseMemoryLibMmx/X64/ScanMem16.S  |  56 --
 .../Library/BaseMemoryLibMmx/X64/ScanMem32.S  |  56 --
 .../Library/BaseMemoryLibMmx/X64/ScanMem64.S  |  55 --
 .../Library/BaseMemoryLibMmx/X64/ScanMem8.S   |  56 --
 MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.S  |  61 --
 .../Library/BaseMemoryLibMmx/X64/SetMem16.S   |  60 --
 .../Library/BaseMemoryLibMmx/X64/SetMem32.S   |  55 --
 .../Library/BaseMemoryLibMmx/X64/SetMem64.S   |  47 --
 MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.S |  57 --
 .../BaseMemoryLibOptDxe.inf   |  22 -
 .../BaseMemoryLibOptDxe/Ia32/CompareMem.S |  55

[edk2] [PATCH v3 05/12] MdePkg/BaseLib: Remove .S files for IA32 and X64 arch

2019-03-29 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 MdePkg/Library/BaseLib/BaseLib.inf|  38 --
 MdePkg/Library/BaseLib/Ia32/ARShiftU64.S  |  43 ---
 MdePkg/Library/BaseLib/Ia32/CpuId.S   |  63 
 MdePkg/Library/BaseLib/Ia32/CpuIdEx.S |  67 
 MdePkg/Library/BaseLib/Ia32/DisableCache.S|  39 --
 MdePkg/Library/BaseLib/Ia32/DisablePaging32.S |  52 ---
 MdePkg/Library/BaseLib/Ia32/DivU64x32.S   |  41 ---
 .../Library/BaseLib/Ia32/DivU64x32Remainder.S |  46 ---
 .../Library/BaseLib/Ia32/DivU64x64Remainder.S |  89 -
 MdePkg/Library/BaseLib/Ia32/EnableCache.S |  39 --
 .../BaseLib/Ia32/EnableDisableInterrupts.S|  36 --
 MdePkg/Library/BaseLib/Ia32/EnablePaging32.S  |  52 ---
 MdePkg/Library/BaseLib/Ia32/EnablePaging64.S  |  63 
 .../BaseLib/Ia32/InternalSwitchStack.S|  48 ---
 MdePkg/Library/BaseLib/Ia32/LRotU64.S |  48 ---
 MdePkg/Library/BaseLib/Ia32/LShiftU64.S   |  43 ---
 MdePkg/Library/BaseLib/Ia32/LongJump.S|  41 ---
 MdePkg/Library/BaseLib/Ia32/ModU64x32.S   |  40 ---
 MdePkg/Library/BaseLib/Ia32/Monitor.S |  40 ---
 MdePkg/Library/BaseLib/Ia32/MultU64x32.S  |  41 ---
 MdePkg/Library/BaseLib/Ia32/MultU64x64.S  |  44 ---
 MdePkg/Library/BaseLib/Ia32/Mwait.S   |  38 --
 MdePkg/Library/BaseLib/Ia32/RRotU64.S |  48 ---
 MdePkg/Library/BaseLib/Ia32/RShiftU64.S   |  46 ---
 MdePkg/Library/BaseLib/Ia32/RdRand.S  |  80 -
 MdePkg/Library/BaseLib/Ia32/SetJump.S |  44 ---
 MdePkg/Library/BaseLib/Ia32/SwapBytes64.S |  38 --
 MdePkg/Library/BaseLib/Ia32/Thunk16.S | 222 
 MdePkg/Library/BaseLib/X64/CpuId.S|  60 
 MdePkg/Library/BaseLib/X64/CpuIdEx.S  |  62 
 MdePkg/Library/BaseLib/X64/DisableCache.S |  39 --
 MdePkg/Library/BaseLib/X64/DisablePaging64.S  |  82 -
 MdePkg/Library/BaseLib/X64/EnableCache.S  |  39 --
 .../BaseLib/X64/EnableDisableInterrupts.S |  36 --
 MdePkg/Library/BaseLib/X64/LongJump.S |  54 ---
 MdePkg/Library/BaseLib/X64/RdRand.S   |  72 
 MdePkg/Library/BaseLib/X64/SetJump.S  |  53 ---
 MdePkg/Library/BaseLib/X64/SwitchStack.S  |  52 ---
 MdePkg/Library/BaseLib/X64/Thunk16.S  | 334 --
 39 files changed, 2412 deletions(-)
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/ARShiftU64.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/CpuId.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/CpuIdEx.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/DisableCache.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/DisablePaging32.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/DivU64x32.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/DivU64x32Remainder.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/DivU64x64Remainder.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/EnableCache.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/EnableDisableInterrupts.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/EnablePaging32.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/EnablePaging64.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/InternalSwitchStack.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/LRotU64.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/LShiftU64.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/LongJump.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/ModU64x32.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/Monitor.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/MultU64x32.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/MultU64x64.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/Mwait.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/RRotU64.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/RShiftU64.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/RdRand.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/SetJump.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/SwapBytes64.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/Thunk16.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/CpuId.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/CpuIdEx.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/DisableCache.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/DisablePaging64.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/EnableCache.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/EnableDisableInterrupts.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/LongJump.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/RdRand.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/SetJump.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/SwitchStack.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/Thunk16.S

diff --git a/MdePkg/Library/BaseLib/BaseLib.inf 
b/MdePkg/Library/BaseLib/BaseLib.inf
index a0d6c372f9..16829deeb4

[edk2] [PATCH v3 02/12] UefiCpuPkg/BaseUefiCpuLib: Remove .S files for IA32 and X64 arch

2019-03-29 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
Reviewed-by: Eric Dong 
---
 .../Library/BaseUefiCpuLib/BaseUefiCpuLib.inf |  2 -
 .../BaseUefiCpuLib/Ia32/InitializeFpu.S   | 73 ---
 .../BaseUefiCpuLib/X64/InitializeFpu.S| 57 ---
 3 files changed, 132 deletions(-)
 delete mode 100644 UefiCpuPkg/Library/BaseUefiCpuLib/Ia32/InitializeFpu.S
 delete mode 100644 UefiCpuPkg/Library/BaseUefiCpuLib/X64/InitializeFpu.S

diff --git a/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf 
b/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
index 5614452a88..2e9756e50e 100644
--- a/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
+++ b/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
@@ -31,11 +31,9 @@
 
 [Sources.IA32]
   Ia32/InitializeFpu.nasm
-  Ia32/InitializeFpu.S
 
 [Sources.X64]
   X64/InitializeFpu.nasm
-  X64/InitializeFpu.S
 
 [Packages]
   MdePkg/MdePkg.dec
diff --git a/UefiCpuPkg/Library/BaseUefiCpuLib/Ia32/InitializeFpu.S 
b/UefiCpuPkg/Library/BaseUefiCpuLib/Ia32/InitializeFpu.S
deleted file mode 100644
index 0a1a9198f6..00
--- a/UefiCpuPkg/Library/BaseUefiCpuLib/Ia32/InitializeFpu.S
+++ /dev/null
@@ -1,73 +0,0 @@
-#--
-#*
-#*   Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
-#*   This program and the accompanying materials
-#*   are licensed and made available under the terms and conditions of the BSD 
License
-#*   which accompanies this distribution.  The full text of the license may be 
found at
-#*   http://opensource.org/licenses/bsd-license.php
-#*
-#*   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-#*   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
IMPLIED.
-#*
-#*
-#--
-
-#
-# Float control word initial value:
-# all exceptions masked, double-precision, round-to-nearest
-#
-ASM_PFX(mFpuControlWord): .word 0x027F
-#
-# Multimedia-extensions control word:
-# all exceptions masked, round-to-nearest, flush to zero for masked underflow
-#
-ASM_PFX(mMmxControlWord): .long 0x01F80
-
-#
-# 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).
-#
-ASM_GLOBAL ASM_PFX(InitializeFloatingPointUnits)
-ASM_PFX(InitializeFloatingPointUnits):
-
-pushl   %ebx
-
-#
-# Initialize floating point units
-#
-finit
-fldcw   ASM_PFX(mFpuControlWord)
-
-#
-# Use CpuId instructuion (CPUID.01H:EDX.SSE[bit 25] = 1) to test
-# whether the processor supports SSE instruction.
-#
-movl$1,  %eax
-cpuid
-btl $25, %edx
-jnc Done
-
-#
-# Set OSFXSR bit 9 in CR4
-#
-movl%cr4, %eax
-or  $0x200, %eax
-movl%eax, %cr4
-
-#
-# The processor should support SSE instruction and we can use
-# ldmxcsr instruction
-#
-ldmxcsr ASM_PFX(mMmxControlWord)
-
-Done:
-popl%ebx
-
-ret
-
-#END
-
diff --git a/UefiCpuPkg/Library/BaseUefiCpuLib/X64/InitializeFpu.S 
b/UefiCpuPkg/Library/BaseUefiCpuLib/X64/InitializeFpu.S
deleted file mode 100644
index f0b0d3e264..00
--- a/UefiCpuPkg/Library/BaseUefiCpuLib/X64/InitializeFpu.S
+++ /dev/null
@@ -1,57 +0,0 @@
-#--
-#*
-#*   Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
-#*   This program and the accompanying materials
-#*   are licensed and made available under the terms and conditions of the BSD 
License
-#*   which accompanies this distribution.  The full text of the license may be 
found at
-#*   http://opensource.org/licenses/bsd-license.php
-#*
-#*   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-#*   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
IMPLIED.
-#*
-#*
-#--
-
-#
-# Initializes floating point units for requirement of UEFI specification.
-#
-# This function initializes floating-point control word to 0x037F (all 
exceptions
-# masked,double-extended-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).
-#
-ASM_GLOBAL ASM_PFX(InitializeFloatingPointUnits)
-ASM_PFX(InitializeFloatingPointUnits):
-
-#
-#

[edk2] [PATCH v3 03/12] UefiCpuPkg/CpuExceptionHandlerLib:Remove.S files for IA32 and X64 arch

2019-03-29 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../DxeCpuExceptionHandlerLib.inf |   2 -
 .../Ia32/ExceptionHandlerAsm.S| 667 --
 .../PeiCpuExceptionHandlerLib.inf |   2 -
 .../SecPeiCpuExceptionHandlerLib.inf  |   2 -
 .../SmmCpuExceptionHandlerLib.inf |   2 -
 .../X64/ExceptionHandlerAsm.S | 434 
 6 files changed, 1109 deletions(-)
 delete mode 100644 
UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32/ExceptionHandlerAsm.S
 delete mode 100644 
UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ExceptionHandlerAsm.S

diff --git 
a/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf 
b/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
index a480890165..391e49f077 100644
--- a/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
+++ b/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
@@ -30,13 +30,11 @@
 [Sources.Ia32]
   Ia32/ExceptionHandlerAsm.nasm
   Ia32/ExceptionTssEntryAsm.nasm
-  Ia32/ExceptionHandlerAsm.S
   Ia32/ArchExceptionHandler.c
   Ia32/ArchInterruptDefs.h
 
 [Sources.X64]
   X64/ExceptionHandlerAsm.nasm
-  X64/ExceptionHandlerAsm.S
   X64/ArchExceptionHandler.c
   X64/ArchInterruptDefs.h
 
diff --git 
a/UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32/ExceptionHandlerAsm.S 
b/UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32/ExceptionHandlerAsm.S
deleted file mode 100644
index c134257d9d..00
--- a/UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32/ExceptionHandlerAsm.S
+++ /dev/null
@@ -1,667 +0,0 @@
-#--
-#*
-#*   Copyright (c) 2012 - 2015, Intel Corporation. All rights reserved.
-#*   This program and the accompanying materials
-#*   are licensed and made available under the terms and conditions of the BSD 
License
-#*   which accompanies this distribution.  The full text of the license may be 
found at
-#*   http://opensource.org/licenses/bsd-license.php
-#*
-#*   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-#*   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
IMPLIED.
-#*
-#*ExceptionHandlerAsm.S
-#*
-#*   Abstract:
-#*
-#* IA32 CPU Exception Handler
-#
-#--
-
-
-#.MMX
-#.XMM
-
-ASM_GLOBAL ASM_PFX(CommonExceptionHandler)
-ASM_GLOBAL ASM_PFX(CommonInterruptEntry)
-ASM_GLOBAL ASM_PFX(HookAfterStubHeaderEnd)
-
-#EXTRN ASM_PFX(mErrorCodeFlag):DWORD   # Error code flags for 
exceptions
-#EXTRN ASM_PFX(mDoFarReturnFlag):DWORD # Do far return flag
-
-.text
-
-#
-# exception handler stub table
-#
-Exception0Handle:
-.byte   0x6a#  push #VectorNum
-.byte   0
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception1Handle:
-.byte   0x6a#  push #VectorNum
-.byte   1
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception2Handle:
-.byte   0x6a#  push #VectorNum
-.byte   2
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception3Handle:
-.byte   0x6a#  push #VectorNum
-.byte   3
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception4Handle:
-.byte   0x6a#  push #VectorNum
-.byte   4
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception5Handle:
-.byte   0x6a#  push #VectorNum
-.byte   5
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception6Handle:
-.byte   0x6a#  push #VectorNum
-.byte   6
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception7Handle:
-.byte   0x6a#  push #VectorNum
-.byte   7
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception8Handle:
-.byte   0x6a#  push #VectorNum
-.byte   8
-pushl   %eax
- .byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception9Handle:
-.byte   0x6a#  push #VectorNum
-.byte   9
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception10Handle:
-.byte   0x6a#  push #VectorNum
-.byte   10
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception11Handle:
-.byte   0x6a#  push #VectorNum
-.byte   11
-pushl   %eax
-.byte   0xB8
-.long

[edk2] [PATCH v3 08/12] MdePkg/BaseMemoryLibOptPei: Remove .S files for IA32 and X64 arch

2019-03-29 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../BaseMemoryLibOptPei.inf   | 22 ---
 .../BaseMemoryLibOptPei/Ia32/CompareMem.S | 55 
 .../BaseMemoryLibOptPei/Ia32/CopyMem.S| 62 -
 .../BaseMemoryLibOptPei/Ia32/ScanMem16.S  | 52 ---
 .../BaseMemoryLibOptPei/Ia32/ScanMem32.S  | 52 ---
 .../BaseMemoryLibOptPei/Ia32/ScanMem64.S  | 61 -
 .../BaseMemoryLibOptPei/Ia32/ScanMem8.S   | 52 ---
 .../Library/BaseMemoryLibOptPei/Ia32/SetMem.S | 50 --
 .../BaseMemoryLibOptPei/Ia32/SetMem16.S   | 43 
 .../BaseMemoryLibOptPei/Ia32/SetMem32.S   | 43 
 .../BaseMemoryLibOptPei/Ia32/SetMem64.S   | 46 -
 .../BaseMemoryLibOptPei/Ia32/ZeroMem.S| 49 --
 .../BaseMemoryLibOptPei/X64/CompareMem.S  | 59 -
 .../Library/BaseMemoryLibOptPei/X64/CopyMem.S | 66 ---
 .../BaseMemoryLibOptPei/X64/ScanMem16.S   | 56 
 .../BaseMemoryLibOptPei/X64/ScanMem32.S   | 56 
 .../BaseMemoryLibOptPei/X64/ScanMem64.S   | 56 
 .../BaseMemoryLibOptPei/X64/ScanMem8.S| 56 
 .../Library/BaseMemoryLibOptPei/X64/SetMem.S  | 47 -
 .../BaseMemoryLibOptPei/X64/SetMem16.S| 47 -
 .../BaseMemoryLibOptPei/X64/SetMem32.S| 47 -
 .../BaseMemoryLibOptPei/X64/SetMem64.S| 46 -
 .../Library/BaseMemoryLibOptPei/X64/ZeroMem.S | 50 --
 23 files changed, 1173 deletions(-)
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/ZeroMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/ZeroMem.S

diff --git a/MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf 
b/MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf
index 8f274d83b0..6fcb5fdac2 100644
--- a/MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf
+++ b/MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf
@@ -35,27 +35,16 @@
 
 [Sources.Ia32]
   Ia32/ScanMem64.nasm
-  Ia32/ScanMem64.S
   Ia32/ScanMem32.nasm
-  Ia32/ScanMem32.S
   Ia32/ScanMem16.nasm
-  Ia32/ScanMem16.S
   Ia32/ScanMem8.nasm
-  Ia32/ScanMem8.S
   Ia32/CompareMem.nasm
-  Ia32/CompareMem.S
   Ia32/ZeroMem.nasm
-  Ia32/ZeroMem.S
   Ia32/SetMem64.nasm
-  Ia32/SetMem64.S
   Ia32/SetMem32.nasm
-  Ia32/SetMem32.S
   Ia32/SetMem16.nasm
-  Ia32/SetMem16.S
   Ia32/SetMem.nasm
-  Ia32/SetMem.S
   Ia32/CopyMem.nasm
-  Ia32/CopyMem.S
   Ia32/ScanMem64.nasm
   Ia32/ScanMem32.nasm
   Ia32/ScanMem16.nasm
@@ -84,27 +73,16 @@
 
 [Sources.X64]
   X64/ScanMem64.nasm
-  X64/ScanMem64.S
   X64/ScanMem32.nasm
-  X64/ScanMem32.S
   X64/ScanMem16.nasm
-  X64/ScanMem16.S
   X64/ScanMem8.nasm
-  X64/ScanMem8.S
   X64/CompareMem.nasm
-  X64/CompareMem.S
   X64/ZeroMem.nasm
-  X64/ZeroMem.S
   X64/SetMem64.nasm
-  X64/SetMem64.S
   X64/SetMem32.nasm
-  X64/SetMem32.S
   X64/SetMem16.nasm
-  X64/SetMem16.S
   X64/SetMem.nasm
-  X64/SetMem.S
   X64/CopyMem.nasm
-  X64/CopyMem.S
   X64/IsZeroBuffer.nasm
   ScanMem64Wrapper.c
   ScanMem32Wrapper.c
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/Ia32/CompareMem.S 
b/MdePkg/Library/BaseMemoryLibOptPei/Ia32/CompareMem.S
deleted file mode 100644
index 23758781c9..00
--- a/MdePkg

[edk2] [PATCH v3 04/12] MdePkg/BaseCpuLib: Remove .S files for IA32 and X64 arch

2019-03-29 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

v2: Remove CpuSleep.nasm| GCC and CpuFlushTlb.nasm| GCC in X64 arch
in BaseCpuLib.inf.

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 MdePkg/Library/BaseCpuLib/BaseCpuLib.inf|  4 ---
 MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.S | 35 -
 MdePkg/Library/BaseCpuLib/X64/CpuSleep.S| 34 
 3 files changed, 73 deletions(-)
 delete mode 100644 MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.S
 delete mode 100644 MdePkg/Library/BaseCpuLib/X64/CpuSleep.S

diff --git a/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf 
b/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
index af2f09617a..a734cac377 100644
--- a/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
+++ b/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
@@ -46,10 +46,6 @@
   X64/CpuFlushTlb.nasm
   X64/CpuSleep.nasm
 
-  X64/CpuSleep.nasm| GCC
-  X64/CpuSleep.S | GCC
-  X64/CpuFlushTlb.nasm| GCC
-  X64/CpuFlushTlb.S | GCC
 
 [Sources.EBC]
   Ebc/CpuSleepFlushTlb.c
diff --git a/MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.S 
b/MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.S
deleted file mode 100644
index 05d916a589..00
--- a/MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.S
+++ /dev/null
@@ -1,35 +0,0 @@
-#--
-# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD 
License
-# which accompanies this distribution.  The full text of the license may be 
found at
-# http://opensource.org/licenses/bsd-license.php.
-#
-# THE PROGRAM 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:
-#
-#--
-
-ASM_GLOBAL ASM_PFX(CpuFlushTlb)
-
-#--
-# VOID
-# EFIAPI
-# CpuFlushTlb (
-#   VOID
-#   );
-#--
-ASM_PFX(CpuFlushTlb):
-mov %cr3, %rax
-mov %rax, %cr3
-ret
diff --git a/MdePkg/Library/BaseCpuLib/X64/CpuSleep.S 
b/MdePkg/Library/BaseCpuLib/X64/CpuSleep.S
deleted file mode 100644
index cf763689d7..00
--- a/MdePkg/Library/BaseCpuLib/X64/CpuSleep.S
+++ /dev/null
@@ -1,34 +0,0 @@
-#--
 ;
-# Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD 
License
-# which accompanies this distribution.  The full text of the license may be 
found at
-# http://opensource.org/licenses/bsd-license.php.
-#
-# THE PROGRAM 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.S
-#
-# Abstract:
-#
-#   CpuSleep function
-#
-# Notes:
-#
-#--
-
-
-#--
-# VOID
-# EFIAPI
-# CpuSleep (
-#   VOID
-#   );
-#--
-ASM_GLOBAL ASM_PFX(CpuSleep)
-ASM_PFX(CpuSleep):
-hlt
-ret
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH v3 01/12] UefiCpuPkg/SmmCpuFeaturesLib: Remove .S files for IA32 and X64 arch

2019-03-29 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Change-Id: Ibf97f907a36f84bf46b2b562a2f7e8eb514a8b8e
Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
Reviewed-by: Eric Dong 
---
 .../Library/SmmCpuFeaturesLib/Ia32/SmiEntry.S | 278 -
 .../SmmCpuFeaturesLib/Ia32/SmiException.S | 174 ---
 .../SmmCpuFeaturesLibStm.inf  |   6 -
 .../Library/SmmCpuFeaturesLib/X64/SmiEntry.S  | 282 --
 .../SmmCpuFeaturesLib/X64/SmiException.S  | 178 ---
 5 files changed, 918 deletions(-)
 delete mode 100644 UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiEntry.S
 delete mode 100644 UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiException.S
 delete mode 100644 UefiCpuPkg/Library/SmmCpuFeaturesLib/X64/SmiEntry.S
 delete mode 100644 UefiCpuPkg/Library/SmmCpuFeaturesLib/X64/SmiException.S

diff --git a/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiEntry.S 
b/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiEntry.S
deleted file mode 100644
index 4c0f8c8933..00
--- a/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiEntry.S
+++ /dev/null
@@ -1,278 +0,0 @@
-#--
-#
-# Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD 
License
-# which accompanies this distribution.  The full text of the license may be 
found at
-# http://opensource.org/licenses/bsd-license.php.
-#
-# THE PROGRAM 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.S
-#
-# Abstract:
-#
-#   Code template of the SMI handler for a particular processor
-#
-#--
-
-ASM_GLOBAL  ASM_PFX(gcStmSmiHandlerTemplate)
-ASM_GLOBAL  ASM_PFX(gcStmSmiHandlerSize)
-ASM_GLOBAL  ASM_PFX(gcStmSmiHandlerOffset)
-ASM_GLOBAL  ASM_PFX(gStmSmiCr3)
-ASM_GLOBAL  ASM_PFX(gStmSmiStack)
-ASM_GLOBAL  ASM_PFX(gStmSmbase)
-ASM_GLOBAL  ASM_PFX(gStmXdSupported)
-ASM_GLOBAL  ASM_PFX(FeaturePcdGet (PcdCpuSmmStackGuard))
-ASM_GLOBAL  ASM_PFX(gStmSmiHandlerIdtr)
-
-.equMSR_IA32_MISC_ENABLE, 0x1A0
-.equMSR_EFER, 0xc080
-.equMSR_EFER_XD, 0x800
-
-#
-# Constants relating to TXT_PROCESSOR_SMM_DESCRIPTOR
-#
-.equDSC_OFFSET, 0xfb00
-.equDSC_GDTPTR, 0x48
-.equDSC_GDTSIZ, 0x50
-.equDSC_CS, 0x14
-.equDSC_DS, 0x16
-.equDSC_SS, 0x18
-.equDSC_OTHERSEG, 0x1A
-
-.equPROTECT_MODE_CS, 0x08
-.equPROTECT_MODE_DS, 0x20
-.equTSS_SEGMENT, 0x40
-
-.text
-ASM_PFX(gcStmSmiHandlerTemplate):
-
-_StmSmiEntryPoint:
-.byte 0xbb  # mov bx, imm16
-.word _StmGdtDesc - _StmSmiEntryPoint + 0x8000
-.byte 0x2e,0xa1 # mov ax, cs:[offset16]
-.word DSC_OFFSET + DSC_GDTSIZ
-decl%eax
-movl%eax, %cs:(%edi)# mov cs:[bx], ax
-.byte 0x66,0x2e,0xa1# mov eax, cs:[offset16]
-.word   DSC_OFFSET + DSC_GDTPTR
-movw%ax, %cs:2(%edi)
-movw%ax, %bp# ebp = GDT base
-.byte 0x66
-lgdt%cs:(%edi)
-# Patch ProtectedMode Segment
-.byte   0xb8# mov ax, imm16
-.word   PROTECT_MODE_CS # set AX for segment directly
-movl%eax, %cs:-2(%edi)  # mov cs:[bx - 2], ax
-# Patch ProtectedMode entry
-.byte 0x66, 0xbf# mov edi, SMBASE
-ASM_PFX(gStmSmbase): .space 4
-.byte 0x67
-lea ((Start32bit - _StmSmiEntryPoint) + 0x8000)(%edi), %ax
-movw %ax, %cs:-6(%edi)
-movl%cr0, %ebx
-.byte 0x66
-andl$0x9ffafff3, %ebx
-.byte 0x66
-orl $0x23, %ebx
-movl%ebx, %cr0
-.byte 0x66,0xea
-.space  4
-.space  2
-_StmGdtDesc:   .space 4
-.space 2
-
-Start32bit:
-movw$PROTECT_MODE_DS, %ax
-movl%eax,%ds
-movl%eax,%es
-movl%eax,%fs
-movl%eax,%gs
-movl%eax,%ss
-.byte   0xbc  # mov esp, imm32
-ASM_PFX(gStmSmiStack): .space 4
-movl$ASM_PFX(gStmSmiHandlerIdtr), %eax
-lidt(%eax)
-jmp ProtFlatMode
-
-ProtFlatMode:
-.byte   0xb8   # mov eax, imm32
-ASM_PFX(gStmSmiCr3): .space 4
-movl%eax, %cr3
-#
-# Need to test for CR4 specific bit support
-#
-movl$1, %eax
-cpuid  # use CPUID to determine if 
specific CR4 bits are supported
-xorl%eax, %eax # Clear EAX
-testl   $

[edk2] [PATCH v3 06/12] MdePkg/BaseMemoryLibMmx: Remove .S files for IA32 and X64 arch

2019-03-29 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../BaseMemoryLibMmx/BaseMemoryLibMmx.inf | 22 -
 .../BaseMemoryLibMmx/Ia32/CompareMem.S| 55 
 .../Library/BaseMemoryLibMmx/Ia32/CopyMem.S   | 86 ---
 .../Library/BaseMemoryLibMmx/Ia32/ScanMem16.S | 52 ---
 .../Library/BaseMemoryLibMmx/Ia32/ScanMem32.S | 52 ---
 .../Library/BaseMemoryLibMmx/Ia32/ScanMem64.S | 61 -
 .../Library/BaseMemoryLibMmx/Ia32/ScanMem8.S  | 52 ---
 MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem.S | 66 --
 .../Library/BaseMemoryLibMmx/Ia32/SetMem16.S  | 59 -
 .../Library/BaseMemoryLibMmx/Ia32/SetMem32.S  | 52 ---
 .../Library/BaseMemoryLibMmx/Ia32/SetMem64.S  | 43 --
 .../Library/BaseMemoryLibMmx/Ia32/ZeroMem.S   | 54 
 .../Library/BaseMemoryLibMmx/X64/CompareMem.S | 59 -
 MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.S | 74 
 .../Library/BaseMemoryLibMmx/X64/ScanMem16.S  | 56 
 .../Library/BaseMemoryLibMmx/X64/ScanMem32.S  | 56 
 .../Library/BaseMemoryLibMmx/X64/ScanMem64.S  | 55 
 .../Library/BaseMemoryLibMmx/X64/ScanMem8.S   | 56 
 MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.S  | 61 -
 .../Library/BaseMemoryLibMmx/X64/SetMem16.S   | 60 -
 .../Library/BaseMemoryLibMmx/X64/SetMem32.S   | 55 
 .../Library/BaseMemoryLibMmx/X64/SetMem64.S   | 47 --
 MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.S | 57 
 23 files changed, 1290 deletions(-)
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/ZeroMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.S

diff --git a/MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx.inf 
b/MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx.inf
index d17fcf24b6..9a073d1cd9 100644
--- a/MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx.inf
+++ b/MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx.inf
@@ -52,27 +52,16 @@
 
 [Sources.Ia32]
   Ia32/ScanMem64.nasm
-  Ia32/ScanMem64.S
   Ia32/ScanMem32.nasm
-  Ia32/ScanMem32.S
   Ia32/ScanMem16.nasm
-  Ia32/ScanMem16.S
   Ia32/ScanMem8.nasm
-  Ia32/ScanMem8.S
   Ia32/CompareMem.nasm
-  Ia32/CompareMem.S
   Ia32/SetMem64.nasm
-  Ia32/SetMem64.S
   Ia32/SetMem32.nasm
-  Ia32/SetMem32.S
   Ia32/SetMem16.nasm
-  Ia32/SetMem16.S
   Ia32/ZeroMem.nasm
-  Ia32/ZeroMem.S
   Ia32/SetMem.nasm
-  Ia32/SetMem.S
   Ia32/CopyMem.nasm
-  Ia32/CopyMem.S
   Ia32/ScanMem64.nasm
   Ia32/ScanMem32.nasm
   Ia32/ScanMem16.nasm
@@ -99,27 +88,16 @@
   X64/SetMem.nasm
   X64/CopyMem.nasm
   X64/ScanMem64.nasm
-  X64/ScanMem64.S
   X64/ScanMem32.nasm
-  X64/ScanMem32.S
   X64/ScanMem16.nasm
-  X64/ScanMem16.S
   X64/ScanMem8.nasm
-  X64/ScanMem8.S
   X64/CompareMem.nasm
-  X64/CompareMem.S
   X64/SetMem64.nasm
-  X64/SetMem64.S
   X64/SetMem32.nasm
-  X64/SetMem32.S
   X64/SetMem16.nasm
-  X64/SetMem16.S
   X64/ZeroMem.nasm
-  X64/ZeroMem.S
   X64/SetMem.nasm
-  X64/SetMem.S
   X64/CopyMem.nasm
-  X64/CopyMem.S
   X64/IsZeroBuffer.nasm
 
 
diff --git a/MdePkg/Library/BaseMemoryLibMmx/Ia32/CompareMem.S 
b/MdePkg/Library/BaseMemoryLibMmx/Ia32/CompareMem.S
deleted file mode 100644
index b509586adb..00
--- a/MdePkg/Library/BaseMemoryLibMmx/Ia32/CompareMem.S
+++ /dev/null
@@ -1,55 +0,0 @@
-#--
-#
-# Copyright

[edk2] [PATCH v3 07/12] MdePkg/BaseMemoryLibOptDxe: Remove .S files for IA32 and X64 arch

2019-03-29 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../BaseMemoryLibOptDxe.inf   | 22 -
 .../BaseMemoryLibOptDxe/Ia32/CompareMem.S | 55 
 .../BaseMemoryLibOptDxe/Ia32/CopyMem.S| 85 ---
 .../BaseMemoryLibOptDxe/Ia32/ScanMem16.S  | 52 
 .../BaseMemoryLibOptDxe/Ia32/ScanMem32.S  | 52 
 .../BaseMemoryLibOptDxe/Ia32/ScanMem64.S  | 61 -
 .../BaseMemoryLibOptDxe/Ia32/ScanMem8.S   | 52 
 .../Library/BaseMemoryLibOptDxe/Ia32/SetMem.S | 50 ---
 .../BaseMemoryLibOptDxe/Ia32/SetMem16.S   | 43 --
 .../BaseMemoryLibOptDxe/Ia32/SetMem32.S   | 43 --
 .../BaseMemoryLibOptDxe/Ia32/SetMem64.S   | 46 --
 .../BaseMemoryLibOptDxe/Ia32/ZeroMem.S| 49 ---
 .../BaseMemoryLibOptDxe/X64/CompareMem.S  | 59 -
 .../Library/BaseMemoryLibOptDxe/X64/CopyMem.S | 82 --
 .../BaseMemoryLibOptDxe/X64/ScanMem16.S   | 56 
 .../BaseMemoryLibOptDxe/X64/ScanMem32.S   | 56 
 .../BaseMemoryLibOptDxe/X64/ScanMem64.S   | 55 
 .../BaseMemoryLibOptDxe/X64/ScanMem8.S| 56 
 .../Library/BaseMemoryLibOptDxe/X64/SetMem.S  | 57 -
 .../BaseMemoryLibOptDxe/X64/SetMem16.S| 47 --
 .../BaseMemoryLibOptDxe/X64/SetMem32.S| 47 --
 .../BaseMemoryLibOptDxe/X64/SetMem64.S| 46 --
 .../Library/BaseMemoryLibOptDxe/X64/ZeroMem.S | 51 ---
 23 files changed, 1222 deletions(-)
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ZeroMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/ZeroMem.S

diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf 
b/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
index 3f756647e1..5ee1d70473 100644
--- a/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
+++ b/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
@@ -35,27 +35,16 @@
 
 [Sources.Ia32]
   Ia32/ScanMem64.nasm
-  Ia32/ScanMem64.S
   Ia32/ScanMem32.nasm
-  Ia32/ScanMem32.S
   Ia32/ScanMem16.nasm
-  Ia32/ScanMem16.S
   Ia32/ScanMem8.nasm
-  Ia32/ScanMem8.S
   Ia32/CompareMem.nasm
-  Ia32/CompareMem.S
   Ia32/ZeroMem.nasm
-  Ia32/ZeroMem.S
   Ia32/SetMem64.nasm
-  Ia32/SetMem64.S
   Ia32/SetMem32.nasm
-  Ia32/SetMem32.S
   Ia32/SetMem16.nasm
-  Ia32/SetMem16.S
   Ia32/SetMem.nasm
-  Ia32/SetMem.S
   Ia32/CopyMem.nasm
-  Ia32/CopyMem.S
   Ia32/ScanMem64.nasm
   Ia32/ScanMem32.nasm
   Ia32/ScanMem16.nasm
@@ -72,27 +61,16 @@
 
 [Sources.X64]
   X64/ScanMem64.nasm
-  X64/ScanMem64.S
   X64/ScanMem32.nasm
-  X64/ScanMem32.S
   X64/ScanMem16.nasm
-  X64/ScanMem16.S
   X64/ScanMem8.nasm
-  X64/ScanMem8.S
   X64/CompareMem.nasm
-  X64/CompareMem.S
   X64/ZeroMem.nasm
-  X64/ZeroMem.S
   X64/SetMem64.nasm
-  X64/SetMem64.S
   X64/SetMem32.nasm
-  X64/SetMem32.S
   X64/SetMem16.nasm
-  X64/SetMem16.S
   X64/SetMem.nasm
-  X64/SetMem.S
   X64/CopyMem.nasm
-  X64/CopyMem.S
   X64/IsZeroBuffer.nasm
   MemLibGuid.c
 
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CompareMem.S 
b/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CompareMem.S
deleted file mode 100644
index 23758781c9..00
--- a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CompareMem.S
+++ /dev/null
@@ -1,55 +0,0

[edk2] [PATCH 1/4] OvmfPkg/PlatformBootManagerLib: Remove dependency on Mps.h

2019-03-28 Thread Shenglei Zhang
Mps.h is included in BdsPlatform.h but not actually used.
So remove it.

Cc: Jordan Justen 
Cc: Laszlo Ersek 
Cc: Ard Biesheuvel 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.h 
b/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.h
index 4948ca6518..d6dfe1e697 100644
--- a/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.h
+++ b/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.h
@@ -63,7 +63,6 @@ Abstract:
 
 #include 
 #include 
-#include 
 #include 
 #include 
 #include 
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH 0/4] Remove IPF and related code

2019-03-28 Thread Shenglei Zhang
Itanium arch is not supported any longer. So remove IPF and
related code.
https://bugzilla.tianocore.org/show_bug.cgi?id=1560

Cc: Jaben Carsey 
Cc: Ray Ni 
Cc: Michael D Kinney 
Cc: Liming Gao 
Cc: Jordan Justen 
Cc: Laszlo Ersek 
Cc: Ard Biesheuvel 
Shenglei Zhang (4):
  OvmfPkg/PlatformBootManagerLib: Remove dependency on Mps.h
  ShellPkg/UefiShellDebug1CommandsLib
  ShellPkg/UefiHandleParsingLib: Remove some unused Guids
  MdePkg: Removed IPF related code

 MdePkg/Include/Guid/Mps.h |   35 -
 MdePkg/Include/Guid/SalSystemTable.h  |   31 -
 MdePkg/Include/IndustryStandard/Pal.h | 3302 -
 MdePkg/Include/IndustryStandard/Sal.h |  915 -
 MdePkg/Include/Library/ExtendedSalLib.h   |  494 ---
 MdePkg/Include/Library/PalLib.h   |   63 -
 MdePkg/Include/Library/SalLib.h   |   59 -
 .../Include/Protocol/ExtendedSalBootService.h |  217 --
 .../Protocol/ExtendedSalServiceClasses.h  |  278 --
 MdePkg/Include/Protocol/McaInitPmi.h  |  207 --
 MdePkg/MdePkg.dec |   29 -
 .../PlatformBootManagerLib/BdsPlatform.h  |1 -
 .../UefiHandleParsingLib.c|   17 -
 .../UefiHandleParsingLib.inf  |   17 -
 .../Library/UefiShellDebug1CommandsLib/Dmem.c |   10 -
 .../UefiShellDebug1CommandsLib.inf|2 -
 16 files changed, 5677 deletions(-)
 delete mode 100644 MdePkg/Include/Guid/Mps.h
 delete mode 100644 MdePkg/Include/Guid/SalSystemTable.h
 delete mode 100644 MdePkg/Include/IndustryStandard/Pal.h
 delete mode 100644 MdePkg/Include/IndustryStandard/Sal.h
 delete mode 100644 MdePkg/Include/Library/ExtendedSalLib.h
 delete mode 100644 MdePkg/Include/Library/PalLib.h
 delete mode 100644 MdePkg/Include/Library/SalLib.h
 delete mode 100644 MdePkg/Include/Protocol/ExtendedSalBootService.h
 delete mode 100644 MdePkg/Include/Protocol/ExtendedSalServiceClasses.h
 delete mode 100644 MdePkg/Include/Protocol/McaInitPmi.h

-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH 2/4] ShellPkg/UefiShellDebug1CommandsLib

2019-03-28 Thread Shenglei Zhang
With Itanium architecture unsupported, gEfiSalSystemTableGuid
and gEfiMpsTableGuid will be no longer used.
https://bugzilla.tianocore.org/show_bug.cgi?id=1560

Cc: Jaben Carsey 
Cc: Ray Ni 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 ShellPkg/Library/UefiShellDebug1CommandsLib/Dmem.c | 10 --
 .../UefiShellDebug1CommandsLib.inf |  2 --
 2 files changed, 12 deletions(-)

diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/Dmem.c 
b/ShellPkg/Library/UefiShellDebug1CommandsLib/Dmem.c
index a4c18c9b68..023806742d 100644
--- a/ShellPkg/Library/UefiShellDebug1CommandsLib/Dmem.c
+++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/Dmem.c
@@ -17,9 +17,7 @@
 #include "UefiShellDebug1CommandsLib.h"
 #include 
 #include 
-#include 
 #include 
-#include 
 
 /**
   Make a printable character.
@@ -186,10 +184,6 @@ ShellCommandRunDmem (
   AcpiTableAddress = 
(UINT64)(UINTN)gST->ConfigurationTable[TableWalker].VendorTable;
   continue;
 }
-if (CompareGuid(>ConfigurationTable[TableWalker].VendorGuid, 
)) {
-  SalTableAddress = 
(UINT64)(UINTN)gST->ConfigurationTable[TableWalker].VendorTable;
-  continue;
-}
 if (CompareGuid(>ConfigurationTable[TableWalker].VendorGuid, 
)) {
   SmbiosTableAddress = 
(UINT64)(UINTN)gST->ConfigurationTable[TableWalker].VendorTable;
   continue;
@@ -198,10 +192,6 @@ ShellCommandRunDmem (
   SmbiosTableAddress = (UINT64) (UINTN) 
gST->ConfigurationTable[TableWalker].VendorTable;
   continue;
 }
-if (CompareGuid(>ConfigurationTable[TableWalker].VendorGuid, 
)) {
-  MpsTableAddress = 
(UINT64)(UINTN)gST->ConfigurationTable[TableWalker].VendorTable;
-  continue;
-}
   }
 
   ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_DMEM_SYSTEM_TABLE), 
gShellDebug1HiiHandle,
diff --git 
a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf 
b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
index ec1f87ae19..f2666b7ff9 100644
--- a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
+++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
@@ -130,8 +130,6 @@
   gEfiGlobalVariableGuid  ## SOMETIMES_CONSUMES ## GUID
   gEfiSmbiosTableGuid ## SOMETIMES_CONSUMES ## SystemTable
   gEfiSmbios3TableGuid## SOMETIMES_CONSUMES ## SystemTable
-  gEfiMpsTableGuid## SOMETIMES_CONSUMES ## SystemTable
-  gEfiSalSystemTableGuid  ## SOMETIMES_CONSUMES ## SystemTable
   gEfiAcpi10TableGuid ## SOMETIMES_CONSUMES ## SystemTable
   gEfiAcpi20TableGuid ## SOMETIMES_CONSUMES ## SystemTable
   gShellDebug1HiiGuid ## SOMETIMES_CONSUMES ## HII
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH 3/4] ShellPkg/UefiHandleParsingLib: Remove some unused Guids

2019-03-28 Thread Shenglei Zhang
ExtendedSalBootService.h, ExtendedSalServiceClasses.h and
McaInitPmi.h will be deleted. So remove the Guids defined
in these Protocols. And also remove strings in uni file.
https://bugzilla.tianocore.org/show_bug.cgi?id=1560

Cc: Jaben Carsey 
Cc: Ray Ni 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../UefiHandleParsingLib/UefiHandleParsingLib.c | 17 -
 .../UefiHandleParsingLib.inf| 17 -
 .../UefiHandleParsingLib.uni| 17 -
 3 files changed, 51 deletions(-)

diff --git a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c 
b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c
index 2d94a52108..a106c0906c 100644
--- a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c
+++ b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c
@@ -2321,23 +2321,6 @@ STATIC CONST GUID_INFO_BLOCK mGuidStringList[] = {
   {STRING_TOKEN(STR_FVB2),  
,NULL},
   {STRING_TOKEN(STR_CPUIO2),,   
   NULL},
   {STRING_TOKEN(STR_LEGACY_R2), ,
   NULL},
-  {STRING_TOKEN(STR_SAL_MIP),   ,
   NULL},
-  {STRING_TOKEN(STR_ES_BS), 
,  NULL},
-  {STRING_TOKEN(STR_ES_BIO),
,   NULL},
-  {STRING_TOKEN(STR_ES_STALL),  
,NULL},
-  {STRING_TOKEN(STR_ES_RTC),
,  NULL},
-  {STRING_TOKEN(STR_ES_VS), 
, NULL},
-  {STRING_TOKEN(STR_ES_MTC),
,  NULL},
-  {STRING_TOKEN(STR_ES_RESET),  
,NULL},
-  {STRING_TOKEN(STR_ES_SC), 
,   NULL},
-  {STRING_TOKEN(STR_ES_FBS),
,  NULL},
-  {STRING_TOKEN(STR_ES_MP), 
,   NULL},
-  {STRING_TOKEN(STR_ES_PAL),
,  NULL},
-  {STRING_TOKEN(STR_ES_BASE),   
, NULL},
-  {STRING_TOKEN(STR_ES_MCA),
,  NULL},
-  {STRING_TOKEN(STR_ES_PCI),
,  NULL},
-  {STRING_TOKEN(STR_ES_CACHE),  
,NULL},
-  {STRING_TOKEN(STR_ES_MCA_LOG),
,   NULL},
   {STRING_TOKEN(STR_S2ARCH),,
   NULL},
   {STRING_TOKEN(STR_EODXE), ,  
   NULL},
   {STRING_TOKEN(STR_ISAHC), ,
   NULL},
diff --git a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf 
b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
index a795fb92de..edab57f892 100644
--- a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
+++ b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
@@ -234,23 +234,6 @@
   gEfiFirmwareVolumeBlock2ProtocolGuid## UNDEFINED
   gEfiCpuIo2ProtocolGuid  ## UNDEFINED
   gEfiLegacyRegion2ProtocolGuid   ## UNDEFINED
-  gEfiSalMcaInitPmiProtocolGuid   ## UNDEFINED
-  gEfiExtendedSalBootServiceProtocolGuid  ## UNDEFINED
-  gEfiExtendedSalBaseIoServicesProtocolGuid   ## UNDEFINED
-  gEfiExtendedSalStallServicesProtocolGuid## UNDEFINED
-  gEfiExtendedSalRtcServicesProtocolGuid  ## UNDEFINED
-  gEfiExtendedSalVariableServicesProtocolGuid ## UNDEFINED
-  gEfiExtendedSalMtcServicesProtocolGuid  ## UNDEFINED
-  gEfiExtendedSalResetServicesProtocolGuid## UNDEFINED
-  gEfiExtendedSalStatusCodeServicesProtocolGuid   ## UNDEFINED
-  gEfiExtendedSalFvBlockServicesProtocolGuid  ## UNDEFINED
-  gEfiExtendedSalMpServicesProtocolGuid   ## UNDEFINED
-  gEfiExtendedSalPalServicesProtocolGuid  ## UNDEFINED
-  gEfiExtendedSalBaseServicesProtocolGuid ## UNDEFINED
-  gEfiExtendedSalMcaServicesProtocolGuid  ## UNDEFINED
-  gEfiExtendedSalPciServicesProtocolGuid  ## UNDEFINED
-  gEfiExtendedSalCacheServicesProtocolGuid## UNDEFINED
-  gEfiExtendedSalMcaLogServicesProtocolGuid   ## UNDEFINED
   gEfiSecurity2ArchProtocolGuid   ## UNDEFINED
   gEfiSmmEndOfDxeProtocolGuid ## UNDEFINED
   gEfiIsaHcProtocolGuid   ## UNDEFINED
diff --git a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni 
b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni
index 15f3912045..3238441b1e 100644
--- a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni
+++ b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni
@@ -274,23 +274,6 @@
 #string STR_FVB2  #language en-US "FirmwareVolumeBlock2"
 #string STR_CPUIO2#language en-US "CpuIo2"
 #

[edk2] [PATCH 1/3] Nt32Pkg/Nt32Pkg.dsc: Remove EdkCompatibilityPkg information

2019-03-21 Thread Shenglei Zhang
EdkCompatibilityPkg will be removed from edk2/master.
The dependency about EdkCompatibilityPkg in Nt32Pkg.dsc should
also be removed.

Cc: Ray Ni 
Cc: Hao Wu 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 Nt32Pkg/Nt32Pkg.dsc | 51 -
 1 file changed, 51 deletions(-)

diff --git a/Nt32Pkg/Nt32Pkg.dsc b/Nt32Pkg/Nt32Pkg.dsc
index 4dbde0cc45..d7b78007d2 100644
--- a/Nt32Pkg/Nt32Pkg.dsc
+++ b/Nt32Pkg/Nt32Pkg.dsc
@@ -545,54 +545,3 @@
   NOOPT_*_*_DLINK_FLAGS = /EXPORT:InitializeDriver=$(IMAGE_ENTRY_POINT) 
/BASE:0x1 /ALIGN:4096 /FILEALIGN:4096 /SUBSYSTEM:CONSOLE
   RELEASE_*_*_DLINK_FLAGS = /ALIGN:4096 /FILEALIGN:4096
 
-#
-# NOTE:
-# The following [Libraries] section is for building EDK module under the EDKII 
tool chain.
-# If you want build EDK module for Nt32 platform, please uncomment [Libraries] 
section and
-# libraries used by that EDK module.
-# Currently, Nt32 platform do not has any EDK style module
-#
-#
-#[Libraries]
-  #
-  # Libraries common to PEI and DXE
-  #
-  #  EdkCompatibilityPkg/Foundation/Efi/Guid/EfiGuidLib.inf
-  #  EdkCompatibilityPkg/Foundation/Framework/Guid/EdkFrameworkGuidLib.inf
-  #  EdkCompatibilityPkg/Foundation/Guid/EdkGuidLib.inf
-  #  EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/EfiCommonLib.inf
-  #  EdkCompatibilityPkg/Foundation/Cpu/Pentium/CpuIA32Lib/CpuIA32Lib.inf
-  #  EdkCompatibilityPkg/Foundation/Cpu/Itanium/CpuIa64Lib/CpuIA64Lib.inf
-  #  
EdkCompatibilityPkg/Foundation/Library/CustomizedDecompress/CustomizedDecompress.inf
-  #  EdkCompatibilityPkg/Foundation/Library/CompilerStub/CompilerStubLib.inf
-  #  EdkCompatibilityPkg/Foundation/Library/Dxe/Hob/HobLib.inf
-
-  #
-  # PEI libraries
-  #
-  #  EdkCompatibilityPkg/Foundation/Framework/Ppi/EdkFrameworkPpiLib.inf
-  #  EdkCompatibilityPkg/Foundation/Ppi/EdkPpiLib.inf
-  #  EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/PeiLib.inf
-  #  EdkCompatibilityPkg/Foundation/Library/Pei/Hob/PeiHobLib.inf
-
-  #
-  # DXE libraries
-  #
-  #  EdkCompatibilityPkg/Foundation/Core/Dxe/ArchProtocol/ArchProtocolLib.inf
-  #  EdkCompatibilityPkg/Foundation/Efi/Protocol/EfiProtocolLib.inf
-  #  
EdkCompatibilityPkg/Foundation/Framework/Protocol/EdkFrameworkProtocolLib.inf
-  #  EdkCompatibilityPkg/Foundation/Protocol/EdkProtocolLib.inf
-  #  EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/EfiDriverLib.inf
-  #  
EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/EfiRuntimeLib.inf
-  #  EdkCompatibilityPkg/Foundation/Library/Dxe/Graphics/Graphics.inf
-  #  
EdkCompatibilityPkg/Foundation/Library/Dxe/EfiIfrSupportLib/EfiIfrSupportLib.inf
-  #  EdkCompatibilityPkg/Foundation/Library/Dxe/Print/PrintLib.inf
-  #  EdkCompatibilityPkg/Foundation/Library/Dxe/EfiScriptLib/EfiScriptLib.inf
-  #  EdkCompatibilityPkg/Foundation/Library/Dxe/EfiUiLib/EfiUiLib.inf
-
-  #
-  # Print/Graphics Library consume SetupBrowser Print Protocol
-  #
-  #  EdkCompatibilityPkg/Foundation/Library/Dxe/PrintLite/PrintLib.inf
-  #  EdkCompatibilityPkg/Foundation/Library/Dxe/GraphicsLite/Graphics.inf
-
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH 3/3] EdkCompatibilityPkg: Remove EdkCompatibilityPkg

2019-03-21 Thread Shenglei Zhang
If this patch contains all changes of removing EdkCompatibilityPkg, it will
be too big to send. So this patch only contains one operation, deleting
EdkCompatibilityPkg.
https://bugzilla.tianocore.org/show_bug.cgi?id=1103

Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH 2/3] Maintainers.txt: Remove EdkCompatibilityPkg information

2019-03-21 Thread Shenglei Zhang
EdkCompatibilityPkg will be deleted from edk2/master.
So update the maintainer information of EdkCompatibilityPkg.
https://bugzilla.tianocore.org/show_bug.cgi?id=1103

Cc: Andrew Fish 
Cc: Laszlo Ersek 
Cc: Leif Lindholm 
Cc: Michael D Kinney 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 Maintainers.txt | 4 
 1 file changed, 4 deletions(-)

diff --git a/Maintainers.txt b/Maintainers.txt
index be77898ee2..e090df7c17 100644
--- a/Maintainers.txt
+++ b/Maintainers.txt
@@ -115,10 +115,6 @@ W: 
https://github.com/tianocore/tianocore.github.io/wiki/DynamicTablesPkg
 M: Sami Mujawar 
 M: Alexei Fedorov 
 
-EdkCompatibilityPkg
-W: https://github.com/tianocore/tianocore.github.io/wiki/EdkCompatibilityPkg
-M: Liming Gao 
-
 EmbeddedPkg
 W: https://github.com/tianocore/tianocore.github.io/wiki/EmbeddedPkg
 M: Leif Lindholm 
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH v2 3/3] MdePkg/BaseUefiDecompressLib: Improve performance of boundary validation

2019-03-21 Thread shenglei
From: Shenglei Zhang 

The boundary validation checking in MakeTable() performs on
every loop iteration. This could be improved by checking
just once before the loop.
https://bugzilla.tianocore.org/show_bug.cgi?id=1329

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../Library/BaseUefiDecompressLib/BaseUefiDecompressLib.c  | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.c 
b/MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.c
index c1e8c5581a..3d5b7a737a 100644
--- a/MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.c
+++ b/MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.c
@@ -222,10 +222,11 @@ MakeTable (
 
 if (Len <= TableBits) {
 
+  if (Start[Len] >= NextCode || NextCode > MaxTableLength){
+return (UINT16) BAD_TABLE;
+  }
+
   for (Index = Start[Len]; Index < NextCode; Index++) {
-if (Index >= MaxTableLength) {
-  return (UINT16) BAD_TABLE;
-}
 Table[Index] = Char;
   }
 
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH v2 2/3] BaseTools/C/Common: Improve performance of boundary validation

2019-03-21 Thread shenglei
From: Shenglei Zhang 

The boundary validation checking in MakeTable() performs on
every loop iteration. This could be improved by checking
just once before the loop.
https://bugzilla.tianocore.org/show_bug.cgi?id=1329

Cc: Bob Feng 
Cc: Liming Gao 
Cc: Yonghong Zhu 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 BaseTools/Source/C/Common/Decompress.c | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/BaseTools/Source/C/Common/Decompress.c 
b/BaseTools/Source/C/Common/Decompress.c
index 0e9ba0a982..e9ac1d58b3 100644
--- a/BaseTools/Source/C/Common/Decompress.c
+++ b/BaseTools/Source/C/Common/Decompress.c
@@ -254,10 +254,11 @@ Returns:
 
 if (Len <= TableBits) {
 
+  if (Start[Len] >= NextCode || NextCode > MaxTableLength){
+return (UINT16) BAD_TABLE;
+  }
+
   for (Index = Start[Len]; Index < NextCode; Index++) {
-if (Index >= MaxTableLength) {
-  return (UINT16) BAD_TABLE;
-}
 Table[Index] = Char;
   }
 
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH v2 0/3] Improve performance of boundary validation in MakeTable()

2019-03-21 Thread shenglei
The boundary validation checking in MakeTable() performs on
every loop iteration. This could be improved by checking
just once before the loop.
https://bugzilla.tianocore.org/show_bug.cgi?id=1329

v2:1.Change the the algorithm implementation of the judgement in all patches.
   2.Remove previous 3/4 in v1.

Cc: Bob Feng 
Cc: Liming Gao 
Cc: Yonghong Zhu 
Cc: Michael D Kinney 
Shenglei Zhang (3):
  BaseTools/TianoCompress: Improve performance of boundary validation
  BaseTools/C/Common: Improve performance of boundary validation
  MdePkg/BaseUefiDecompressLib: Improve performance of boundary
validation

 BaseTools/Source/C/Common/Decompress.c | 7 ---
 BaseTools/Source/C/TianoCompress/TianoCompress.c   | 7 ---
 .../Library/BaseUefiDecompressLib/BaseUefiDecompressLib.c  | 7 ---
 3 files changed, 12 insertions(+), 9 deletions(-)

-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH v2 1/3] BaseTools/TianoCompress: Improve performance of boundary validation

2019-03-21 Thread shenglei
From: Shenglei Zhang 

The boundary validation checking in MakeTable() performs on
every loop iteration. This could be improved by checking
just once before the loop.
https://bugzilla.tianocore.org/show_bug.cgi?id=1329

Cc: Bob Feng 
Cc: Liming Gao 
Cc: Yonghong Zhu 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 BaseTools/Source/C/TianoCompress/TianoCompress.c | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/BaseTools/Source/C/TianoCompress/TianoCompress.c 
b/BaseTools/Source/C/TianoCompress/TianoCompress.c
index 29b11c597f..ae88074360 100644
--- a/BaseTools/Source/C/TianoCompress/TianoCompress.c
+++ b/BaseTools/Source/C/TianoCompress/TianoCompress.c
@@ -2281,10 +2281,11 @@ Returns:
 
 if (Len <= TableBits) {
 
+  if (Start[Len] >= NextCode || NextCode > MaxTableLength){
+return (UINT16) BAD_TABLE;
+  }
+
   for (Index = Start[Len]; Index < NextCode; Index++) {
-if (Index >= MaxTableLength) {
-  return (UINT16) BAD_TABLE;
-}
 Table[Index] = Char;
   }
 
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH v2 09/10] MdePkg/BaseMemoryLibRepStr: Remove .S files for IA32 and X64 arch

2019-03-19 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../BaseMemoryLibRepStr.inf   | 22 ---
 .../BaseMemoryLibRepStr/Ia32/CompareMem.S | 55 
 .../BaseMemoryLibRepStr/Ia32/CopyMem.S| 65 --
 .../BaseMemoryLibRepStr/Ia32/ScanMem16.S  | 54 ---
 .../BaseMemoryLibRepStr/Ia32/ScanMem32.S  | 54 ---
 .../BaseMemoryLibRepStr/Ia32/ScanMem64.S  | 63 --
 .../BaseMemoryLibRepStr/Ia32/ScanMem8.S   | 54 ---
 .../Library/BaseMemoryLibRepStr/Ia32/SetMem.S | 46 -
 .../BaseMemoryLibRepStr/Ia32/SetMem16.S   | 43 
 .../BaseMemoryLibRepStr/Ia32/SetMem32.S   | 43 
 .../BaseMemoryLibRepStr/Ia32/SetMem64.S   | 46 -
 .../BaseMemoryLibRepStr/Ia32/ZeroMem.S| 49 --
 .../BaseMemoryLibRepStr/X64/CompareMem.S  | 59 -
 .../Library/BaseMemoryLibRepStr/X64/CopyMem.S | 66 ---
 .../BaseMemoryLibRepStr/X64/ScanMem16.S   | 56 
 .../BaseMemoryLibRepStr/X64/ScanMem32.S   | 56 
 .../BaseMemoryLibRepStr/X64/ScanMem64.S   | 56 
 .../BaseMemoryLibRepStr/X64/ScanMem8.S| 56 
 .../Library/BaseMemoryLibRepStr/X64/SetMem.S  | 47 -
 .../BaseMemoryLibRepStr/X64/SetMem16.S| 47 -
 .../BaseMemoryLibRepStr/X64/SetMem32.S| 47 -
 .../BaseMemoryLibRepStr/X64/SetMem64.S| 46 -
 .../Library/BaseMemoryLibRepStr/X64/ZeroMem.S | 50 --
 23 files changed, 1180 deletions(-)
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/ZeroMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/ZeroMem.S

diff --git a/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf 
b/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
index 049936deab..7b315b8302 100644
--- a/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
+++ b/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
@@ -48,27 +48,16 @@
 
 [Sources.Ia32]
   Ia32/ScanMem64.nasm
-  Ia32/ScanMem64.S
   Ia32/ScanMem32.nasm
-  Ia32/ScanMem32.S
   Ia32/ScanMem16.nasm
-  Ia32/ScanMem16.S
   Ia32/ScanMem8.nasm
-  Ia32/ScanMem8.S
   Ia32/CompareMem.nasm
-  Ia32/CompareMem.S
   Ia32/ZeroMem.nasm
-  Ia32/ZeroMem.S
   Ia32/SetMem64.nasm
-  Ia32/SetMem64.S
   Ia32/SetMem32.nasm
-  Ia32/SetMem32.S
   Ia32/SetMem16.nasm
-  Ia32/SetMem16.S
   Ia32/SetMem.nasm
-  Ia32/SetMem.S
   Ia32/CopyMem.nasm
-  Ia32/CopyMem.S
   Ia32/ScanMem64.nasm
   Ia32/ScanMem32.nasm
   Ia32/ScanMem16.nasm
@@ -84,27 +73,16 @@
 
 [Sources.X64]
   X64/ScanMem64.nasm
-  X64/ScanMem64.S
   X64/ScanMem32.nasm
-  X64/ScanMem32.S
   X64/ScanMem16.nasm
-  X64/ScanMem16.S
   X64/ScanMem8.nasm
-  X64/ScanMem8.S
   X64/CompareMem.nasm
-  X64/CompareMem.S
   X64/ZeroMem.nasm
-  X64/ZeroMem.S
   X64/SetMem64.nasm
-  X64/SetMem64.S
   X64/SetMem32.nasm
-  X64/SetMem32.S
   X64/SetMem16.nasm
-  X64/SetMem16.S
   X64/SetMem.nasm
-  X64/SetMem.S
   X64/CopyMem.nasm
-  X64/CopyMem.S
   X64/ScanMem64.nasm
   X64/ScanMem32.nasm
   X64/ScanMem16.nasm
diff --git a/MdePkg/Library/BaseMemoryLibRepStr/Ia32/CompareMem.S 
b/MdePkg/Library/BaseMemoryLibRepStr/Ia32/CompareMem.S
deleted file mode 100644
index b509586adb..00
--- a/MdePkg

[edk2] [PATCH v2 08/10] MdePkg/BaseMemoryLibOptPei: Remove .S files for IA32 and X64 arch

2019-03-19 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../BaseMemoryLibOptPei.inf   | 22 ---
 .../BaseMemoryLibOptPei/Ia32/CompareMem.S | 55 
 .../BaseMemoryLibOptPei/Ia32/CopyMem.S| 62 -
 .../BaseMemoryLibOptPei/Ia32/ScanMem16.S  | 52 ---
 .../BaseMemoryLibOptPei/Ia32/ScanMem32.S  | 52 ---
 .../BaseMemoryLibOptPei/Ia32/ScanMem64.S  | 61 -
 .../BaseMemoryLibOptPei/Ia32/ScanMem8.S   | 52 ---
 .../Library/BaseMemoryLibOptPei/Ia32/SetMem.S | 50 --
 .../BaseMemoryLibOptPei/Ia32/SetMem16.S   | 43 
 .../BaseMemoryLibOptPei/Ia32/SetMem32.S   | 43 
 .../BaseMemoryLibOptPei/Ia32/SetMem64.S   | 46 -
 .../BaseMemoryLibOptPei/Ia32/ZeroMem.S| 49 --
 .../BaseMemoryLibOptPei/X64/CompareMem.S  | 59 -
 .../Library/BaseMemoryLibOptPei/X64/CopyMem.S | 66 ---
 .../BaseMemoryLibOptPei/X64/ScanMem16.S   | 56 
 .../BaseMemoryLibOptPei/X64/ScanMem32.S   | 56 
 .../BaseMemoryLibOptPei/X64/ScanMem64.S   | 56 
 .../BaseMemoryLibOptPei/X64/ScanMem8.S| 56 
 .../Library/BaseMemoryLibOptPei/X64/SetMem.S  | 47 -
 .../BaseMemoryLibOptPei/X64/SetMem16.S| 47 -
 .../BaseMemoryLibOptPei/X64/SetMem32.S| 47 -
 .../BaseMemoryLibOptPei/X64/SetMem64.S| 46 -
 .../Library/BaseMemoryLibOptPei/X64/ZeroMem.S | 50 --
 23 files changed, 1173 deletions(-)
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/ZeroMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/ZeroMem.S

diff --git a/MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf 
b/MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf
index 8f274d83b0..6fcb5fdac2 100644
--- a/MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf
+++ b/MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf
@@ -35,27 +35,16 @@
 
 [Sources.Ia32]
   Ia32/ScanMem64.nasm
-  Ia32/ScanMem64.S
   Ia32/ScanMem32.nasm
-  Ia32/ScanMem32.S
   Ia32/ScanMem16.nasm
-  Ia32/ScanMem16.S
   Ia32/ScanMem8.nasm
-  Ia32/ScanMem8.S
   Ia32/CompareMem.nasm
-  Ia32/CompareMem.S
   Ia32/ZeroMem.nasm
-  Ia32/ZeroMem.S
   Ia32/SetMem64.nasm
-  Ia32/SetMem64.S
   Ia32/SetMem32.nasm
-  Ia32/SetMem32.S
   Ia32/SetMem16.nasm
-  Ia32/SetMem16.S
   Ia32/SetMem.nasm
-  Ia32/SetMem.S
   Ia32/CopyMem.nasm
-  Ia32/CopyMem.S
   Ia32/ScanMem64.nasm
   Ia32/ScanMem32.nasm
   Ia32/ScanMem16.nasm
@@ -84,27 +73,16 @@
 
 [Sources.X64]
   X64/ScanMem64.nasm
-  X64/ScanMem64.S
   X64/ScanMem32.nasm
-  X64/ScanMem32.S
   X64/ScanMem16.nasm
-  X64/ScanMem16.S
   X64/ScanMem8.nasm
-  X64/ScanMem8.S
   X64/CompareMem.nasm
-  X64/CompareMem.S
   X64/ZeroMem.nasm
-  X64/ZeroMem.S
   X64/SetMem64.nasm
-  X64/SetMem64.S
   X64/SetMem32.nasm
-  X64/SetMem32.S
   X64/SetMem16.nasm
-  X64/SetMem16.S
   X64/SetMem.nasm
-  X64/SetMem.S
   X64/CopyMem.nasm
-  X64/CopyMem.S
   X64/IsZeroBuffer.nasm
   ScanMem64Wrapper.c
   ScanMem32Wrapper.c
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/Ia32/CompareMem.S 
b/MdePkg/Library/BaseMemoryLibOptPei/Ia32/CompareMem.S
deleted file mode 100644
index 23758781c9..00
--- a/MdePkg

[edk2] [PATCH v2 10/10] MdePkg/BaseMemoryLibSse2: Remove .S files for IA32 and X64 arch

2019-03-19 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../BaseMemoryLibSse2/BaseMemoryLibSse2.inf   | 22 -
 .../BaseMemoryLibSse2/Ia32/CompareMem.S   | 55 
 .../Library/BaseMemoryLibSse2/Ia32/CopyMem.S  | 85 ---
 .../BaseMemoryLibSse2/Ia32/ScanMem16.S| 52 
 .../BaseMemoryLibSse2/Ia32/ScanMem32.S| 52 
 .../BaseMemoryLibSse2/Ia32/ScanMem64.S| 61 -
 .../Library/BaseMemoryLibSse2/Ia32/ScanMem8.S | 52 
 .../Library/BaseMemoryLibSse2/Ia32/SetMem.S   | 76 -
 .../Library/BaseMemoryLibSse2/Ia32/SetMem16.S | 69 ---
 .../Library/BaseMemoryLibSse2/Ia32/SetMem32.S | 68 ---
 .../Library/BaseMemoryLibSse2/Ia32/SetMem64.S | 58 -
 .../Library/BaseMemoryLibSse2/Ia32/ZeroMem.S  | 65 --
 .../BaseMemoryLibSse2/X64/CompareMem.S| 59 -
 .../Library/BaseMemoryLibSse2/X64/CopyMem.S   | 83 --
 .../Library/BaseMemoryLibSse2/X64/ScanMem16.S | 56 
 .../Library/BaseMemoryLibSse2/X64/ScanMem32.S | 56 
 .../Library/BaseMemoryLibSse2/X64/ScanMem64.S | 56 
 .../Library/BaseMemoryLibSse2/X64/ScanMem8.S  | 56 
 MdePkg/Library/BaseMemoryLibSse2/X64/SetMem.S | 72 
 .../Library/BaseMemoryLibSse2/X64/SetMem16.S  | 70 ---
 .../Library/BaseMemoryLibSse2/X64/SetMem32.S  | 69 ---
 .../Library/BaseMemoryLibSse2/X64/SetMem64.S  | 60 -
 .../Library/BaseMemoryLibSse2/X64/ZeroMem.S   | 65 --
 23 files changed, 1417 deletions(-)
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/ZeroMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/ZeroMem.S

diff --git a/MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.inf 
b/MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.inf
index 771fddaa45..340ca15f06 100644
--- a/MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.inf
+++ b/MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.inf
@@ -47,27 +47,16 @@
 
 [Sources.Ia32]
   Ia32/ScanMem64.nasm
-  Ia32/ScanMem64.S
   Ia32/ScanMem32.nasm
-  Ia32/ScanMem32.S
   Ia32/ScanMem16.nasm
-  Ia32/ScanMem16.S
   Ia32/ScanMem8.nasm
-  Ia32/ScanMem8.S
   Ia32/CompareMem.nasm
-  Ia32/CompareMem.S
   Ia32/ZeroMem.nasm
-  Ia32/ZeroMem.S
   Ia32/SetMem64.nasm
-  Ia32/SetMem64.S
   Ia32/SetMem32.nasm
-  Ia32/SetMem32.S
   Ia32/SetMem16.nasm
-  Ia32/SetMem16.S
   Ia32/SetMem.nasm
-  Ia32/SetMem.S
   Ia32/CopyMem.nasm
-  Ia32/CopyMem.S
   Ia32/ScanMem64.nasm
   Ia32/ScanMem32.nasm
   Ia32/ScanMem16.nasm
@@ -94,27 +83,16 @@
   X64/SetMem.nasm
   X64/CopyMem.nasm
   X64/ScanMem64.nasm
-  X64/ScanMem64.S
   X64/ScanMem32.nasm
-  X64/ScanMem32.S
   X64/ScanMem16.nasm
-  X64/ScanMem16.S
   X64/ScanMem8.nasm
-  X64/ScanMem8.S
   X64/CompareMem.nasm
-  X64/CompareMem.S
   X64/ZeroMem.nasm
-  X64/ZeroMem.S
   X64/SetMem64.nasm
-  X64/SetMem64.S
   X64/SetMem32.nasm
-  X64/SetMem32.S
   X64/SetMem16.nasm
-  X64/SetMem16.S
   X64/SetMem.nasm
-  X64/SetMem.S
   X64/CopyMem.nasm
-  X64/CopyMem.S
   X64/IsZeroBuffer.nasm
 
 [Packages]
diff --git a/MdePkg/Library/BaseMemoryLibSse2/Ia32/CompareMem.S 
b/MdePkg/Library/BaseMemoryLibSse2/Ia32/CompareMem.S
deleted file mode 100644
index b509586adb..00
--- a/MdePkg/Library/BaseMemoryLibSse2/Ia32/CompareMem.S
+++ /dev/null
@@ -1,55 +0,0

[edk2] [PATCH v2 07/10] MdePkg/BaseMemoryLibOptDxe: Remove .S files for IA32 and X64 arch

2019-03-19 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../BaseMemoryLibOptDxe.inf   | 22 -
 .../BaseMemoryLibOptDxe/Ia32/CompareMem.S | 55 
 .../BaseMemoryLibOptDxe/Ia32/CopyMem.S| 85 ---
 .../BaseMemoryLibOptDxe/Ia32/ScanMem16.S  | 52 
 .../BaseMemoryLibOptDxe/Ia32/ScanMem32.S  | 52 
 .../BaseMemoryLibOptDxe/Ia32/ScanMem64.S  | 61 -
 .../BaseMemoryLibOptDxe/Ia32/ScanMem8.S   | 52 
 .../Library/BaseMemoryLibOptDxe/Ia32/SetMem.S | 50 ---
 .../BaseMemoryLibOptDxe/Ia32/SetMem16.S   | 43 --
 .../BaseMemoryLibOptDxe/Ia32/SetMem32.S   | 43 --
 .../BaseMemoryLibOptDxe/Ia32/SetMem64.S   | 46 --
 .../BaseMemoryLibOptDxe/Ia32/ZeroMem.S| 49 ---
 .../BaseMemoryLibOptDxe/X64/CompareMem.S  | 59 -
 .../Library/BaseMemoryLibOptDxe/X64/CopyMem.S | 82 --
 .../BaseMemoryLibOptDxe/X64/ScanMem16.S   | 56 
 .../BaseMemoryLibOptDxe/X64/ScanMem32.S   | 56 
 .../BaseMemoryLibOptDxe/X64/ScanMem64.S   | 55 
 .../BaseMemoryLibOptDxe/X64/ScanMem8.S| 56 
 .../Library/BaseMemoryLibOptDxe/X64/SetMem.S  | 57 -
 .../BaseMemoryLibOptDxe/X64/SetMem16.S| 47 --
 .../BaseMemoryLibOptDxe/X64/SetMem32.S| 47 --
 .../BaseMemoryLibOptDxe/X64/SetMem64.S| 46 --
 .../Library/BaseMemoryLibOptDxe/X64/ZeroMem.S | 51 ---
 23 files changed, 1222 deletions(-)
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ZeroMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/ZeroMem.S

diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf 
b/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
index 3f756647e1..5ee1d70473 100644
--- a/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
+++ b/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
@@ -35,27 +35,16 @@
 
 [Sources.Ia32]
   Ia32/ScanMem64.nasm
-  Ia32/ScanMem64.S
   Ia32/ScanMem32.nasm
-  Ia32/ScanMem32.S
   Ia32/ScanMem16.nasm
-  Ia32/ScanMem16.S
   Ia32/ScanMem8.nasm
-  Ia32/ScanMem8.S
   Ia32/CompareMem.nasm
-  Ia32/CompareMem.S
   Ia32/ZeroMem.nasm
-  Ia32/ZeroMem.S
   Ia32/SetMem64.nasm
-  Ia32/SetMem64.S
   Ia32/SetMem32.nasm
-  Ia32/SetMem32.S
   Ia32/SetMem16.nasm
-  Ia32/SetMem16.S
   Ia32/SetMem.nasm
-  Ia32/SetMem.S
   Ia32/CopyMem.nasm
-  Ia32/CopyMem.S
   Ia32/ScanMem64.nasm
   Ia32/ScanMem32.nasm
   Ia32/ScanMem16.nasm
@@ -72,27 +61,16 @@
 
 [Sources.X64]
   X64/ScanMem64.nasm
-  X64/ScanMem64.S
   X64/ScanMem32.nasm
-  X64/ScanMem32.S
   X64/ScanMem16.nasm
-  X64/ScanMem16.S
   X64/ScanMem8.nasm
-  X64/ScanMem8.S
   X64/CompareMem.nasm
-  X64/CompareMem.S
   X64/ZeroMem.nasm
-  X64/ZeroMem.S
   X64/SetMem64.nasm
-  X64/SetMem64.S
   X64/SetMem32.nasm
-  X64/SetMem32.S
   X64/SetMem16.nasm
-  X64/SetMem16.S
   X64/SetMem.nasm
-  X64/SetMem.S
   X64/CopyMem.nasm
-  X64/CopyMem.S
   X64/IsZeroBuffer.nasm
   MemLibGuid.c
 
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CompareMem.S 
b/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CompareMem.S
deleted file mode 100644
index 23758781c9..00
--- a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CompareMem.S
+++ /dev/null
@@ -1,55 +0,0

[edk2] [PATCH v2 04/10] MdePkg/BaseCpuLib: Remove .S files for IA32 and X64 arch

2019-03-19 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

v2: Remove CpuSleep.nasm| GCC and CpuFlushTlb.nasm| GCC in X64 arch
in BaseCpuLib.inf.

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 MdePkg/Library/BaseCpuLib/BaseCpuLib.inf|  4 ---
 MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.S | 35 -
 MdePkg/Library/BaseCpuLib/X64/CpuSleep.S| 34 
 3 files changed, 73 deletions(-)
 delete mode 100644 MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.S
 delete mode 100644 MdePkg/Library/BaseCpuLib/X64/CpuSleep.S

diff --git a/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf 
b/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
index af2f09617a..a734cac377 100644
--- a/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
+++ b/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
@@ -46,10 +46,6 @@
   X64/CpuFlushTlb.nasm
   X64/CpuSleep.nasm
 
-  X64/CpuSleep.nasm| GCC
-  X64/CpuSleep.S | GCC
-  X64/CpuFlushTlb.nasm| GCC
-  X64/CpuFlushTlb.S | GCC
 
 [Sources.EBC]
   Ebc/CpuSleepFlushTlb.c
diff --git a/MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.S 
b/MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.S
deleted file mode 100644
index 05d916a589..00
--- a/MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.S
+++ /dev/null
@@ -1,35 +0,0 @@
-#--
-# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD 
License
-# which accompanies this distribution.  The full text of the license may be 
found at
-# http://opensource.org/licenses/bsd-license.php.
-#
-# THE PROGRAM 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:
-#
-#--
-
-ASM_GLOBAL ASM_PFX(CpuFlushTlb)
-
-#--
-# VOID
-# EFIAPI
-# CpuFlushTlb (
-#   VOID
-#   );
-#--
-ASM_PFX(CpuFlushTlb):
-mov %cr3, %rax
-mov %rax, %cr3
-ret
diff --git a/MdePkg/Library/BaseCpuLib/X64/CpuSleep.S 
b/MdePkg/Library/BaseCpuLib/X64/CpuSleep.S
deleted file mode 100644
index cf763689d7..00
--- a/MdePkg/Library/BaseCpuLib/X64/CpuSleep.S
+++ /dev/null
@@ -1,34 +0,0 @@
-#--
 ;
-# Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD 
License
-# which accompanies this distribution.  The full text of the license may be 
found at
-# http://opensource.org/licenses/bsd-license.php.
-#
-# THE PROGRAM 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.S
-#
-# Abstract:
-#
-#   CpuSleep function
-#
-# Notes:
-#
-#--
-
-
-#--
-# VOID
-# EFIAPI
-# CpuSleep (
-#   VOID
-#   );
-#--
-ASM_GLOBAL ASM_PFX(CpuSleep)
-ASM_PFX(CpuSleep):
-hlt
-ret
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH v2 00/10] Remove .S files for IA32 and X64 arch in MdePkg and UefiCpuPkg

2019-03-19 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

v2: Remove some description in 04/10.

Cc: Michael D Kinney 
Cc: Liming Gao 
Cc: Eric Dong 
Cc: Ray Ni 
Shenglei Zhang (10):
  UefiCpuPkg/SmmCpuFeaturesLib: Remove .S files for IA32 and X64 arch
  UefiCpuPkg/BaseUefiCpuLib: Remove .S files for IA32 and X64 arch
  UefiCpuPkg/CpuExceptionHandlerLib:Remove.S files for IA32 and X64 arch
  MdePkg/BaseCpuLib: Remove .S files for IA32 and X64 arch
  MdePkg/BaseLib: Remove .S files for IA32 and X64 arch
  MdePkg/BaseMemoryLibMmx: Remove .S files for IA32 and X64 arch
  MdePkg/BaseMemoryLibOptDxe: Remove .S files for IA32 and X64 arch
  MdePkg/BaseMemoryLibOptPei: Remove .S files for IA32 and X64 arch
  MdePkg/BaseMemoryLibRepStr: Remove .S files for IA32 and X64 arch
  MdePkg/BaseMemoryLibSse2: Remove .S files for IA32 and X64 arch

 MdePkg/Library/BaseCpuLib/BaseCpuLib.inf  |   4 -
 MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.S   |  35 -
 MdePkg/Library/BaseCpuLib/X64/CpuSleep.S  |  34 -
 MdePkg/Library/BaseLib/BaseLib.inf|  38 -
 MdePkg/Library/BaseLib/Ia32/ARShiftU64.S  |  43 --
 MdePkg/Library/BaseLib/Ia32/CpuId.S   |  63 --
 MdePkg/Library/BaseLib/Ia32/CpuIdEx.S |  67 --
 MdePkg/Library/BaseLib/Ia32/DisableCache.S|  39 -
 MdePkg/Library/BaseLib/Ia32/DisablePaging32.S |  52 --
 MdePkg/Library/BaseLib/Ia32/DivU64x32.S   |  41 --
 .../Library/BaseLib/Ia32/DivU64x32Remainder.S |  46 --
 .../Library/BaseLib/Ia32/DivU64x64Remainder.S |  89 ---
 MdePkg/Library/BaseLib/Ia32/EnableCache.S |  39 -
 .../BaseLib/Ia32/EnableDisableInterrupts.S|  36 -
 MdePkg/Library/BaseLib/Ia32/EnablePaging32.S  |  52 --
 MdePkg/Library/BaseLib/Ia32/EnablePaging64.S  |  63 --
 .../BaseLib/Ia32/InternalSwitchStack.S|  48 --
 MdePkg/Library/BaseLib/Ia32/LRotU64.S |  48 --
 MdePkg/Library/BaseLib/Ia32/LShiftU64.S   |  43 --
 MdePkg/Library/BaseLib/Ia32/LongJump.S|  41 --
 MdePkg/Library/BaseLib/Ia32/ModU64x32.S   |  40 --
 MdePkg/Library/BaseLib/Ia32/Monitor.S |  40 --
 MdePkg/Library/BaseLib/Ia32/MultU64x32.S  |  41 --
 MdePkg/Library/BaseLib/Ia32/MultU64x64.S  |  44 --
 MdePkg/Library/BaseLib/Ia32/Mwait.S   |  38 -
 MdePkg/Library/BaseLib/Ia32/RRotU64.S |  48 --
 MdePkg/Library/BaseLib/Ia32/RShiftU64.S   |  46 --
 MdePkg/Library/BaseLib/Ia32/RdRand.S  |  80 ---
 MdePkg/Library/BaseLib/Ia32/SetJump.S |  44 --
 MdePkg/Library/BaseLib/Ia32/SwapBytes64.S |  38 -
 MdePkg/Library/BaseLib/Ia32/Thunk16.S | 222 --
 MdePkg/Library/BaseLib/X64/CpuId.S|  60 --
 MdePkg/Library/BaseLib/X64/CpuIdEx.S  |  62 --
 MdePkg/Library/BaseLib/X64/DisableCache.S |  39 -
 MdePkg/Library/BaseLib/X64/DisablePaging64.S  |  82 ---
 MdePkg/Library/BaseLib/X64/EnableCache.S  |  39 -
 .../BaseLib/X64/EnableDisableInterrupts.S |  36 -
 MdePkg/Library/BaseLib/X64/LongJump.S |  54 --
 MdePkg/Library/BaseLib/X64/RdRand.S   |  72 --
 MdePkg/Library/BaseLib/X64/SetJump.S  |  53 --
 MdePkg/Library/BaseLib/X64/SwitchStack.S  |  52 --
 MdePkg/Library/BaseLib/X64/Thunk16.S  | 334 -
 .../BaseMemoryLibMmx/BaseMemoryLibMmx.inf |  22 -
 .../BaseMemoryLibMmx/Ia32/CompareMem.S|  55 --
 .../Library/BaseMemoryLibMmx/Ia32/CopyMem.S   |  86 ---
 .../Library/BaseMemoryLibMmx/Ia32/ScanMem16.S |  52 --
 .../Library/BaseMemoryLibMmx/Ia32/ScanMem32.S |  52 --
 .../Library/BaseMemoryLibMmx/Ia32/ScanMem64.S |  61 --
 .../Library/BaseMemoryLibMmx/Ia32/ScanMem8.S  |  52 --
 MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem.S |  66 --
 .../Library/BaseMemoryLibMmx/Ia32/SetMem16.S  |  59 --
 .../Library/BaseMemoryLibMmx/Ia32/SetMem32.S  |  52 --
 .../Library/BaseMemoryLibMmx/Ia32/SetMem64.S  |  43 --
 .../Library/BaseMemoryLibMmx/Ia32/ZeroMem.S   |  54 --
 .../Library/BaseMemoryLibMmx/X64/CompareMem.S |  59 --
 MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.S |  74 --
 .../Library/BaseMemoryLibMmx/X64/ScanMem16.S  |  56 --
 .../Library/BaseMemoryLibMmx/X64/ScanMem32.S  |  56 --
 .../Library/BaseMemoryLibMmx/X64/ScanMem64.S  |  55 --
 .../Library/BaseMemoryLibMmx/X64/ScanMem8.S   |  56 --
 MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.S  |  61 --
 .../Library/BaseMemoryLibMmx/X64/SetMem16.S   |  60 --
 .../Library/BaseMemoryLibMmx/X64/SetMem32.S   |  55 --
 .../Library/BaseMemoryLibMmx/X64/SetMem64.S   |  47 --
 MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.S |  57 --
 .../BaseMemoryLibOptDxe.inf   |  22 -
 .../BaseMemoryLibOptDxe/Ia32/CompareMem.S |  55 --
 .../BaseMemoryLibOptDxe/Ia32/CopyMem.S|  85 ---
 .../BaseMemoryLibOptDxe/Ia32/ScanMem16.S  |  52 --
 .../BaseMemoryLibOptDxe/Ia32/ScanMem32.S  |  52 --
 .../BaseMemoryLibOptDxe/Ia32/ScanMem64.S  |  61 --
 .../BaseMemoryLibOptDxe/Ia32/ScanMem8.S   |  52 --
 .../Library/BaseMemoryLibOptDxe/Ia32

[edk2] [PATCH v2 06/10] MdePkg/BaseMemoryLibMmx: Remove .S files for IA32 and X64 arch

2019-03-19 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../BaseMemoryLibMmx/BaseMemoryLibMmx.inf | 22 -
 .../BaseMemoryLibMmx/Ia32/CompareMem.S| 55 
 .../Library/BaseMemoryLibMmx/Ia32/CopyMem.S   | 86 ---
 .../Library/BaseMemoryLibMmx/Ia32/ScanMem16.S | 52 ---
 .../Library/BaseMemoryLibMmx/Ia32/ScanMem32.S | 52 ---
 .../Library/BaseMemoryLibMmx/Ia32/ScanMem64.S | 61 -
 .../Library/BaseMemoryLibMmx/Ia32/ScanMem8.S  | 52 ---
 MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem.S | 66 --
 .../Library/BaseMemoryLibMmx/Ia32/SetMem16.S  | 59 -
 .../Library/BaseMemoryLibMmx/Ia32/SetMem32.S  | 52 ---
 .../Library/BaseMemoryLibMmx/Ia32/SetMem64.S  | 43 --
 .../Library/BaseMemoryLibMmx/Ia32/ZeroMem.S   | 54 
 .../Library/BaseMemoryLibMmx/X64/CompareMem.S | 59 -
 MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.S | 74 
 .../Library/BaseMemoryLibMmx/X64/ScanMem16.S  | 56 
 .../Library/BaseMemoryLibMmx/X64/ScanMem32.S  | 56 
 .../Library/BaseMemoryLibMmx/X64/ScanMem64.S  | 55 
 .../Library/BaseMemoryLibMmx/X64/ScanMem8.S   | 56 
 MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.S  | 61 -
 .../Library/BaseMemoryLibMmx/X64/SetMem16.S   | 60 -
 .../Library/BaseMemoryLibMmx/X64/SetMem32.S   | 55 
 .../Library/BaseMemoryLibMmx/X64/SetMem64.S   | 47 --
 MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.S | 57 
 23 files changed, 1290 deletions(-)
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/ZeroMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.S

diff --git a/MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx.inf 
b/MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx.inf
index d17fcf24b6..9a073d1cd9 100644
--- a/MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx.inf
+++ b/MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx.inf
@@ -52,27 +52,16 @@
 
 [Sources.Ia32]
   Ia32/ScanMem64.nasm
-  Ia32/ScanMem64.S
   Ia32/ScanMem32.nasm
-  Ia32/ScanMem32.S
   Ia32/ScanMem16.nasm
-  Ia32/ScanMem16.S
   Ia32/ScanMem8.nasm
-  Ia32/ScanMem8.S
   Ia32/CompareMem.nasm
-  Ia32/CompareMem.S
   Ia32/SetMem64.nasm
-  Ia32/SetMem64.S
   Ia32/SetMem32.nasm
-  Ia32/SetMem32.S
   Ia32/SetMem16.nasm
-  Ia32/SetMem16.S
   Ia32/ZeroMem.nasm
-  Ia32/ZeroMem.S
   Ia32/SetMem.nasm
-  Ia32/SetMem.S
   Ia32/CopyMem.nasm
-  Ia32/CopyMem.S
   Ia32/ScanMem64.nasm
   Ia32/ScanMem32.nasm
   Ia32/ScanMem16.nasm
@@ -99,27 +88,16 @@
   X64/SetMem.nasm
   X64/CopyMem.nasm
   X64/ScanMem64.nasm
-  X64/ScanMem64.S
   X64/ScanMem32.nasm
-  X64/ScanMem32.S
   X64/ScanMem16.nasm
-  X64/ScanMem16.S
   X64/ScanMem8.nasm
-  X64/ScanMem8.S
   X64/CompareMem.nasm
-  X64/CompareMem.S
   X64/SetMem64.nasm
-  X64/SetMem64.S
   X64/SetMem32.nasm
-  X64/SetMem32.S
   X64/SetMem16.nasm
-  X64/SetMem16.S
   X64/ZeroMem.nasm
-  X64/ZeroMem.S
   X64/SetMem.nasm
-  X64/SetMem.S
   X64/CopyMem.nasm
-  X64/CopyMem.S
   X64/IsZeroBuffer.nasm
 
 
diff --git a/MdePkg/Library/BaseMemoryLibMmx/Ia32/CompareMem.S 
b/MdePkg/Library/BaseMemoryLibMmx/Ia32/CompareMem.S
deleted file mode 100644
index b509586adb..00
--- a/MdePkg/Library/BaseMemoryLibMmx/Ia32/CompareMem.S
+++ /dev/null
@@ -1,55 +0,0 @@
-#--
-#
-# Copyright

[edk2] [PATCH v2 05/10] MdePkg/BaseLib: Remove .S files for IA32 and X64 arch

2019-03-19 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 MdePkg/Library/BaseLib/BaseLib.inf|  38 --
 MdePkg/Library/BaseLib/Ia32/ARShiftU64.S  |  43 ---
 MdePkg/Library/BaseLib/Ia32/CpuId.S   |  63 
 MdePkg/Library/BaseLib/Ia32/CpuIdEx.S |  67 
 MdePkg/Library/BaseLib/Ia32/DisableCache.S|  39 --
 MdePkg/Library/BaseLib/Ia32/DisablePaging32.S |  52 ---
 MdePkg/Library/BaseLib/Ia32/DivU64x32.S   |  41 ---
 .../Library/BaseLib/Ia32/DivU64x32Remainder.S |  46 ---
 .../Library/BaseLib/Ia32/DivU64x64Remainder.S |  89 -
 MdePkg/Library/BaseLib/Ia32/EnableCache.S |  39 --
 .../BaseLib/Ia32/EnableDisableInterrupts.S|  36 --
 MdePkg/Library/BaseLib/Ia32/EnablePaging32.S  |  52 ---
 MdePkg/Library/BaseLib/Ia32/EnablePaging64.S  |  63 
 .../BaseLib/Ia32/InternalSwitchStack.S|  48 ---
 MdePkg/Library/BaseLib/Ia32/LRotU64.S |  48 ---
 MdePkg/Library/BaseLib/Ia32/LShiftU64.S   |  43 ---
 MdePkg/Library/BaseLib/Ia32/LongJump.S|  41 ---
 MdePkg/Library/BaseLib/Ia32/ModU64x32.S   |  40 ---
 MdePkg/Library/BaseLib/Ia32/Monitor.S |  40 ---
 MdePkg/Library/BaseLib/Ia32/MultU64x32.S  |  41 ---
 MdePkg/Library/BaseLib/Ia32/MultU64x64.S  |  44 ---
 MdePkg/Library/BaseLib/Ia32/Mwait.S   |  38 --
 MdePkg/Library/BaseLib/Ia32/RRotU64.S |  48 ---
 MdePkg/Library/BaseLib/Ia32/RShiftU64.S   |  46 ---
 MdePkg/Library/BaseLib/Ia32/RdRand.S  |  80 -
 MdePkg/Library/BaseLib/Ia32/SetJump.S |  44 ---
 MdePkg/Library/BaseLib/Ia32/SwapBytes64.S |  38 --
 MdePkg/Library/BaseLib/Ia32/Thunk16.S | 222 
 MdePkg/Library/BaseLib/X64/CpuId.S|  60 
 MdePkg/Library/BaseLib/X64/CpuIdEx.S  |  62 
 MdePkg/Library/BaseLib/X64/DisableCache.S |  39 --
 MdePkg/Library/BaseLib/X64/DisablePaging64.S  |  82 -
 MdePkg/Library/BaseLib/X64/EnableCache.S  |  39 --
 .../BaseLib/X64/EnableDisableInterrupts.S |  36 --
 MdePkg/Library/BaseLib/X64/LongJump.S |  54 ---
 MdePkg/Library/BaseLib/X64/RdRand.S   |  72 
 MdePkg/Library/BaseLib/X64/SetJump.S  |  53 ---
 MdePkg/Library/BaseLib/X64/SwitchStack.S  |  52 ---
 MdePkg/Library/BaseLib/X64/Thunk16.S  | 334 --
 39 files changed, 2412 deletions(-)
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/ARShiftU64.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/CpuId.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/CpuIdEx.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/DisableCache.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/DisablePaging32.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/DivU64x32.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/DivU64x32Remainder.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/DivU64x64Remainder.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/EnableCache.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/EnableDisableInterrupts.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/EnablePaging32.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/EnablePaging64.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/InternalSwitchStack.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/LRotU64.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/LShiftU64.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/LongJump.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/ModU64x32.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/Monitor.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/MultU64x32.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/MultU64x64.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/Mwait.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/RRotU64.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/RShiftU64.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/RdRand.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/SetJump.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/SwapBytes64.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/Thunk16.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/CpuId.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/CpuIdEx.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/DisableCache.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/DisablePaging64.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/EnableCache.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/EnableDisableInterrupts.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/LongJump.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/RdRand.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/SetJump.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/SwitchStack.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/Thunk16.S

diff --git a/MdePkg/Library/BaseLib/BaseLib.inf 
b/MdePkg/Library/BaseLib/BaseLib.inf
index a0d6c372f9..16829deeb4

[edk2] [PATCH v2 03/10] UefiCpuPkg/CpuExceptionHandlerLib:Remove.S files for IA32 and X64 arch

2019-03-19 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../DxeCpuExceptionHandlerLib.inf |   2 -
 .../Ia32/ExceptionHandlerAsm.S| 667 --
 .../PeiCpuExceptionHandlerLib.inf |   2 -
 .../SecPeiCpuExceptionHandlerLib.inf  |   2 -
 .../SmmCpuExceptionHandlerLib.inf |   2 -
 .../X64/ExceptionHandlerAsm.S | 434 
 6 files changed, 1109 deletions(-)
 delete mode 100644 
UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32/ExceptionHandlerAsm.S
 delete mode 100644 
UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ExceptionHandlerAsm.S

diff --git 
a/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf 
b/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
index a480890165..391e49f077 100644
--- a/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
+++ b/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
@@ -30,13 +30,11 @@
 [Sources.Ia32]
   Ia32/ExceptionHandlerAsm.nasm
   Ia32/ExceptionTssEntryAsm.nasm
-  Ia32/ExceptionHandlerAsm.S
   Ia32/ArchExceptionHandler.c
   Ia32/ArchInterruptDefs.h
 
 [Sources.X64]
   X64/ExceptionHandlerAsm.nasm
-  X64/ExceptionHandlerAsm.S
   X64/ArchExceptionHandler.c
   X64/ArchInterruptDefs.h
 
diff --git 
a/UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32/ExceptionHandlerAsm.S 
b/UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32/ExceptionHandlerAsm.S
deleted file mode 100644
index c134257d9d..00
--- a/UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32/ExceptionHandlerAsm.S
+++ /dev/null
@@ -1,667 +0,0 @@
-#--
-#*
-#*   Copyright (c) 2012 - 2015, Intel Corporation. All rights reserved.
-#*   This program and the accompanying materials
-#*   are licensed and made available under the terms and conditions of the BSD 
License
-#*   which accompanies this distribution.  The full text of the license may be 
found at
-#*   http://opensource.org/licenses/bsd-license.php
-#*
-#*   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-#*   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
IMPLIED.
-#*
-#*ExceptionHandlerAsm.S
-#*
-#*   Abstract:
-#*
-#* IA32 CPU Exception Handler
-#
-#--
-
-
-#.MMX
-#.XMM
-
-ASM_GLOBAL ASM_PFX(CommonExceptionHandler)
-ASM_GLOBAL ASM_PFX(CommonInterruptEntry)
-ASM_GLOBAL ASM_PFX(HookAfterStubHeaderEnd)
-
-#EXTRN ASM_PFX(mErrorCodeFlag):DWORD   # Error code flags for 
exceptions
-#EXTRN ASM_PFX(mDoFarReturnFlag):DWORD # Do far return flag
-
-.text
-
-#
-# exception handler stub table
-#
-Exception0Handle:
-.byte   0x6a#  push #VectorNum
-.byte   0
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception1Handle:
-.byte   0x6a#  push #VectorNum
-.byte   1
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception2Handle:
-.byte   0x6a#  push #VectorNum
-.byte   2
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception3Handle:
-.byte   0x6a#  push #VectorNum
-.byte   3
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception4Handle:
-.byte   0x6a#  push #VectorNum
-.byte   4
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception5Handle:
-.byte   0x6a#  push #VectorNum
-.byte   5
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception6Handle:
-.byte   0x6a#  push #VectorNum
-.byte   6
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception7Handle:
-.byte   0x6a#  push #VectorNum
-.byte   7
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception8Handle:
-.byte   0x6a#  push #VectorNum
-.byte   8
-pushl   %eax
- .byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception9Handle:
-.byte   0x6a#  push #VectorNum
-.byte   9
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception10Handle:
-.byte   0x6a#  push #VectorNum
-.byte   10
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception11Handle:
-.byte   0x6a#  push #VectorNum
-.byte   11
-pushl   %eax
-.byte   0xB8
-.long

[edk2] [PATCH v2 01/10] UefiCpuPkg/SmmCpuFeaturesLib: Remove .S files for IA32 and X64 arch

2019-03-19 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Eric Dong 
Cc: Ray Ni 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../Library/SmmCpuFeaturesLib/Ia32/SmiEntry.S | 278 -
 .../SmmCpuFeaturesLib/Ia32/SmiException.S | 174 ---
 .../SmmCpuFeaturesLibStm.inf  |   6 -
 .../Library/SmmCpuFeaturesLib/X64/SmiEntry.S  | 282 --
 .../SmmCpuFeaturesLib/X64/SmiException.S  | 178 ---
 5 files changed, 918 deletions(-)
 delete mode 100644 UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiEntry.S
 delete mode 100644 UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiException.S
 delete mode 100644 UefiCpuPkg/Library/SmmCpuFeaturesLib/X64/SmiEntry.S
 delete mode 100644 UefiCpuPkg/Library/SmmCpuFeaturesLib/X64/SmiException.S

diff --git a/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiEntry.S 
b/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiEntry.S
deleted file mode 100644
index 4c0f8c8933..00
--- a/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiEntry.S
+++ /dev/null
@@ -1,278 +0,0 @@
-#--
-#
-# Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD 
License
-# which accompanies this distribution.  The full text of the license may be 
found at
-# http://opensource.org/licenses/bsd-license.php.
-#
-# THE PROGRAM 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.S
-#
-# Abstract:
-#
-#   Code template of the SMI handler for a particular processor
-#
-#--
-
-ASM_GLOBAL  ASM_PFX(gcStmSmiHandlerTemplate)
-ASM_GLOBAL  ASM_PFX(gcStmSmiHandlerSize)
-ASM_GLOBAL  ASM_PFX(gcStmSmiHandlerOffset)
-ASM_GLOBAL  ASM_PFX(gStmSmiCr3)
-ASM_GLOBAL  ASM_PFX(gStmSmiStack)
-ASM_GLOBAL  ASM_PFX(gStmSmbase)
-ASM_GLOBAL  ASM_PFX(gStmXdSupported)
-ASM_GLOBAL  ASM_PFX(FeaturePcdGet (PcdCpuSmmStackGuard))
-ASM_GLOBAL  ASM_PFX(gStmSmiHandlerIdtr)
-
-.equMSR_IA32_MISC_ENABLE, 0x1A0
-.equMSR_EFER, 0xc080
-.equMSR_EFER_XD, 0x800
-
-#
-# Constants relating to TXT_PROCESSOR_SMM_DESCRIPTOR
-#
-.equDSC_OFFSET, 0xfb00
-.equDSC_GDTPTR, 0x48
-.equDSC_GDTSIZ, 0x50
-.equDSC_CS, 0x14
-.equDSC_DS, 0x16
-.equDSC_SS, 0x18
-.equDSC_OTHERSEG, 0x1A
-
-.equPROTECT_MODE_CS, 0x08
-.equPROTECT_MODE_DS, 0x20
-.equTSS_SEGMENT, 0x40
-
-.text
-ASM_PFX(gcStmSmiHandlerTemplate):
-
-_StmSmiEntryPoint:
-.byte 0xbb  # mov bx, imm16
-.word _StmGdtDesc - _StmSmiEntryPoint + 0x8000
-.byte 0x2e,0xa1 # mov ax, cs:[offset16]
-.word DSC_OFFSET + DSC_GDTSIZ
-decl%eax
-movl%eax, %cs:(%edi)# mov cs:[bx], ax
-.byte 0x66,0x2e,0xa1# mov eax, cs:[offset16]
-.word   DSC_OFFSET + DSC_GDTPTR
-movw%ax, %cs:2(%edi)
-movw%ax, %bp# ebp = GDT base
-.byte 0x66
-lgdt%cs:(%edi)
-# Patch ProtectedMode Segment
-.byte   0xb8# mov ax, imm16
-.word   PROTECT_MODE_CS # set AX for segment directly
-movl%eax, %cs:-2(%edi)  # mov cs:[bx - 2], ax
-# Patch ProtectedMode entry
-.byte 0x66, 0xbf# mov edi, SMBASE
-ASM_PFX(gStmSmbase): .space 4
-.byte 0x67
-lea ((Start32bit - _StmSmiEntryPoint) + 0x8000)(%edi), %ax
-movw %ax, %cs:-6(%edi)
-movl%cr0, %ebx
-.byte 0x66
-andl$0x9ffafff3, %ebx
-.byte 0x66
-orl $0x23, %ebx
-movl%ebx, %cr0
-.byte 0x66,0xea
-.space  4
-.space  2
-_StmGdtDesc:   .space 4
-.space 2
-
-Start32bit:
-movw$PROTECT_MODE_DS, %ax
-movl%eax,%ds
-movl%eax,%es
-movl%eax,%fs
-movl%eax,%gs
-movl%eax,%ss
-.byte   0xbc  # mov esp, imm32
-ASM_PFX(gStmSmiStack): .space 4
-movl$ASM_PFX(gStmSmiHandlerIdtr), %eax
-lidt(%eax)
-jmp ProtFlatMode
-
-ProtFlatMode:
-.byte   0xb8   # mov eax, imm32
-ASM_PFX(gStmSmiCr3): .space 4
-movl%eax, %cr3
-#
-# Need to test for CR4 specific bit support
-#
-movl$1, %eax
-cpuid  # use CPUID to determine if 
specific CR4 bits are supported
-xorl%eax, %eax # Clear EAX
-testl   $BIT2, %edx# Check for DE capabilities
-jz  L8
-orl $BIT3, %eax
-L8:

[edk2] [PATCH v2 02/10] UefiCpuPkg/BaseUefiCpuLib: Remove .S files for IA32 and X64 arch

2019-03-19 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../Library/BaseUefiCpuLib/BaseUefiCpuLib.inf |  2 -
 .../BaseUefiCpuLib/Ia32/InitializeFpu.S   | 73 ---
 .../BaseUefiCpuLib/X64/InitializeFpu.S| 57 ---
 3 files changed, 132 deletions(-)
 delete mode 100644 UefiCpuPkg/Library/BaseUefiCpuLib/Ia32/InitializeFpu.S
 delete mode 100644 UefiCpuPkg/Library/BaseUefiCpuLib/X64/InitializeFpu.S

diff --git a/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf 
b/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
index 5614452a88..2e9756e50e 100644
--- a/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
+++ b/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
@@ -31,11 +31,9 @@
 
 [Sources.IA32]
   Ia32/InitializeFpu.nasm
-  Ia32/InitializeFpu.S
 
 [Sources.X64]
   X64/InitializeFpu.nasm
-  X64/InitializeFpu.S
 
 [Packages]
   MdePkg/MdePkg.dec
diff --git a/UefiCpuPkg/Library/BaseUefiCpuLib/Ia32/InitializeFpu.S 
b/UefiCpuPkg/Library/BaseUefiCpuLib/Ia32/InitializeFpu.S
deleted file mode 100644
index 0a1a9198f6..00
--- a/UefiCpuPkg/Library/BaseUefiCpuLib/Ia32/InitializeFpu.S
+++ /dev/null
@@ -1,73 +0,0 @@
-#--
-#*
-#*   Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
-#*   This program and the accompanying materials
-#*   are licensed and made available under the terms and conditions of the BSD 
License
-#*   which accompanies this distribution.  The full text of the license may be 
found at
-#*   http://opensource.org/licenses/bsd-license.php
-#*
-#*   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-#*   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
IMPLIED.
-#*
-#*
-#--
-
-#
-# Float control word initial value:
-# all exceptions masked, double-precision, round-to-nearest
-#
-ASM_PFX(mFpuControlWord): .word 0x027F
-#
-# Multimedia-extensions control word:
-# all exceptions masked, round-to-nearest, flush to zero for masked underflow
-#
-ASM_PFX(mMmxControlWord): .long 0x01F80
-
-#
-# 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).
-#
-ASM_GLOBAL ASM_PFX(InitializeFloatingPointUnits)
-ASM_PFX(InitializeFloatingPointUnits):
-
-pushl   %ebx
-
-#
-# Initialize floating point units
-#
-finit
-fldcw   ASM_PFX(mFpuControlWord)
-
-#
-# Use CpuId instructuion (CPUID.01H:EDX.SSE[bit 25] = 1) to test
-# whether the processor supports SSE instruction.
-#
-movl$1,  %eax
-cpuid
-btl $25, %edx
-jnc Done
-
-#
-# Set OSFXSR bit 9 in CR4
-#
-movl%cr4, %eax
-or  $0x200, %eax
-movl%eax, %cr4
-
-#
-# The processor should support SSE instruction and we can use
-# ldmxcsr instruction
-#
-ldmxcsr ASM_PFX(mMmxControlWord)
-
-Done:
-popl%ebx
-
-ret
-
-#END
-
diff --git a/UefiCpuPkg/Library/BaseUefiCpuLib/X64/InitializeFpu.S 
b/UefiCpuPkg/Library/BaseUefiCpuLib/X64/InitializeFpu.S
deleted file mode 100644
index f0b0d3e264..00
--- a/UefiCpuPkg/Library/BaseUefiCpuLib/X64/InitializeFpu.S
+++ /dev/null
@@ -1,57 +0,0 @@
-#--
-#*
-#*   Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
-#*   This program and the accompanying materials
-#*   are licensed and made available under the terms and conditions of the BSD 
License
-#*   which accompanies this distribution.  The full text of the license may be 
found at
-#*   http://opensource.org/licenses/bsd-license.php
-#*
-#*   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-#*   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
IMPLIED.
-#*
-#*
-#--
-
-#
-# Initializes floating point units for requirement of UEFI specification.
-#
-# This function initializes floating-point control word to 0x037F (all 
exceptions
-# masked,double-extended-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).
-#
-ASM_GLOBAL ASM_PFX(InitializeFloatingPointUnits)
-ASM_PFX(InitializeFloatingPointUnits):
-
-#
-# Initialize 

[edk2] [PATCH] MdePkg/PciSegmentLibSegmentInfo: Change parameters type

2019-03-12 Thread Shenglei Zhang
The current structure can lead to dependency on VC++ compiler support
functions when build for "IA32" with "/Od" switch, such as _aullshr().
So change the type of parameters in structure
PCI_SEGMENT_LIB_ADDRESS_STRUCTURE from UINT64 to UINT32.
https://bugzilla.tianocore.org/show_bug.cgi?id=1532

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../PciSegmentLibSegmentInfo/PciSegmentLibCommon.c | 14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/MdePkg/Library/PciSegmentLibSegmentInfo/PciSegmentLibCommon.c 
b/MdePkg/Library/PciSegmentLibSegmentInfo/PciSegmentLibCommon.c
index e0bdb16911..1cac6488cc 100644
--- a/MdePkg/Library/PciSegmentLibSegmentInfo/PciSegmentLibCommon.c
+++ b/MdePkg/Library/PciSegmentLibSegmentInfo/PciSegmentLibCommon.c
@@ -17,13 +17,13 @@
 #include "PciSegmentLibCommon.h"
 
 typedef struct {
-  UINT64  Register : 12;
-  UINT64  Function : 3;
-  UINT64  Device : 5;
-  UINT64  Bus : 8;
-  UINT64  Reserved1 : 4;
-  UINT64  Segment : 16;
-  UINT64  Reserved2 : 16;
+  UINT32  Register : 12;
+  UINT32  Function : 3;
+  UINT32  Device : 5;
+  UINT32  Bus : 8;
+  UINT32  Reserved1 : 4;
+  UINT32  Segment : 16;
+  UINT32  Reserved2 : 16;
 } PCI_SEGMENT_LIB_ADDRESS_STRUCTURE;
 
 /**
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH v3 2/3] SecurityPkg/SecurityPkg.uni: Add the prompt and help information

2019-03-12 Thread Shenglei Zhang
The prompt and help information are missing in SecurityPkg.uni.
https://bugzilla.tianocore.org/show_bug.cgi?id=1600

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
Reviewed-by: Star Zeng 
---
 SecurityPkg/SecurityPkg.uni | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/SecurityPkg/SecurityPkg.uni b/SecurityPkg/SecurityPkg.uni
index 400fe6015e..5f387672e8 100644
--- a/SecurityPkg/SecurityPkg.uni
+++ b/SecurityPkg/SecurityPkg.uni
@@ -248,6 +248,12 @@
 #string STR_gEfiSecurityPkgTokenSpaceGuid_PcdTpm2PossibleIrqNumBuf_HELP  
#language en-US "This PCD defines possible TPM2 interrupt number in a platform 
reported by _PRS control method.\n"

  "If PcdTpm2CurrentIrqNum set to 0, _PRS will not report any possible 
TPM2 interrupt numbers."
 
+#string STR_gEfiSecurityPkgTokenSpaceGuid_PcdSkipOpalDxeUnlock_PROMPT  
#language en-US "Skip Opal DXE driver unlock device flow."
+
+#string STR_gEfiSecurityPkgTokenSpaceGuid_PcdSkipOpalDxeUnlock_HELP  #language 
en-US "Indicates if Opal DXE driver skip unlock device flow.\n"
+   
  "TRUE  - Skip unlock device flow.\n"
+   
  "FALSE - Does not skip unlock device flow."
+
 #string STR_gEfiSecurityPkgTokenSpaceGuid_PcdActiveTpmInterfaceType_PROMPT  
#language en-US "Current active TPM interface type"
 
 #string STR_gEfiSecurityPkgTokenSpaceGuid_PcdActiveTpmInterfaceType_HELP  
#language en-US "This PCD indicates current active TPM interface type.\n"
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH v3 1/3] MdePkg/MdePkg.uni: Add the prompt and help information

2019-03-12 Thread Shenglei Zhang
The prompt and help information are missing in MdePkg.uni.
https://bugzilla.tianocore.org/show_bug.cgi?id=1600

v2:Fix the error message of help and prompt information.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
Reviewed-by: jiewen@intel.com
---
 MdePkg/MdePkg.uni | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/MdePkg/MdePkg.uni b/MdePkg/MdePkg.uni
index 863a68d025..f5a8ed1618 100644
--- a/MdePkg/MdePkg.uni
+++ b/MdePkg/MdePkg.uni
@@ -148,6 +148,13 @@

  "0  - No length check for unicode string.\n"

  ">0 - Maximum length of unicode string."
 
+#string 
STR_gEfiMdePkgTokenSpaceGuid_PcdControlFlowEnforcementPropertyMask_PROMPT  
#language en-US "Enable control flow enforcement."
+
+#string 
STR_gEfiMdePkgTokenSpaceGuid_PcdControlFlowEnforcementPropertyMask_HELP  
#language en-US  "Indicates the control flow enforcement enabling state.\n"
+   
   "If enabled, it uses control flow enforcement technology to 
prevent ROP or JOP.\n"
+   
   " BIT0 - SMM CET Shadow Stack is enabled.\n"
+   
   " Other - reserved"
+
 #string STR_gEfiMdePkgTokenSpaceGuid_PcdMaximumAsciiStringLength_PROMPT  
#language en-US "Maximum Length of Ascii String"
 
 #string STR_gEfiMdePkgTokenSpaceGuid_PcdMaximumAsciiStringLength_HELP  
#language en-US "Sets the maximum number of ASCII characters used for string 
functions.  This affects the following BaseLib functions: AsciiStrLen(), 
AsciiStrSize(), AsciiStrCmp(), AsciiStrnCmp(), AsciiStrCpy(), AsciiStrnCpy(). 
\n"
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH v3 0/3] Add the prompt and help information in .uni files

2019-03-12 Thread Shenglei Zhang
The prompt and help information are missing in
MdePkg/UefiPkg/SecurityPkg.uni

Cc: Eric Dong 
Cc: Ray Ni 
Shenglei Zhang (3):
  MdePkg/MdePkg.uni: Add the prompt and help information
  SecurityPkg/SecurityPkg.uni: Add the prompt and help information
  UefiCpuPkg/UefiCpuPkg.uni: Add the prompt and help information

 MdePkg/MdePkg.uni   | 7 +++
 SecurityPkg/SecurityPkg.uni | 6 ++
 UefiCpuPkg/UefiCpuPkg.uni   | 4 
 3 files changed, 17 insertions(+)

-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH v3 3/3] UefiCpuPkg/UefiCpuPkg.uni: Add the prompt and help information

2019-03-12 Thread Shenglei Zhang
The prompt and help information are missing in UefiPkg.uni.
https://bugzilla.tianocore.org/show_bug.cgi?id=1600

v3:The changes in v1 are duplicated. So update the info.

Cc: Eric Dong 
Cc: Ray Ni 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 UefiCpuPkg/UefiCpuPkg.uni | 4 
 1 file changed, 4 insertions(+)

diff --git a/UefiCpuPkg/UefiCpuPkg.uni b/UefiCpuPkg/UefiCpuPkg.uni
index b132ce62cf..6a6890d074 100644
--- a/UefiCpuPkg/UefiCpuPkg.uni
+++ b/UefiCpuPkg/UefiCpuPkg.uni
@@ -114,6 +114,10 @@
 
 #string STR_gUefiCpuPkgTokenSpaceGuid_PcdCpuSmmStackSize_HELP  #language en-US 
"Specifies stack size in bytes for each processor in SMM."
 
+#string STR_gUefiCpuPkgTokenSpaceGuid_PcdCpuSmmShadowStackSize_PROMPT   
#language en-US "Processor shadow stack size in SMM."
+
+#string STR_gUefiCpuPkgTokenSpaceGuid_PcdCpuSmmShadowStackSize_HELP   
#language en-US "Specifies shadow stack size in bytes for each processor in 
SMM."
+
 #string STR_gUefiCpuPkgTokenSpaceGuid_PcdCpuSmmApSyncTimeout_PROMPT  #language 
en-US "AP synchronization timeout value in SMM"
 
 #string STR_gUefiCpuPkgTokenSpaceGuid_PcdCpuSmmApSyncTimeout_HELP  #language 
en-US "Specifies timeout value in microseconds for the BSP in SMM to wait for 
all APs to come into SMM."
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH v2 3/3] UefiCpuPkg/UefiCpuPkg.uni: Add the prompt and help information

2019-03-11 Thread Shenglei Zhang
The prompt and help information are missing in UefiPkg.uni.
https://bugzilla.tianocore.org/show_bug.cgi?id=1600

Cc: Eric Dong 
Cc: Ray Ni 
Cc: Laszlo Ersek 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
Reviewed-by: Eric Dong 
---
 UefiCpuPkg/UefiCpuPkg.uni | 4 
 1 file changed, 4 insertions(+)

diff --git a/UefiCpuPkg/UefiCpuPkg.uni b/UefiCpuPkg/UefiCpuPkg.uni
index b132ce62cf..0e57b6ac98 100644
--- a/UefiCpuPkg/UefiCpuPkg.uni
+++ b/UefiCpuPkg/UefiCpuPkg.uni
@@ -114,6 +114,10 @@
 
 #string STR_gUefiCpuPkgTokenSpaceGuid_PcdCpuSmmStackSize_HELP  #language en-US 
"Specifies stack size in bytes for each processor in SMM."
 
+#string STR_gUefiCpuPkgTokenSpaceGuid_PcdCpuSmmStackSize_PROMPT  #language 
en-US "Processor stack size in SMM."
+
+#string STR_gUefiCpuPkgTokenSpaceGuid_PcdCpuSmmStackSize_Help  #language en-US 
"Specifies stack size in bytes for each processor in SMM."
+
 #string STR_gUefiCpuPkgTokenSpaceGuid_PcdCpuSmmApSyncTimeout_PROMPT  #language 
en-US "AP synchronization timeout value in SMM"
 
 #string STR_gUefiCpuPkgTokenSpaceGuid_PcdCpuSmmApSyncTimeout_HELP  #language 
en-US "Specifies timeout value in microseconds for the BSP in SMM to wait for 
all APs to come into SMM."
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH v2 1/3] MdePkg/MdePkg.uni: Add the prompt and help information

2019-03-11 Thread Shenglei Zhang
The prompt and help information are missing in MdePkg.uni.
https://bugzilla.tianocore.org/show_bug.cgi?id=1600

v2:Fix the error message of help and prompt information.

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 MdePkg/MdePkg.uni | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/MdePkg/MdePkg.uni b/MdePkg/MdePkg.uni
index 863a68d025..f5a8ed1618 100644
--- a/MdePkg/MdePkg.uni
+++ b/MdePkg/MdePkg.uni
@@ -148,6 +148,13 @@

  "0  - No length check for unicode string.\n"

  ">0 - Maximum length of unicode string."
 
+#string 
STR_gEfiMdePkgTokenSpaceGuid_PcdControlFlowEnforcementPropertyMask_PROMPT  
#language en-US "Enable control flow enforcement."
+
+#string 
STR_gEfiMdePkgTokenSpaceGuid_PcdControlFlowEnforcementPropertyMask_HELP  
#language en-US  "Indicates the control flow enforcement enabling state.\n"
+   
   "If enabled, it uses control flow enforcement technology to 
prevent ROP or JOP.\n"
+   
   " BIT0 - SMM CET Shadow Stack is enabled.\n"
+   
   " Other - reserved"
+
 #string STR_gEfiMdePkgTokenSpaceGuid_PcdMaximumAsciiStringLength_PROMPT  
#language en-US "Maximum Length of Ascii String"
 
 #string STR_gEfiMdePkgTokenSpaceGuid_PcdMaximumAsciiStringLength_HELP  
#language en-US "Sets the maximum number of ASCII characters used for string 
functions.  This affects the following BaseLib functions: AsciiStrLen(), 
AsciiStrSize(), AsciiStrCmp(), AsciiStrnCmp(), AsciiStrCpy(), AsciiStrnCpy(). 
\n"
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH v2 2/3] SecurityPkg/SecurityPkg.uni: Add the prompt and help information

2019-03-11 Thread Shenglei Zhang
The prompt and help information are missing in SecurityPkg.uni.
https://bugzilla.tianocore.org/show_bug.cgi?id=1600

Cc: Chao Zhang 
Cc: Jiewen Yao 
Cc: Jian Wang 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 SecurityPkg/SecurityPkg.uni | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/SecurityPkg/SecurityPkg.uni b/SecurityPkg/SecurityPkg.uni
index 400fe6015e..5f387672e8 100644
--- a/SecurityPkg/SecurityPkg.uni
+++ b/SecurityPkg/SecurityPkg.uni
@@ -248,6 +248,12 @@
 #string STR_gEfiSecurityPkgTokenSpaceGuid_PcdTpm2PossibleIrqNumBuf_HELP  
#language en-US "This PCD defines possible TPM2 interrupt number in a platform 
reported by _PRS control method.\n"

  "If PcdTpm2CurrentIrqNum set to 0, _PRS will not report any possible 
TPM2 interrupt numbers."
 
+#string STR_gEfiSecurityPkgTokenSpaceGuid_PcdSkipOpalDxeUnlock_PROMPT  
#language en-US "Skip Opal DXE driver unlock device flow."
+
+#string STR_gEfiSecurityPkgTokenSpaceGuid_PcdSkipOpalDxeUnlock_HELP  #language 
en-US "Indicates if Opal DXE driver skip unlock device flow.\n"
+   
  "TRUE  - Skip unlock device flow.\n"
+   
  "FALSE - Does not skip unlock device flow."
+
 #string STR_gEfiSecurityPkgTokenSpaceGuid_PcdActiveTpmInterfaceType_PROMPT  
#language en-US "Current active TPM interface type"
 
 #string STR_gEfiSecurityPkgTokenSpaceGuid_PcdActiveTpmInterfaceType_HELP  
#language en-US "This PCD indicates current active TPM interface type.\n"
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH v2 0/3] Add the prompt and help information in .uni files

2019-03-11 Thread Shenglei Zhang
The prompt and help information are missing in
MdePkg/UefiPkg/SecurityPkg.uni

Cc: Eric Dong 
Cc: Ray Ni 
Cc: Laszlo Ersek 
Cc: Chao Zhang 
Cc: Jiewen Yao 
Cc: Jian Wang 
Cc: Michael D Kinney 
Cc: Liming Gao 
Shenglei Zhang (3):
  MdePkg/MdePkg.uni: Add the prompt and help information
  SecurityPkg/SecurityPkg.uni: Add the prompt and help information
  UefiCpuPkg/UefiCpuPkg.uni: Add the prompt and help information

 MdePkg/MdePkg.uni   | 7 +++
 SecurityPkg/SecurityPkg.uni | 6 ++
 UefiCpuPkg/UefiCpuPkg.uni   | 4 
 3 files changed, 17 insertions(+)

-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [PATCH 1/3] MdePkg/MdePkg.uni: Add the prompt and help information

2019-03-10 Thread Zhang, Shenglei
Sorry that's my mistake. I'll fix the error in v2.

Thanks,
Shenglei

> -Original Message-
> From: Yao, Jiewen
> Sent: Monday, March 11, 2019 9:49 AM
> To: Zhang, Shenglei ; edk2-devel@lists.01.org
> Cc: Kinney, Michael D ; Gao, Liming
> ; Yao, Jiewen 
> Subject: RE: [edk2] [PATCH 1/3] MdePkg/MdePkg.uni: Add the prompt and
> help information
> 
> HI
> I am confused why the help info is " Indicates the maximum length of
> Unicode string used in the following " ?
> 
> > -Original Message-
> > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of
> > Shenglei Zhang
> > Sent: Monday, March 11, 2019 8:55 AM
> > To: edk2-devel@lists.01.org
> > Cc: Kinney, Michael D ; Gao, Liming
> > 
> > Subject: [edk2] [PATCH 1/3] MdePkg/MdePkg.uni: Add the prompt and
> help
> > information
> >
> > The prompt and help information are missing in MdePkg.uni.
> > https://bugzilla.tianocore.org/show_bug.cgi?id=1600
> >
> > Cc: Michael D Kinney 
> > Cc: Liming Gao 
> > Contributed-under: TianoCore Contribution Agreement 1.1
> > Signed-off-by: Shenglei Zhang 
> > ---
> >  MdePkg/MdePkg.uni | 7 +++
> >  1 file changed, 7 insertions(+)
> >
> > diff --git a/MdePkg/MdePkg.uni b/MdePkg/MdePkg.uni
> > index 863a68d025..4f86432eb2 100644
> > --- a/MdePkg/MdePkg.uni
> > +++ b/MdePkg/MdePkg.uni
> > @@ -148,6 +148,13 @@
> >
> > "0  - No length check for unicode string.\n"
> >
> > ">0 - Maximum length of unicode string."
> >
> > +#string
> >
> STR_gEfiMdePkgTokenSpaceGuid_PcdControlFlowEnforcementPropertyMas
> > k_PROMPT  #language en-US "Maximum Length of Unicode String."
> > +
> > +#string
> >
> STR_gEfiMdePkgTokenSpaceGuid_PcdControlFlowEnforcementPropertyMas
> > k_HELP  #language en-US  "Indicates the maximum length of unicode
> > string used in the following\n"
> > +
> > "BaseLib functions: StrLen(), StrSize(), StrCmp(), StrnCmp(), StrCpy(),
> > StrnCpy()\n"
> > +
> > "0  - No length check for unicode string.\n"
> > +
> > ">0 - Maximum length of unicode string."
> > +
> >  #string
> >
> STR_gEfiMdePkgTokenSpaceGuid_PcdMaximumAsciiStringLength_PROMPT
> > #language en-US "Maximum Length of Ascii String"
> >
> >  #string
> > STR_gEfiMdePkgTokenSpaceGuid_PcdMaximumAsciiStringLength_HELP
> > #language en-US "Sets the maximum number of ASCII characters used for
> > string functions.  This affects the following BaseLib functions: 
> > AsciiStrLen(),
> > AsciiStrSize(), AsciiStrCmp(), AsciiStrnCmp(), AsciiStrCpy(), 
> > AsciiStrnCpy().
> > \n"
> > --
> > 2.18.0.windows.1
> >
> > ___
> > edk2-devel mailing list
> > edk2-devel@lists.01.org
> > https://lists.01.org/mailman/listinfo/edk2-devel
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH 2/3] SecurityPkg/SecurityPkg.uni: Add the prompt and help information

2019-03-10 Thread Shenglei Zhang
The prompt and help information are missing in SecurityPkg.uni.
https://bugzilla.tianocore.org/show_bug.cgi?id=1600

Cc: Chao Zhang 
Cc: Jiewen Yao 
Cc: Jian Wang 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 SecurityPkg/SecurityPkg.uni | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/SecurityPkg/SecurityPkg.uni b/SecurityPkg/SecurityPkg.uni
index 400fe6015e..5f387672e8 100644
--- a/SecurityPkg/SecurityPkg.uni
+++ b/SecurityPkg/SecurityPkg.uni
@@ -248,6 +248,12 @@
 #string STR_gEfiSecurityPkgTokenSpaceGuid_PcdTpm2PossibleIrqNumBuf_HELP  
#language en-US "This PCD defines possible TPM2 interrupt number in a platform 
reported by _PRS control method.\n"

  "If PcdTpm2CurrentIrqNum set to 0, _PRS will not report any possible 
TPM2 interrupt numbers."
 
+#string STR_gEfiSecurityPkgTokenSpaceGuid_PcdSkipOpalDxeUnlock_PROMPT  
#language en-US "Skip Opal DXE driver unlock device flow."
+
+#string STR_gEfiSecurityPkgTokenSpaceGuid_PcdSkipOpalDxeUnlock_HELP  #language 
en-US "Indicates if Opal DXE driver skip unlock device flow.\n"
+   
  "TRUE  - Skip unlock device flow.\n"
+   
  "FALSE - Does not skip unlock device flow."
+
 #string STR_gEfiSecurityPkgTokenSpaceGuid_PcdActiveTpmInterfaceType_PROMPT  
#language en-US "Current active TPM interface type"
 
 #string STR_gEfiSecurityPkgTokenSpaceGuid_PcdActiveTpmInterfaceType_HELP  
#language en-US "This PCD indicates current active TPM interface type.\n"
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH 1/3] MdePkg/MdePkg.uni: Add the prompt and help information

2019-03-10 Thread Shenglei Zhang
The prompt and help information are missing in MdePkg.uni.
https://bugzilla.tianocore.org/show_bug.cgi?id=1600

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 MdePkg/MdePkg.uni | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/MdePkg/MdePkg.uni b/MdePkg/MdePkg.uni
index 863a68d025..4f86432eb2 100644
--- a/MdePkg/MdePkg.uni
+++ b/MdePkg/MdePkg.uni
@@ -148,6 +148,13 @@

  "0  - No length check for unicode string.\n"

  ">0 - Maximum length of unicode string."
 
+#string 
STR_gEfiMdePkgTokenSpaceGuid_PcdControlFlowEnforcementPropertyMask_PROMPT  
#language en-US "Maximum Length of Unicode String."
+
+#string 
STR_gEfiMdePkgTokenSpaceGuid_PcdControlFlowEnforcementPropertyMask_HELP  
#language en-US  "Indicates the maximum length of unicode string used in the 
following\n"
+   
   "BaseLib functions: StrLen(), StrSize(), StrCmp(), 
StrnCmp(), StrCpy(), StrnCpy()\n"
+   
   "0  - No length check for unicode string.\n"
+   
   ">0 - Maximum length of unicode string."
+
 #string STR_gEfiMdePkgTokenSpaceGuid_PcdMaximumAsciiStringLength_PROMPT  
#language en-US "Maximum Length of Ascii String"
 
 #string STR_gEfiMdePkgTokenSpaceGuid_PcdMaximumAsciiStringLength_HELP  
#language en-US "Sets the maximum number of ASCII characters used for string 
functions.  This affects the following BaseLib functions: AsciiStrLen(), 
AsciiStrSize(), AsciiStrCmp(), AsciiStrnCmp(), AsciiStrCpy(), AsciiStrnCpy(). 
\n"
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH 3/3] UefiCpuPkg/UefiCpuPkg.uni: Add the prompt and help information

2019-03-10 Thread Shenglei Zhang
The prompt and help information are missing in UefiPkg.uni.
https://bugzilla.tianocore.org/show_bug.cgi?id=1600

Cc: Eric Dong 
Cc: Ray Ni 
Cc: Laszlo Ersek 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 UefiCpuPkg/UefiCpuPkg.uni | 4 
 1 file changed, 4 insertions(+)

diff --git a/UefiCpuPkg/UefiCpuPkg.uni b/UefiCpuPkg/UefiCpuPkg.uni
index b132ce62cf..0e57b6ac98 100644
--- a/UefiCpuPkg/UefiCpuPkg.uni
+++ b/UefiCpuPkg/UefiCpuPkg.uni
@@ -114,6 +114,10 @@
 
 #string STR_gUefiCpuPkgTokenSpaceGuid_PcdCpuSmmStackSize_HELP  #language en-US 
"Specifies stack size in bytes for each processor in SMM."
 
+#string STR_gUefiCpuPkgTokenSpaceGuid_PcdCpuSmmStackSize_PROMPT  #language 
en-US "Processor stack size in SMM."
+
+#string STR_gUefiCpuPkgTokenSpaceGuid_PcdCpuSmmStackSize_Help  #language en-US 
"Specifies stack size in bytes for each processor in SMM."
+
 #string STR_gUefiCpuPkgTokenSpaceGuid_PcdCpuSmmApSyncTimeout_PROMPT  #language 
en-US "AP synchronization timeout value in SMM"
 
 #string STR_gUefiCpuPkgTokenSpaceGuid_PcdCpuSmmApSyncTimeout_HELP  #language 
en-US "Specifies timeout value in microseconds for the BSP in SMM to wait for 
all APs to come into SMM."
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH 0/3] Add the prompt and help information in .uni files

2019-03-10 Thread Shenglei Zhang
The prompt and help information are missing in
MdePkg/UefiPkg/SecurityPkg.uni

Cc: Eric Dong 
Cc: Ray Ni 
Cc: Laszlo Ersek 
Cc: Chao Zhang 
Cc: Jiewen Yao 
Cc: Jian Wang 
Cc: Michael D Kinney 
Cc: Liming Gao 
Shenglei Zhang (3):
  MdePkg/MdePkg.uni: Add the prompt and help information
  SecurityPkg/SecurityPkg.uni: Add the prompt and help information
  UefiCpuPkg/UefiCpuPkg.uni: Add the prompt and help information

 MdePkg/MdePkg.uni   | 7 +++
 SecurityPkg/SecurityPkg.uni | 6 ++
 UefiCpuPkg/UefiCpuPkg.uni   | 4 
 3 files changed, 17 insertions(+)

-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH 05/10] MdePkg/BaseLib: Remove .S files for IA32 and X64 arch

2019-03-06 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 MdePkg/Library/BaseLib/BaseLib.inf|  38 --
 MdePkg/Library/BaseLib/Ia32/ARShiftU64.S  |  43 ---
 MdePkg/Library/BaseLib/Ia32/CpuId.S   |  63 
 MdePkg/Library/BaseLib/Ia32/CpuIdEx.S |  67 
 MdePkg/Library/BaseLib/Ia32/DisableCache.S|  39 --
 MdePkg/Library/BaseLib/Ia32/DisablePaging32.S |  52 ---
 MdePkg/Library/BaseLib/Ia32/DivU64x32.S   |  41 ---
 .../Library/BaseLib/Ia32/DivU64x32Remainder.S |  46 ---
 .../Library/BaseLib/Ia32/DivU64x64Remainder.S |  89 -
 MdePkg/Library/BaseLib/Ia32/EnableCache.S |  39 --
 .../BaseLib/Ia32/EnableDisableInterrupts.S|  36 --
 MdePkg/Library/BaseLib/Ia32/EnablePaging32.S  |  52 ---
 MdePkg/Library/BaseLib/Ia32/EnablePaging64.S  |  63 
 .../BaseLib/Ia32/InternalSwitchStack.S|  48 ---
 MdePkg/Library/BaseLib/Ia32/LRotU64.S |  48 ---
 MdePkg/Library/BaseLib/Ia32/LShiftU64.S   |  43 ---
 MdePkg/Library/BaseLib/Ia32/LongJump.S|  41 ---
 MdePkg/Library/BaseLib/Ia32/ModU64x32.S   |  40 ---
 MdePkg/Library/BaseLib/Ia32/Monitor.S |  40 ---
 MdePkg/Library/BaseLib/Ia32/MultU64x32.S  |  41 ---
 MdePkg/Library/BaseLib/Ia32/MultU64x64.S  |  44 ---
 MdePkg/Library/BaseLib/Ia32/Mwait.S   |  38 --
 MdePkg/Library/BaseLib/Ia32/RRotU64.S |  48 ---
 MdePkg/Library/BaseLib/Ia32/RShiftU64.S   |  46 ---
 MdePkg/Library/BaseLib/Ia32/RdRand.S  |  80 -
 MdePkg/Library/BaseLib/Ia32/SetJump.S |  44 ---
 MdePkg/Library/BaseLib/Ia32/SwapBytes64.S |  38 --
 MdePkg/Library/BaseLib/Ia32/Thunk16.S | 222 
 MdePkg/Library/BaseLib/X64/CpuId.S|  60 
 MdePkg/Library/BaseLib/X64/CpuIdEx.S  |  62 
 MdePkg/Library/BaseLib/X64/DisableCache.S |  39 --
 MdePkg/Library/BaseLib/X64/DisablePaging64.S  |  82 -
 MdePkg/Library/BaseLib/X64/EnableCache.S  |  39 --
 .../BaseLib/X64/EnableDisableInterrupts.S |  36 --
 MdePkg/Library/BaseLib/X64/LongJump.S |  54 ---
 MdePkg/Library/BaseLib/X64/RdRand.S   |  72 
 MdePkg/Library/BaseLib/X64/SetJump.S  |  53 ---
 MdePkg/Library/BaseLib/X64/SwitchStack.S  |  52 ---
 MdePkg/Library/BaseLib/X64/Thunk16.S  | 334 --
 39 files changed, 2412 deletions(-)
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/ARShiftU64.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/CpuId.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/CpuIdEx.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/DisableCache.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/DisablePaging32.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/DivU64x32.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/DivU64x32Remainder.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/DivU64x64Remainder.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/EnableCache.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/EnableDisableInterrupts.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/EnablePaging32.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/EnablePaging64.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/InternalSwitchStack.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/LRotU64.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/LShiftU64.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/LongJump.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/ModU64x32.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/Monitor.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/MultU64x32.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/MultU64x64.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/Mwait.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/RRotU64.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/RShiftU64.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/RdRand.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/SetJump.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/SwapBytes64.S
 delete mode 100644 MdePkg/Library/BaseLib/Ia32/Thunk16.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/CpuId.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/CpuIdEx.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/DisableCache.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/DisablePaging64.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/EnableCache.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/EnableDisableInterrupts.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/LongJump.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/RdRand.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/SetJump.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/SwitchStack.S
 delete mode 100644 MdePkg/Library/BaseLib/X64/Thunk16.S

diff --git a/MdePkg/Library/BaseLib/BaseLib.inf 
b/MdePkg/Library/BaseLib/BaseLib.inf
index a0d6c372f9..16829deeb4

[edk2] [PATCH 10/10] MdePkg/BaseMemoryLibSse2: Remove .S files for IA32 and X64 arch

2019-03-06 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../BaseMemoryLibSse2/BaseMemoryLibSse2.inf   | 22 -
 .../BaseMemoryLibSse2/Ia32/CompareMem.S   | 55 
 .../Library/BaseMemoryLibSse2/Ia32/CopyMem.S  | 85 ---
 .../BaseMemoryLibSse2/Ia32/ScanMem16.S| 52 
 .../BaseMemoryLibSse2/Ia32/ScanMem32.S| 52 
 .../BaseMemoryLibSse2/Ia32/ScanMem64.S| 61 -
 .../Library/BaseMemoryLibSse2/Ia32/ScanMem8.S | 52 
 .../Library/BaseMemoryLibSse2/Ia32/SetMem.S   | 76 -
 .../Library/BaseMemoryLibSse2/Ia32/SetMem16.S | 69 ---
 .../Library/BaseMemoryLibSse2/Ia32/SetMem32.S | 68 ---
 .../Library/BaseMemoryLibSse2/Ia32/SetMem64.S | 58 -
 .../Library/BaseMemoryLibSse2/Ia32/ZeroMem.S  | 65 --
 .../BaseMemoryLibSse2/X64/CompareMem.S| 59 -
 .../Library/BaseMemoryLibSse2/X64/CopyMem.S   | 83 --
 .../Library/BaseMemoryLibSse2/X64/ScanMem16.S | 56 
 .../Library/BaseMemoryLibSse2/X64/ScanMem32.S | 56 
 .../Library/BaseMemoryLibSse2/X64/ScanMem64.S | 56 
 .../Library/BaseMemoryLibSse2/X64/ScanMem8.S  | 56 
 MdePkg/Library/BaseMemoryLibSse2/X64/SetMem.S | 72 
 .../Library/BaseMemoryLibSse2/X64/SetMem16.S  | 70 ---
 .../Library/BaseMemoryLibSse2/X64/SetMem32.S  | 69 ---
 .../Library/BaseMemoryLibSse2/X64/SetMem64.S  | 60 -
 .../Library/BaseMemoryLibSse2/X64/ZeroMem.S   | 65 --
 23 files changed, 1417 deletions(-)
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/Ia32/ZeroMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibSse2/X64/ZeroMem.S

diff --git a/MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.inf 
b/MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.inf
index 771fddaa45..340ca15f06 100644
--- a/MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.inf
+++ b/MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.inf
@@ -47,27 +47,16 @@
 
 [Sources.Ia32]
   Ia32/ScanMem64.nasm
-  Ia32/ScanMem64.S
   Ia32/ScanMem32.nasm
-  Ia32/ScanMem32.S
   Ia32/ScanMem16.nasm
-  Ia32/ScanMem16.S
   Ia32/ScanMem8.nasm
-  Ia32/ScanMem8.S
   Ia32/CompareMem.nasm
-  Ia32/CompareMem.S
   Ia32/ZeroMem.nasm
-  Ia32/ZeroMem.S
   Ia32/SetMem64.nasm
-  Ia32/SetMem64.S
   Ia32/SetMem32.nasm
-  Ia32/SetMem32.S
   Ia32/SetMem16.nasm
-  Ia32/SetMem16.S
   Ia32/SetMem.nasm
-  Ia32/SetMem.S
   Ia32/CopyMem.nasm
-  Ia32/CopyMem.S
   Ia32/ScanMem64.nasm
   Ia32/ScanMem32.nasm
   Ia32/ScanMem16.nasm
@@ -94,27 +83,16 @@
   X64/SetMem.nasm
   X64/CopyMem.nasm
   X64/ScanMem64.nasm
-  X64/ScanMem64.S
   X64/ScanMem32.nasm
-  X64/ScanMem32.S
   X64/ScanMem16.nasm
-  X64/ScanMem16.S
   X64/ScanMem8.nasm
-  X64/ScanMem8.S
   X64/CompareMem.nasm
-  X64/CompareMem.S
   X64/ZeroMem.nasm
-  X64/ZeroMem.S
   X64/SetMem64.nasm
-  X64/SetMem64.S
   X64/SetMem32.nasm
-  X64/SetMem32.S
   X64/SetMem16.nasm
-  X64/SetMem16.S
   X64/SetMem.nasm
-  X64/SetMem.S
   X64/CopyMem.nasm
-  X64/CopyMem.S
   X64/IsZeroBuffer.nasm
 
 [Packages]
diff --git a/MdePkg/Library/BaseMemoryLibSse2/Ia32/CompareMem.S 
b/MdePkg/Library/BaseMemoryLibSse2/Ia32/CompareMem.S
deleted file mode 100644
index b509586adb..00
--- a/MdePkg/Library/BaseMemoryLibSse2/Ia32/CompareMem.S
+++ /dev/null
@@ -1,55 +0,0

[edk2] [PATCH 06/10] MdePkg/BaseMemoryLibMmx: Remove .S files for IA32 and X64 arch

2019-03-06 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../BaseMemoryLibMmx/BaseMemoryLibMmx.inf | 22 -
 .../BaseMemoryLibMmx/Ia32/CompareMem.S| 55 
 .../Library/BaseMemoryLibMmx/Ia32/CopyMem.S   | 86 ---
 .../Library/BaseMemoryLibMmx/Ia32/ScanMem16.S | 52 ---
 .../Library/BaseMemoryLibMmx/Ia32/ScanMem32.S | 52 ---
 .../Library/BaseMemoryLibMmx/Ia32/ScanMem64.S | 61 -
 .../Library/BaseMemoryLibMmx/Ia32/ScanMem8.S  | 52 ---
 MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem.S | 66 --
 .../Library/BaseMemoryLibMmx/Ia32/SetMem16.S  | 59 -
 .../Library/BaseMemoryLibMmx/Ia32/SetMem32.S  | 52 ---
 .../Library/BaseMemoryLibMmx/Ia32/SetMem64.S  | 43 --
 .../Library/BaseMemoryLibMmx/Ia32/ZeroMem.S   | 54 
 .../Library/BaseMemoryLibMmx/X64/CompareMem.S | 59 -
 MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.S | 74 
 .../Library/BaseMemoryLibMmx/X64/ScanMem16.S  | 56 
 .../Library/BaseMemoryLibMmx/X64/ScanMem32.S  | 56 
 .../Library/BaseMemoryLibMmx/X64/ScanMem64.S  | 55 
 .../Library/BaseMemoryLibMmx/X64/ScanMem8.S   | 56 
 MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.S  | 61 -
 .../Library/BaseMemoryLibMmx/X64/SetMem16.S   | 60 -
 .../Library/BaseMemoryLibMmx/X64/SetMem32.S   | 55 
 .../Library/BaseMemoryLibMmx/X64/SetMem64.S   | 47 --
 MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.S | 57 
 23 files changed, 1290 deletions(-)
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/Ia32/ZeroMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.S

diff --git a/MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx.inf 
b/MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx.inf
index d17fcf24b6..9a073d1cd9 100644
--- a/MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx.inf
+++ b/MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx.inf
@@ -52,27 +52,16 @@
 
 [Sources.Ia32]
   Ia32/ScanMem64.nasm
-  Ia32/ScanMem64.S
   Ia32/ScanMem32.nasm
-  Ia32/ScanMem32.S
   Ia32/ScanMem16.nasm
-  Ia32/ScanMem16.S
   Ia32/ScanMem8.nasm
-  Ia32/ScanMem8.S
   Ia32/CompareMem.nasm
-  Ia32/CompareMem.S
   Ia32/SetMem64.nasm
-  Ia32/SetMem64.S
   Ia32/SetMem32.nasm
-  Ia32/SetMem32.S
   Ia32/SetMem16.nasm
-  Ia32/SetMem16.S
   Ia32/ZeroMem.nasm
-  Ia32/ZeroMem.S
   Ia32/SetMem.nasm
-  Ia32/SetMem.S
   Ia32/CopyMem.nasm
-  Ia32/CopyMem.S
   Ia32/ScanMem64.nasm
   Ia32/ScanMem32.nasm
   Ia32/ScanMem16.nasm
@@ -99,27 +88,16 @@
   X64/SetMem.nasm
   X64/CopyMem.nasm
   X64/ScanMem64.nasm
-  X64/ScanMem64.S
   X64/ScanMem32.nasm
-  X64/ScanMem32.S
   X64/ScanMem16.nasm
-  X64/ScanMem16.S
   X64/ScanMem8.nasm
-  X64/ScanMem8.S
   X64/CompareMem.nasm
-  X64/CompareMem.S
   X64/SetMem64.nasm
-  X64/SetMem64.S
   X64/SetMem32.nasm
-  X64/SetMem32.S
   X64/SetMem16.nasm
-  X64/SetMem16.S
   X64/ZeroMem.nasm
-  X64/ZeroMem.S
   X64/SetMem.nasm
-  X64/SetMem.S
   X64/CopyMem.nasm
-  X64/CopyMem.S
   X64/IsZeroBuffer.nasm
 
 
diff --git a/MdePkg/Library/BaseMemoryLibMmx/Ia32/CompareMem.S 
b/MdePkg/Library/BaseMemoryLibMmx/Ia32/CompareMem.S
deleted file mode 100644
index b509586adb..00
--- a/MdePkg/Library/BaseMemoryLibMmx/Ia32/CompareMem.S
+++ /dev/null
@@ -1,55 +0,0 @@
-#--
-#
-# Copyright

[edk2] [PATCH 07/10] MdePkg/BaseMemoryLibOptDxe: Remove .S files for IA32 and X64 arch

2019-03-06 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../BaseMemoryLibOptDxe.inf   | 22 -
 .../BaseMemoryLibOptDxe/Ia32/CompareMem.S | 55 
 .../BaseMemoryLibOptDxe/Ia32/CopyMem.S| 85 ---
 .../BaseMemoryLibOptDxe/Ia32/ScanMem16.S  | 52 
 .../BaseMemoryLibOptDxe/Ia32/ScanMem32.S  | 52 
 .../BaseMemoryLibOptDxe/Ia32/ScanMem64.S  | 61 -
 .../BaseMemoryLibOptDxe/Ia32/ScanMem8.S   | 52 
 .../Library/BaseMemoryLibOptDxe/Ia32/SetMem.S | 50 ---
 .../BaseMemoryLibOptDxe/Ia32/SetMem16.S   | 43 --
 .../BaseMemoryLibOptDxe/Ia32/SetMem32.S   | 43 --
 .../BaseMemoryLibOptDxe/Ia32/SetMem64.S   | 46 --
 .../BaseMemoryLibOptDxe/Ia32/ZeroMem.S| 49 ---
 .../BaseMemoryLibOptDxe/X64/CompareMem.S  | 59 -
 .../Library/BaseMemoryLibOptDxe/X64/CopyMem.S | 82 --
 .../BaseMemoryLibOptDxe/X64/ScanMem16.S   | 56 
 .../BaseMemoryLibOptDxe/X64/ScanMem32.S   | 56 
 .../BaseMemoryLibOptDxe/X64/ScanMem64.S   | 55 
 .../BaseMemoryLibOptDxe/X64/ScanMem8.S| 56 
 .../Library/BaseMemoryLibOptDxe/X64/SetMem.S  | 57 -
 .../BaseMemoryLibOptDxe/X64/SetMem16.S| 47 --
 .../BaseMemoryLibOptDxe/X64/SetMem32.S| 47 --
 .../BaseMemoryLibOptDxe/X64/SetMem64.S| 46 --
 .../Library/BaseMemoryLibOptDxe/X64/ZeroMem.S | 51 ---
 23 files changed, 1222 deletions(-)
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/Ia32/ZeroMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptDxe/X64/ZeroMem.S

diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf 
b/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
index 3f756647e1..5ee1d70473 100644
--- a/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
+++ b/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
@@ -35,27 +35,16 @@
 
 [Sources.Ia32]
   Ia32/ScanMem64.nasm
-  Ia32/ScanMem64.S
   Ia32/ScanMem32.nasm
-  Ia32/ScanMem32.S
   Ia32/ScanMem16.nasm
-  Ia32/ScanMem16.S
   Ia32/ScanMem8.nasm
-  Ia32/ScanMem8.S
   Ia32/CompareMem.nasm
-  Ia32/CompareMem.S
   Ia32/ZeroMem.nasm
-  Ia32/ZeroMem.S
   Ia32/SetMem64.nasm
-  Ia32/SetMem64.S
   Ia32/SetMem32.nasm
-  Ia32/SetMem32.S
   Ia32/SetMem16.nasm
-  Ia32/SetMem16.S
   Ia32/SetMem.nasm
-  Ia32/SetMem.S
   Ia32/CopyMem.nasm
-  Ia32/CopyMem.S
   Ia32/ScanMem64.nasm
   Ia32/ScanMem32.nasm
   Ia32/ScanMem16.nasm
@@ -72,27 +61,16 @@
 
 [Sources.X64]
   X64/ScanMem64.nasm
-  X64/ScanMem64.S
   X64/ScanMem32.nasm
-  X64/ScanMem32.S
   X64/ScanMem16.nasm
-  X64/ScanMem16.S
   X64/ScanMem8.nasm
-  X64/ScanMem8.S
   X64/CompareMem.nasm
-  X64/CompareMem.S
   X64/ZeroMem.nasm
-  X64/ZeroMem.S
   X64/SetMem64.nasm
-  X64/SetMem64.S
   X64/SetMem32.nasm
-  X64/SetMem32.S
   X64/SetMem16.nasm
-  X64/SetMem16.S
   X64/SetMem.nasm
-  X64/SetMem.S
   X64/CopyMem.nasm
-  X64/CopyMem.S
   X64/IsZeroBuffer.nasm
   MemLibGuid.c
 
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CompareMem.S 
b/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CompareMem.S
deleted file mode 100644
index 23758781c9..00
--- a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/CompareMem.S
+++ /dev/null
@@ -1,55 +0,0

[edk2] [PATCH 09/10] MdePkg/BaseMemoryLibRepStr: Remove .S files for IA32 and X64 arch

2019-03-06 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../BaseMemoryLibRepStr.inf   | 22 ---
 .../BaseMemoryLibRepStr/Ia32/CompareMem.S | 55 
 .../BaseMemoryLibRepStr/Ia32/CopyMem.S| 65 --
 .../BaseMemoryLibRepStr/Ia32/ScanMem16.S  | 54 ---
 .../BaseMemoryLibRepStr/Ia32/ScanMem32.S  | 54 ---
 .../BaseMemoryLibRepStr/Ia32/ScanMem64.S  | 63 --
 .../BaseMemoryLibRepStr/Ia32/ScanMem8.S   | 54 ---
 .../Library/BaseMemoryLibRepStr/Ia32/SetMem.S | 46 -
 .../BaseMemoryLibRepStr/Ia32/SetMem16.S   | 43 
 .../BaseMemoryLibRepStr/Ia32/SetMem32.S   | 43 
 .../BaseMemoryLibRepStr/Ia32/SetMem64.S   | 46 -
 .../BaseMemoryLibRepStr/Ia32/ZeroMem.S| 49 --
 .../BaseMemoryLibRepStr/X64/CompareMem.S  | 59 -
 .../Library/BaseMemoryLibRepStr/X64/CopyMem.S | 66 ---
 .../BaseMemoryLibRepStr/X64/ScanMem16.S   | 56 
 .../BaseMemoryLibRepStr/X64/ScanMem32.S   | 56 
 .../BaseMemoryLibRepStr/X64/ScanMem64.S   | 56 
 .../BaseMemoryLibRepStr/X64/ScanMem8.S| 56 
 .../Library/BaseMemoryLibRepStr/X64/SetMem.S  | 47 -
 .../BaseMemoryLibRepStr/X64/SetMem16.S| 47 -
 .../BaseMemoryLibRepStr/X64/SetMem32.S| 47 -
 .../BaseMemoryLibRepStr/X64/SetMem64.S| 46 -
 .../Library/BaseMemoryLibRepStr/X64/ZeroMem.S | 50 --
 23 files changed, 1180 deletions(-)
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/Ia32/ZeroMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibRepStr/X64/ZeroMem.S

diff --git a/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf 
b/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
index 049936deab..7b315b8302 100644
--- a/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
+++ b/MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
@@ -48,27 +48,16 @@
 
 [Sources.Ia32]
   Ia32/ScanMem64.nasm
-  Ia32/ScanMem64.S
   Ia32/ScanMem32.nasm
-  Ia32/ScanMem32.S
   Ia32/ScanMem16.nasm
-  Ia32/ScanMem16.S
   Ia32/ScanMem8.nasm
-  Ia32/ScanMem8.S
   Ia32/CompareMem.nasm
-  Ia32/CompareMem.S
   Ia32/ZeroMem.nasm
-  Ia32/ZeroMem.S
   Ia32/SetMem64.nasm
-  Ia32/SetMem64.S
   Ia32/SetMem32.nasm
-  Ia32/SetMem32.S
   Ia32/SetMem16.nasm
-  Ia32/SetMem16.S
   Ia32/SetMem.nasm
-  Ia32/SetMem.S
   Ia32/CopyMem.nasm
-  Ia32/CopyMem.S
   Ia32/ScanMem64.nasm
   Ia32/ScanMem32.nasm
   Ia32/ScanMem16.nasm
@@ -84,27 +73,16 @@
 
 [Sources.X64]
   X64/ScanMem64.nasm
-  X64/ScanMem64.S
   X64/ScanMem32.nasm
-  X64/ScanMem32.S
   X64/ScanMem16.nasm
-  X64/ScanMem16.S
   X64/ScanMem8.nasm
-  X64/ScanMem8.S
   X64/CompareMem.nasm
-  X64/CompareMem.S
   X64/ZeroMem.nasm
-  X64/ZeroMem.S
   X64/SetMem64.nasm
-  X64/SetMem64.S
   X64/SetMem32.nasm
-  X64/SetMem32.S
   X64/SetMem16.nasm
-  X64/SetMem16.S
   X64/SetMem.nasm
-  X64/SetMem.S
   X64/CopyMem.nasm
-  X64/CopyMem.S
   X64/ScanMem64.nasm
   X64/ScanMem32.nasm
   X64/ScanMem16.nasm
diff --git a/MdePkg/Library/BaseMemoryLibRepStr/Ia32/CompareMem.S 
b/MdePkg/Library/BaseMemoryLibRepStr/Ia32/CompareMem.S
deleted file mode 100644
index b509586adb..00
--- a/MdePkg

[edk2] [PATCH 00/10] Remove .S files for IA32 and X64 arch in MdePkg and UefiCpuPkg

2019-03-06 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Cc: Eric Dong 
Cc: Ray Ni 
Cc: Laszlo Ersek 
Shenglei Zhang (10):
  UefiCpuPkg/SmmCpuFeaturesLib: Remove .S files for IA32 and X64 arch
  UefiCpuPkg/BaseUefiCpuLib: Remove .S files for IA32 and X64 arch
  UefiCpuPkg/CpuExceptionHandlerLib:Remove.S files for IA32 and X64 arch
  MdePkg/BaseCpuLib: Remove .S files for IA32 and X64 arch
  MdePkg/BaseLib: Remove .S files for IA32 and X64 arch
  MdePkg/BaseMemoryLibMmx: Remove .S files for IA32 and X64 arch
  MdePkg/BaseMemoryLibOptDxe: Remove .S files for IA32 and X64 arch
  MdePkg/BaseMemoryLibOptPei: Remove .S files for IA32 and X64 arch
  MdePkg/BaseMemoryLibRepStr: Remove .S files for IA32 and X64 arch
  MdePkg/BaseMemoryLibSse2: Remove .S files for IA32 and X64 arch

 MdePkg/Library/BaseCpuLib/BaseCpuLib.inf  |   2 -
 MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.S   |  35 -
 MdePkg/Library/BaseCpuLib/X64/CpuSleep.S  |  34 -
 MdePkg/Library/BaseLib/BaseLib.inf|  38 -
 MdePkg/Library/BaseLib/Ia32/ARShiftU64.S  |  43 --
 MdePkg/Library/BaseLib/Ia32/CpuId.S   |  63 --
 MdePkg/Library/BaseLib/Ia32/CpuIdEx.S |  67 --
 MdePkg/Library/BaseLib/Ia32/DisableCache.S|  39 -
 MdePkg/Library/BaseLib/Ia32/DisablePaging32.S |  52 --
 MdePkg/Library/BaseLib/Ia32/DivU64x32.S   |  41 --
 .../Library/BaseLib/Ia32/DivU64x32Remainder.S |  46 --
 .../Library/BaseLib/Ia32/DivU64x64Remainder.S |  89 ---
 MdePkg/Library/BaseLib/Ia32/EnableCache.S |  39 -
 .../BaseLib/Ia32/EnableDisableInterrupts.S|  36 -
 MdePkg/Library/BaseLib/Ia32/EnablePaging32.S  |  52 --
 MdePkg/Library/BaseLib/Ia32/EnablePaging64.S  |  63 --
 .../BaseLib/Ia32/InternalSwitchStack.S|  48 --
 MdePkg/Library/BaseLib/Ia32/LRotU64.S |  48 --
 MdePkg/Library/BaseLib/Ia32/LShiftU64.S   |  43 --
 MdePkg/Library/BaseLib/Ia32/LongJump.S|  41 --
 MdePkg/Library/BaseLib/Ia32/ModU64x32.S   |  40 --
 MdePkg/Library/BaseLib/Ia32/Monitor.S |  40 --
 MdePkg/Library/BaseLib/Ia32/MultU64x32.S  |  41 --
 MdePkg/Library/BaseLib/Ia32/MultU64x64.S  |  44 --
 MdePkg/Library/BaseLib/Ia32/Mwait.S   |  38 -
 MdePkg/Library/BaseLib/Ia32/RRotU64.S |  48 --
 MdePkg/Library/BaseLib/Ia32/RShiftU64.S   |  46 --
 MdePkg/Library/BaseLib/Ia32/RdRand.S  |  80 ---
 MdePkg/Library/BaseLib/Ia32/SetJump.S |  44 --
 MdePkg/Library/BaseLib/Ia32/SwapBytes64.S |  38 -
 MdePkg/Library/BaseLib/Ia32/Thunk16.S | 222 --
 MdePkg/Library/BaseLib/X64/CpuId.S|  60 --
 MdePkg/Library/BaseLib/X64/CpuIdEx.S  |  62 --
 MdePkg/Library/BaseLib/X64/DisableCache.S |  39 -
 MdePkg/Library/BaseLib/X64/DisablePaging64.S  |  82 ---
 MdePkg/Library/BaseLib/X64/EnableCache.S  |  39 -
 .../BaseLib/X64/EnableDisableInterrupts.S |  36 -
 MdePkg/Library/BaseLib/X64/LongJump.S |  54 --
 MdePkg/Library/BaseLib/X64/RdRand.S   |  72 --
 MdePkg/Library/BaseLib/X64/SetJump.S  |  53 --
 MdePkg/Library/BaseLib/X64/SwitchStack.S  |  52 --
 MdePkg/Library/BaseLib/X64/Thunk16.S  | 334 -
 .../BaseMemoryLibMmx/BaseMemoryLibMmx.inf |  22 -
 .../BaseMemoryLibMmx/Ia32/CompareMem.S|  55 --
 .../Library/BaseMemoryLibMmx/Ia32/CopyMem.S   |  86 ---
 .../Library/BaseMemoryLibMmx/Ia32/ScanMem16.S |  52 --
 .../Library/BaseMemoryLibMmx/Ia32/ScanMem32.S |  52 --
 .../Library/BaseMemoryLibMmx/Ia32/ScanMem64.S |  61 --
 .../Library/BaseMemoryLibMmx/Ia32/ScanMem8.S  |  52 --
 MdePkg/Library/BaseMemoryLibMmx/Ia32/SetMem.S |  66 --
 .../Library/BaseMemoryLibMmx/Ia32/SetMem16.S  |  59 --
 .../Library/BaseMemoryLibMmx/Ia32/SetMem32.S  |  52 --
 .../Library/BaseMemoryLibMmx/Ia32/SetMem64.S  |  43 --
 .../Library/BaseMemoryLibMmx/Ia32/ZeroMem.S   |  54 --
 .../Library/BaseMemoryLibMmx/X64/CompareMem.S |  59 --
 MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.S |  74 --
 .../Library/BaseMemoryLibMmx/X64/ScanMem16.S  |  56 --
 .../Library/BaseMemoryLibMmx/X64/ScanMem32.S  |  56 --
 .../Library/BaseMemoryLibMmx/X64/ScanMem64.S  |  55 --
 .../Library/BaseMemoryLibMmx/X64/ScanMem8.S   |  56 --
 MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.S  |  61 --
 .../Library/BaseMemoryLibMmx/X64/SetMem16.S   |  60 --
 .../Library/BaseMemoryLibMmx/X64/SetMem32.S   |  55 --
 .../Library/BaseMemoryLibMmx/X64/SetMem64.S   |  47 --
 MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.S |  57 --
 .../BaseMemoryLibOptDxe.inf   |  22 -
 .../BaseMemoryLibOptDxe/Ia32/CompareMem.S |  55 --
 .../BaseMemoryLibOptDxe/Ia32/CopyMem.S|  85 ---
 .../BaseMemoryLibOptDxe/Ia32/ScanMem16.S  |  52 --
 .../BaseMemoryLibOptDxe/Ia32/ScanMem32.S  |  52 --
 .../BaseMemoryLibOptDxe/Ia32/ScanMem64.S  |  61 --
 .../BaseMemoryLibOptDxe/Ia32/ScanMem8.S   |  52 --
 .../Library/BaseMemoryLibOptDxe/Ia32/SetMem.S |  50

[edk2] [PATCH 01/10] UefiCpuPkg/SmmCpuFeaturesLib: Remove .S files for IA32 and X64 arch

2019-03-06 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Eric Dong 
Cc: Ray Ni 
Cc: Laszlo Ersek 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../Library/SmmCpuFeaturesLib/Ia32/SmiEntry.S | 278 -
 .../SmmCpuFeaturesLib/Ia32/SmiException.S | 174 ---
 .../SmmCpuFeaturesLibStm.inf  |   6 -
 .../Library/SmmCpuFeaturesLib/X64/SmiEntry.S  | 282 --
 .../SmmCpuFeaturesLib/X64/SmiException.S  | 178 ---
 5 files changed, 918 deletions(-)
 delete mode 100644 UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiEntry.S
 delete mode 100644 UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiException.S
 delete mode 100644 UefiCpuPkg/Library/SmmCpuFeaturesLib/X64/SmiEntry.S
 delete mode 100644 UefiCpuPkg/Library/SmmCpuFeaturesLib/X64/SmiException.S

diff --git a/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiEntry.S 
b/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiEntry.S
deleted file mode 100644
index 4c0f8c8933..00
--- a/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmiEntry.S
+++ /dev/null
@@ -1,278 +0,0 @@
-#--
-#
-# Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD 
License
-# which accompanies this distribution.  The full text of the license may be 
found at
-# http://opensource.org/licenses/bsd-license.php.
-#
-# THE PROGRAM 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.S
-#
-# Abstract:
-#
-#   Code template of the SMI handler for a particular processor
-#
-#--
-
-ASM_GLOBAL  ASM_PFX(gcStmSmiHandlerTemplate)
-ASM_GLOBAL  ASM_PFX(gcStmSmiHandlerSize)
-ASM_GLOBAL  ASM_PFX(gcStmSmiHandlerOffset)
-ASM_GLOBAL  ASM_PFX(gStmSmiCr3)
-ASM_GLOBAL  ASM_PFX(gStmSmiStack)
-ASM_GLOBAL  ASM_PFX(gStmSmbase)
-ASM_GLOBAL  ASM_PFX(gStmXdSupported)
-ASM_GLOBAL  ASM_PFX(FeaturePcdGet (PcdCpuSmmStackGuard))
-ASM_GLOBAL  ASM_PFX(gStmSmiHandlerIdtr)
-
-.equMSR_IA32_MISC_ENABLE, 0x1A0
-.equMSR_EFER, 0xc080
-.equMSR_EFER_XD, 0x800
-
-#
-# Constants relating to TXT_PROCESSOR_SMM_DESCRIPTOR
-#
-.equDSC_OFFSET, 0xfb00
-.equDSC_GDTPTR, 0x48
-.equDSC_GDTSIZ, 0x50
-.equDSC_CS, 0x14
-.equDSC_DS, 0x16
-.equDSC_SS, 0x18
-.equDSC_OTHERSEG, 0x1A
-
-.equPROTECT_MODE_CS, 0x08
-.equPROTECT_MODE_DS, 0x20
-.equTSS_SEGMENT, 0x40
-
-.text
-ASM_PFX(gcStmSmiHandlerTemplate):
-
-_StmSmiEntryPoint:
-.byte 0xbb  # mov bx, imm16
-.word _StmGdtDesc - _StmSmiEntryPoint + 0x8000
-.byte 0x2e,0xa1 # mov ax, cs:[offset16]
-.word DSC_OFFSET + DSC_GDTSIZ
-decl%eax
-movl%eax, %cs:(%edi)# mov cs:[bx], ax
-.byte 0x66,0x2e,0xa1# mov eax, cs:[offset16]
-.word   DSC_OFFSET + DSC_GDTPTR
-movw%ax, %cs:2(%edi)
-movw%ax, %bp# ebp = GDT base
-.byte 0x66
-lgdt%cs:(%edi)
-# Patch ProtectedMode Segment
-.byte   0xb8# mov ax, imm16
-.word   PROTECT_MODE_CS # set AX for segment directly
-movl%eax, %cs:-2(%edi)  # mov cs:[bx - 2], ax
-# Patch ProtectedMode entry
-.byte 0x66, 0xbf# mov edi, SMBASE
-ASM_PFX(gStmSmbase): .space 4
-.byte 0x67
-lea ((Start32bit - _StmSmiEntryPoint) + 0x8000)(%edi), %ax
-movw %ax, %cs:-6(%edi)
-movl%cr0, %ebx
-.byte 0x66
-andl$0x9ffafff3, %ebx
-.byte 0x66
-orl $0x23, %ebx
-movl%ebx, %cr0
-.byte 0x66,0xea
-.space  4
-.space  2
-_StmGdtDesc:   .space 4
-.space 2
-
-Start32bit:
-movw$PROTECT_MODE_DS, %ax
-movl%eax,%ds
-movl%eax,%es
-movl%eax,%fs
-movl%eax,%gs
-movl%eax,%ss
-.byte   0xbc  # mov esp, imm32
-ASM_PFX(gStmSmiStack): .space 4
-movl$ASM_PFX(gStmSmiHandlerIdtr), %eax
-lidt(%eax)
-jmp ProtFlatMode
-
-ProtFlatMode:
-.byte   0xb8   # mov eax, imm32
-ASM_PFX(gStmSmiCr3): .space 4
-movl%eax, %cr3
-#
-# Need to test for CR4 specific bit support
-#
-movl$1, %eax
-cpuid  # use CPUID to determine if 
specific CR4 bits are supported
-xorl%eax, %eax # Clear EAX
-testl   $BIT2, %edx# Check for DE capabilities
-jz  L8
-orl $

[edk2] [PATCH 04/10] MdePkg/BaseCpuLib: Remove .S files for IA32 and X64 arch

2019-03-06 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 MdePkg/Library/BaseCpuLib/BaseCpuLib.inf|  2 --
 MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.S | 35 -
 MdePkg/Library/BaseCpuLib/X64/CpuSleep.S| 34 
 3 files changed, 71 deletions(-)
 delete mode 100644 MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.S
 delete mode 100644 MdePkg/Library/BaseCpuLib/X64/CpuSleep.S

diff --git a/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf 
b/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
index af2f09617a..1b5ca0bedd 100644
--- a/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
+++ b/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
@@ -47,9 +47,7 @@
   X64/CpuSleep.nasm
 
   X64/CpuSleep.nasm| GCC
-  X64/CpuSleep.S | GCC
   X64/CpuFlushTlb.nasm| GCC
-  X64/CpuFlushTlb.S | GCC
 
 [Sources.EBC]
   Ebc/CpuSleepFlushTlb.c
diff --git a/MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.S 
b/MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.S
deleted file mode 100644
index 05d916a589..00
--- a/MdePkg/Library/BaseCpuLib/X64/CpuFlushTlb.S
+++ /dev/null
@@ -1,35 +0,0 @@
-#--
-# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD 
License
-# which accompanies this distribution.  The full text of the license may be 
found at
-# http://opensource.org/licenses/bsd-license.php.
-#
-# THE PROGRAM 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:
-#
-#--
-
-ASM_GLOBAL ASM_PFX(CpuFlushTlb)
-
-#--
-# VOID
-# EFIAPI
-# CpuFlushTlb (
-#   VOID
-#   );
-#--
-ASM_PFX(CpuFlushTlb):
-mov %cr3, %rax
-mov %rax, %cr3
-ret
diff --git a/MdePkg/Library/BaseCpuLib/X64/CpuSleep.S 
b/MdePkg/Library/BaseCpuLib/X64/CpuSleep.S
deleted file mode 100644
index cf763689d7..00
--- a/MdePkg/Library/BaseCpuLib/X64/CpuSleep.S
+++ /dev/null
@@ -1,34 +0,0 @@
-#--
 ;
-# Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.
-# This program and the accompanying materials
-# are licensed and made available under the terms and conditions of the BSD 
License
-# which accompanies this distribution.  The full text of the license may be 
found at
-# http://opensource.org/licenses/bsd-license.php.
-#
-# THE PROGRAM 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.S
-#
-# Abstract:
-#
-#   CpuSleep function
-#
-# Notes:
-#
-#--
-
-
-#--
-# VOID
-# EFIAPI
-# CpuSleep (
-#   VOID
-#   );
-#--
-ASM_GLOBAL ASM_PFX(CpuSleep)
-ASM_PFX(CpuSleep):
-hlt
-ret
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH 08/10] MdePkg/BaseMemoryLibOptPei: Remove .S files for IA32 and X64 arch

2019-03-06 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../BaseMemoryLibOptPei.inf   | 22 ---
 .../BaseMemoryLibOptPei/Ia32/CompareMem.S | 55 
 .../BaseMemoryLibOptPei/Ia32/CopyMem.S| 62 -
 .../BaseMemoryLibOptPei/Ia32/ScanMem16.S  | 52 ---
 .../BaseMemoryLibOptPei/Ia32/ScanMem32.S  | 52 ---
 .../BaseMemoryLibOptPei/Ia32/ScanMem64.S  | 61 -
 .../BaseMemoryLibOptPei/Ia32/ScanMem8.S   | 52 ---
 .../Library/BaseMemoryLibOptPei/Ia32/SetMem.S | 50 --
 .../BaseMemoryLibOptPei/Ia32/SetMem16.S   | 43 
 .../BaseMemoryLibOptPei/Ia32/SetMem32.S   | 43 
 .../BaseMemoryLibOptPei/Ia32/SetMem64.S   | 46 -
 .../BaseMemoryLibOptPei/Ia32/ZeroMem.S| 49 --
 .../BaseMemoryLibOptPei/X64/CompareMem.S  | 59 -
 .../Library/BaseMemoryLibOptPei/X64/CopyMem.S | 66 ---
 .../BaseMemoryLibOptPei/X64/ScanMem16.S   | 56 
 .../BaseMemoryLibOptPei/X64/ScanMem32.S   | 56 
 .../BaseMemoryLibOptPei/X64/ScanMem64.S   | 56 
 .../BaseMemoryLibOptPei/X64/ScanMem8.S| 56 
 .../Library/BaseMemoryLibOptPei/X64/SetMem.S  | 47 -
 .../BaseMemoryLibOptPei/X64/SetMem16.S| 47 -
 .../BaseMemoryLibOptPei/X64/SetMem32.S| 47 -
 .../BaseMemoryLibOptPei/X64/SetMem64.S| 46 -
 .../Library/BaseMemoryLibOptPei/X64/ZeroMem.S | 50 --
 23 files changed, 1173 deletions(-)
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/Ia32/ZeroMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/CompareMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/CopyMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem8.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem16.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem32.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/SetMem64.S
 delete mode 100644 MdePkg/Library/BaseMemoryLibOptPei/X64/ZeroMem.S

diff --git a/MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf 
b/MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf
index 8f274d83b0..6fcb5fdac2 100644
--- a/MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf
+++ b/MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf
@@ -35,27 +35,16 @@
 
 [Sources.Ia32]
   Ia32/ScanMem64.nasm
-  Ia32/ScanMem64.S
   Ia32/ScanMem32.nasm
-  Ia32/ScanMem32.S
   Ia32/ScanMem16.nasm
-  Ia32/ScanMem16.S
   Ia32/ScanMem8.nasm
-  Ia32/ScanMem8.S
   Ia32/CompareMem.nasm
-  Ia32/CompareMem.S
   Ia32/ZeroMem.nasm
-  Ia32/ZeroMem.S
   Ia32/SetMem64.nasm
-  Ia32/SetMem64.S
   Ia32/SetMem32.nasm
-  Ia32/SetMem32.S
   Ia32/SetMem16.nasm
-  Ia32/SetMem16.S
   Ia32/SetMem.nasm
-  Ia32/SetMem.S
   Ia32/CopyMem.nasm
-  Ia32/CopyMem.S
   Ia32/ScanMem64.nasm
   Ia32/ScanMem32.nasm
   Ia32/ScanMem16.nasm
@@ -84,27 +73,16 @@
 
 [Sources.X64]
   X64/ScanMem64.nasm
-  X64/ScanMem64.S
   X64/ScanMem32.nasm
-  X64/ScanMem32.S
   X64/ScanMem16.nasm
-  X64/ScanMem16.S
   X64/ScanMem8.nasm
-  X64/ScanMem8.S
   X64/CompareMem.nasm
-  X64/CompareMem.S
   X64/ZeroMem.nasm
-  X64/ZeroMem.S
   X64/SetMem64.nasm
-  X64/SetMem64.S
   X64/SetMem32.nasm
-  X64/SetMem32.S
   X64/SetMem16.nasm
-  X64/SetMem16.S
   X64/SetMem.nasm
-  X64/SetMem.S
   X64/CopyMem.nasm
-  X64/CopyMem.S
   X64/IsZeroBuffer.nasm
   ScanMem64Wrapper.c
   ScanMem32Wrapper.c
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/Ia32/CompareMem.S 
b/MdePkg/Library/BaseMemoryLibOptPei/Ia32/CompareMem.S
deleted file mode 100644
index 23758781c9..00
--- a/MdePkg

[edk2] [PATCH 03/10] UefiCpuPkg/CpuExceptionHandlerLib:Remove.S files for IA32 and X64 arch

2019-03-06 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Eric Dong 
Cc: Ray Ni 
Cc: Laszlo Ersek 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../DxeCpuExceptionHandlerLib.inf |   2 -
 .../Ia32/ExceptionHandlerAsm.S| 667 --
 .../PeiCpuExceptionHandlerLib.inf |   2 -
 .../SecPeiCpuExceptionHandlerLib.inf  |   2 -
 .../SmmCpuExceptionHandlerLib.inf |   2 -
 .../X64/ExceptionHandlerAsm.S | 434 
 6 files changed, 1109 deletions(-)
 delete mode 100644 
UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32/ExceptionHandlerAsm.S
 delete mode 100644 
UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ExceptionHandlerAsm.S

diff --git 
a/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf 
b/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
index a480890165..391e49f077 100644
--- a/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
+++ b/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
@@ -30,13 +30,11 @@
 [Sources.Ia32]
   Ia32/ExceptionHandlerAsm.nasm
   Ia32/ExceptionTssEntryAsm.nasm
-  Ia32/ExceptionHandlerAsm.S
   Ia32/ArchExceptionHandler.c
   Ia32/ArchInterruptDefs.h
 
 [Sources.X64]
   X64/ExceptionHandlerAsm.nasm
-  X64/ExceptionHandlerAsm.S
   X64/ArchExceptionHandler.c
   X64/ArchInterruptDefs.h
 
diff --git 
a/UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32/ExceptionHandlerAsm.S 
b/UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32/ExceptionHandlerAsm.S
deleted file mode 100644
index c134257d9d..00
--- a/UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32/ExceptionHandlerAsm.S
+++ /dev/null
@@ -1,667 +0,0 @@
-#--
-#*
-#*   Copyright (c) 2012 - 2015, Intel Corporation. All rights reserved.
-#*   This program and the accompanying materials
-#*   are licensed and made available under the terms and conditions of the BSD 
License
-#*   which accompanies this distribution.  The full text of the license may be 
found at
-#*   http://opensource.org/licenses/bsd-license.php
-#*
-#*   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-#*   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
IMPLIED.
-#*
-#*ExceptionHandlerAsm.S
-#*
-#*   Abstract:
-#*
-#* IA32 CPU Exception Handler
-#
-#--
-
-
-#.MMX
-#.XMM
-
-ASM_GLOBAL ASM_PFX(CommonExceptionHandler)
-ASM_GLOBAL ASM_PFX(CommonInterruptEntry)
-ASM_GLOBAL ASM_PFX(HookAfterStubHeaderEnd)
-
-#EXTRN ASM_PFX(mErrorCodeFlag):DWORD   # Error code flags for 
exceptions
-#EXTRN ASM_PFX(mDoFarReturnFlag):DWORD # Do far return flag
-
-.text
-
-#
-# exception handler stub table
-#
-Exception0Handle:
-.byte   0x6a#  push #VectorNum
-.byte   0
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception1Handle:
-.byte   0x6a#  push #VectorNum
-.byte   1
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception2Handle:
-.byte   0x6a#  push #VectorNum
-.byte   2
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception3Handle:
-.byte   0x6a#  push #VectorNum
-.byte   3
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception4Handle:
-.byte   0x6a#  push #VectorNum
-.byte   4
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception5Handle:
-.byte   0x6a#  push #VectorNum
-.byte   5
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception6Handle:
-.byte   0x6a#  push #VectorNum
-.byte   6
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception7Handle:
-.byte   0x6a#  push #VectorNum
-.byte   7
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception8Handle:
-.byte   0x6a#  push #VectorNum
-.byte   8
-pushl   %eax
- .byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception9Handle:
-.byte   0x6a#  push #VectorNum
-.byte   9
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception10Handle:
-.byte   0x6a#  push #VectorNum
-.byte   10
-pushl   %eax
-.byte   0xB8
-.long   ASM_PFX(CommonInterruptEntry)
-jmp *%eax
-Exception11Handle:
-.byte   0x6a#  push #VectorNum
-.byte   11
-pushl   %eax
-.byte   0xB8

[edk2] [PATCH 02/10] UefiCpuPkg/BaseUefiCpuLib: Remove .S files for IA32 and X64 arch

2019-03-06 Thread Shenglei Zhang
.nasm file has been added for X86 arch. .S assembly code
is not required any more.
https://bugzilla.tianocore.org/show_bug.cgi?id=1594

Cc: Eric Dong 
Cc: Ray Ni 
Cc: Laszlo Ersek 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../Library/BaseUefiCpuLib/BaseUefiCpuLib.inf |  2 -
 .../BaseUefiCpuLib/Ia32/InitializeFpu.S   | 73 ---
 .../BaseUefiCpuLib/X64/InitializeFpu.S| 57 ---
 3 files changed, 132 deletions(-)
 delete mode 100644 UefiCpuPkg/Library/BaseUefiCpuLib/Ia32/InitializeFpu.S
 delete mode 100644 UefiCpuPkg/Library/BaseUefiCpuLib/X64/InitializeFpu.S

diff --git a/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf 
b/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
index 5614452a88..2e9756e50e 100644
--- a/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
+++ b/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
@@ -31,11 +31,9 @@
 
 [Sources.IA32]
   Ia32/InitializeFpu.nasm
-  Ia32/InitializeFpu.S
 
 [Sources.X64]
   X64/InitializeFpu.nasm
-  X64/InitializeFpu.S
 
 [Packages]
   MdePkg/MdePkg.dec
diff --git a/UefiCpuPkg/Library/BaseUefiCpuLib/Ia32/InitializeFpu.S 
b/UefiCpuPkg/Library/BaseUefiCpuLib/Ia32/InitializeFpu.S
deleted file mode 100644
index 0a1a9198f6..00
--- a/UefiCpuPkg/Library/BaseUefiCpuLib/Ia32/InitializeFpu.S
+++ /dev/null
@@ -1,73 +0,0 @@
-#--
-#*
-#*   Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
-#*   This program and the accompanying materials
-#*   are licensed and made available under the terms and conditions of the BSD 
License
-#*   which accompanies this distribution.  The full text of the license may be 
found at
-#*   http://opensource.org/licenses/bsd-license.php
-#*
-#*   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-#*   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
IMPLIED.
-#*
-#*
-#--
-
-#
-# Float control word initial value:
-# all exceptions masked, double-precision, round-to-nearest
-#
-ASM_PFX(mFpuControlWord): .word 0x027F
-#
-# Multimedia-extensions control word:
-# all exceptions masked, round-to-nearest, flush to zero for masked underflow
-#
-ASM_PFX(mMmxControlWord): .long 0x01F80
-
-#
-# 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).
-#
-ASM_GLOBAL ASM_PFX(InitializeFloatingPointUnits)
-ASM_PFX(InitializeFloatingPointUnits):
-
-pushl   %ebx
-
-#
-# Initialize floating point units
-#
-finit
-fldcw   ASM_PFX(mFpuControlWord)
-
-#
-# Use CpuId instructuion (CPUID.01H:EDX.SSE[bit 25] = 1) to test
-# whether the processor supports SSE instruction.
-#
-movl$1,  %eax
-cpuid
-btl $25, %edx
-jnc Done
-
-#
-# Set OSFXSR bit 9 in CR4
-#
-movl%cr4, %eax
-or  $0x200, %eax
-movl%eax, %cr4
-
-#
-# The processor should support SSE instruction and we can use
-# ldmxcsr instruction
-#
-ldmxcsr ASM_PFX(mMmxControlWord)
-
-Done:
-popl%ebx
-
-ret
-
-#END
-
diff --git a/UefiCpuPkg/Library/BaseUefiCpuLib/X64/InitializeFpu.S 
b/UefiCpuPkg/Library/BaseUefiCpuLib/X64/InitializeFpu.S
deleted file mode 100644
index f0b0d3e264..00
--- a/UefiCpuPkg/Library/BaseUefiCpuLib/X64/InitializeFpu.S
+++ /dev/null
@@ -1,57 +0,0 @@
-#--
-#*
-#*   Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
-#*   This program and the accompanying materials
-#*   are licensed and made available under the terms and conditions of the BSD 
License
-#*   which accompanies this distribution.  The full text of the license may be 
found at
-#*   http://opensource.org/licenses/bsd-license.php
-#*
-#*   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-#*   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
IMPLIED.
-#*
-#*
-#--
-
-#
-# Initializes floating point units for requirement of UEFI specification.
-#
-# This function initializes floating-point control word to 0x037F (all 
exceptions
-# masked,double-extended-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).
-#
-ASM_GLOBAL ASM_PFX(InitializeFloatingPointUnits)
-ASM_PFX(InitializeFloatingPointUnits):
-
-#
-# Initialize 

[edk2] [PATCH] ShellPkg: Correct a parameter's name

2019-03-04 Thread Shenglei Zhang
The parameter FilePath of ShellOpenFileByName defined in
ShellLib.h is incorrect. It should be FileName.
https://bugzilla.tianocore.org/show_bug.cgi?id=1221

Cc: Jaben Carsey 
Cc: Ruiyu Ni 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 ShellPkg/Include/Library/ShellLib.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ShellPkg/Include/Library/ShellLib.h 
b/ShellPkg/Include/Library/ShellLib.h
index 2ecc5ee006..78bdcc8c53 100644
--- a/ShellPkg/Include/Library/ShellLib.h
+++ b/ShellPkg/Include/Library/ShellLib.h
@@ -161,7 +161,7 @@ ShellOpenFileByDevicePath(
   otherwise, the Filehandle is NULL. Attributes is valid only for
   EFI_FILE_MODE_CREATE.
 
-  @param[in] FilePath   The pointer to file name.
+  @param[in] FileName   The pointer to file name.
   @param[out] FileHandleThe pointer to the file handle.
   @param[in] OpenMode   The mode to open the file with.
   @param[in] Attributes The file's file attributes.
@@ -186,7 +186,7 @@ ShellOpenFileByDevicePath(
 EFI_STATUS
 EFIAPI
 ShellOpenFileByName(
-  IN CONST CHAR16   *FilePath,
+  IN CONST CHAR16   *FileName,
   OUT SHELL_FILE_HANDLE *FileHandle,
   IN UINT64 OpenMode,
   IN UINT64 Attributes
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH 0/3] MdePkg: Remove inline X86 assembly code

2019-03-04 Thread Shenglei Zhang
MdePkg BaseLib, BaseCpuLib and BaseSynchronizationLib still use
the inline X86 assembly code in C code files. They should be updated
to consume nasm only.
https://bugzilla.tianocore.org/show_bug.cgi?id=1163

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
Shenglei Zhang (3):
  MdePkg/BaseCpuLib: Remove inline X86 assembly code
  MdePkg/BaseLib: Remove inline X86 assembly code
  MdePkg/BaseSynchronizationLib: Remove inline X86 assembly code

 MdePkg/Library/BaseCpuLib/BaseCpuLib.inf  |  6 -
 MdePkg/Library/BaseLib/BaseLib.inf| 27 ---
 .../BaseSynchronizationLib.inf|  2 --
 3 files changed, 35 deletions(-)

-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH 1/3] MdePkg/BaseCpuLib: Remove inline X86 assembly code

2019-03-04 Thread Shenglei Zhang
MdePkg BaseCpuLib still uses the inline X86 assembly code
in C code files.It should be updated to consume nasm only.
https://bugzilla.tianocore.org/show_bug.cgi?id=1163

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 MdePkg/Library/BaseCpuLib/BaseCpuLib.inf | 6 --
 1 file changed, 6 deletions(-)

diff --git a/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf 
b/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
index af2f09617a..bc6585d8dd 100644
--- a/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
+++ b/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
@@ -55,18 +55,12 @@
   Ebc/CpuSleepFlushTlb.c
 
 [Sources.ARM]
-  Arm/CpuFlushTlb.asm | RVCT
-  Arm/CpuSleep.asm| RVCT
-  Arm/CpuFlushTlb.asm | MSFT
-  Arm/CpuSleep.asm| MSFT
   Arm/CpuFlushTlb.S   | GCC
   Arm/CpuSleep.S  | GCC
 
 [Sources.AARCH64]
   AArch64/CpuFlushTlb.S   | GCC
   AArch64/CpuSleep.S  | GCC
-  AArch64/CpuFlushTlb.asm | MSFT
-  AArch64/CpuSleep.asm| MSFT
 
 [Packages]
   MdePkg/MdePkg.dec
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH 2/3] MdePkg/BaseLib: Remove inline X86 assembly code

2019-03-04 Thread Shenglei Zhang
MdePkg BaseLib still uses the inline X86 assembly code
in C code files.It should be updated to consume nasm only.
https://bugzilla.tianocore.org/show_bug.cgi?id=1163

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 MdePkg/Library/BaseLib/BaseLib.inf | 27 ---
 1 file changed, 27 deletions(-)

diff --git a/MdePkg/Library/BaseLib/BaseLib.inf 
b/MdePkg/Library/BaseLib/BaseLib.inf
index a0d6c372f9..80e312fb34 100644
--- a/MdePkg/Library/BaseLib/BaseLib.inf
+++ b/MdePkg/Library/BaseLib/BaseLib.inf
@@ -555,26 +555,8 @@
   Math64.c   | RVCT
   Math64.c   | MSFT
 
-  Arm/SwitchStack.asm| RVCT
-  Arm/SetJumpLongJump.asm| RVCT
-  Arm/DisableInterrupts.asm  | RVCT
-  Arm/EnableInterrupts.asm   | RVCT
-  Arm/GetInterruptsState.asm | RVCT
-  Arm/CpuPause.asm   | RVCT
-  Arm/CpuBreakpoint.asm  | RVCT
-  Arm/MemoryFence.asm| RVCT
   Arm/SpeculationBarrier.S   | RVCT
 
-  Arm/SwitchStack.asm| MSFT
-  Arm/SetJumpLongJump.asm| MSFT
-  Arm/DisableInterrupts.asm  | MSFT
-  Arm/EnableInterrupts.asm   | MSFT
-  Arm/GetInterruptsState.asm | MSFT
-  Arm/CpuPause.asm   | MSFT
-  Arm/CpuBreakpoint.asm  | MSFT
-  Arm/MemoryFence.asm| MSFT
-  Arm/SpeculationBarrier.asm | MSFT
-
   Arm/Math64.S  | GCC
   Arm/SwitchStack.S | GCC
   Arm/EnableInterrupts.S| GCC
@@ -599,15 +581,6 @@
   AArch64/CpuBreakpoint.S   | GCC
   AArch64/SpeculationBarrier.S  | GCC
 
-  AArch64/MemoryFence.asm   | MSFT
-  AArch64/SwitchStack.asm   | MSFT
-  AArch64/EnableInterrupts.asm  | MSFT
-  AArch64/DisableInterrupts.asm | MSFT
-  AArch64/GetInterruptsState.asm| MSFT
-  AArch64/SetJumpLongJump.asm   | MSFT
-  AArch64/CpuBreakpoint.asm | MSFT
-  AArch64/SpeculationBarrier.asm| MSFT
-
 [Packages]
   MdePkg/MdePkg.dec
 
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH 3/3] MdePkg/BaseSynchronizationLib: Remove inline X86 assembly code

2019-03-04 Thread Shenglei Zhang
MdePkg BaseSynchronizationLib still uses the inline X86 assembly code
in C code files.It should be updated to consume nasm only.
https://bugzilla.tianocore.org/show_bug.cgi?id=1163

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../Library/BaseSynchronizationLib/BaseSynchronizationLib.inf   | 2 --
 1 file changed, 2 deletions(-)

diff --git a/MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf 
b/MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
index 32414b29fa..719dc1938d 100755
--- a/MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
+++ b/MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
@@ -75,13 +75,11 @@
 
 [Sources.ARM]
   Synchronization.c
-  Arm/Synchronization.asm   | RVCT
   Arm/Synchronization.S | GCC
 
 [Sources.AARCH64]
   Synchronization.c
   AArch64/Synchronization.S | GCC
-  AArch64/Synchronization.asm   | MSFT
 
 [Packages]
   MdePkg/MdePkg.dec
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [PATCH] ShellPkg: Correct a parameter's name

2019-02-25 Thread Zhang, Shenglei
Hi Jaben,

Do you have any opinion on "fs-path" rename to "file-full-path-name"?

Thanks,
Shenglei

From: krishnaLee [mailto:sssky...@163.com]
Sent: Thursday, February 21, 2019 10:00 AM
To: Zhang, Shenglei 
Cc: edk2-devel@lists.01.org
Subject: Re:[edk2] [PATCH] ShellPkg: Correct a parameter's name


Hi Shenglei,
I am confused some times,see UEFI_Shell_specification_2_2,chapter-3.7:

3.7 File Names
The UEFI Shell supports file names and paths with the following format:
fs-path := [fs-map-name] [fs-divider][fs-dirs][fs-name]

May be if the define name "fs-path" rename to "file-full-path-name" is more 
clear,:)

thanks,
krishna.



At 2019-02-21 09:28:07, "Shenglei Zhang" 
mailto:shenglei.zh...@intel.com>> wrote:

>The parameter FilePath of ShellOpenFileByName defined in

>ShellLib.h is incorrect. It should be FileName.

>https://bugzilla.tianocore.org/show_bug.cgi?id=1221

>

>Cc: Jaben Carsey mailto:jaben.car...@intel.com>>

>Cc: Ruiyu Ni mailto:ruiyu...@intel.com>>

>Contributed-under: TianoCore Contribution Agreement 1.1

>Signed-off-by: shenglei 
>mailto:shenglei.zh...@intel.com>>

>---

> ShellPkg/Include/Library/ShellLib.h | 4 ++--

> 1 file changed, 2 insertions(+), 2 deletions(-)

>

>diff --git a/ShellPkg/Include/Library/ShellLib.h 
>b/ShellPkg/Include/Library/ShellLib.h

>index 2ecc5ee006..78bdcc8c53 100644

>--- a/ShellPkg/Include/Library/ShellLib.h

>+++ b/ShellPkg/Include/Library/ShellLib.h

>@@ -161,7 +161,7 @@ ShellOpenFileByDevicePath(

>   otherwise, the Filehandle is NULL. Attributes is valid only for

>   EFI_FILE_MODE_CREATE.

>

>-  @param[in] FilePath   The pointer to file name.

>+  @param[in] FileName   The pointer to file name.

>   @param[out] FileHandleThe pointer to the file handle.

>   @param[in] OpenMode   The mode to open the file with.

>   @param[in] Attributes The file's file attributes.

>@@ -186,7 +186,7 @@ ShellOpenFileByDevicePath(

> EFI_STATUS

> EFIAPI

> ShellOpenFileByName(

>-  IN CONST CHAR16   *FilePath,

>+  IN CONST CHAR16   *FileName,

>   OUT SHELL_FILE_HANDLE *FileHandle,

>   IN UINT64 OpenMode,

>   IN UINT64 Attributes

>--

>2.18.0.windows.1

>

>___

>edk2-devel mailing list

>edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org>

>https://lists.01.org/mailman/listinfo/edk2-devel
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH 1/4] BaseTools/TianoCompress: Improve performance of boundary validation

2019-02-24 Thread Shenglei Zhang
The boundary validation checking in MakeTable() performs on
every loop iteration. This could be improved by checking
just once before the loop.
https://bugzilla.tianocore.org/show_bug.cgi?id=1329

Cc: Bob Feng 
Cc: Liming Gao 
Cc: Yonghong Zhu 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 BaseTools/Source/C/TianoCompress/TianoCompress.c | 9 +
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/BaseTools/Source/C/TianoCompress/TianoCompress.c 
b/BaseTools/Source/C/TianoCompress/TianoCompress.c
index 29b11c597f..e79b287ea4 100644
--- a/BaseTools/Source/C/TianoCompress/TianoCompress.c
+++ b/BaseTools/Source/C/TianoCompress/TianoCompress.c
@@ -2281,13 +2281,14 @@ Returns:
 
 if (Len <= TableBits) {
 
-  for (Index = Start[Len]; Index < NextCode; Index++) {
-if (Index >= MaxTableLength) {
-  return (UINT16) BAD_TABLE;
-}
+  if (Start[Len] + NextCode > MaxTableLength) {
+return (UINT16) BAD_TABLE;
+  }
+ for (Index = Start[Len]; Index < NextCode; Index++) {
 Table[Index] = Char;
   }
 
+
 } else {
 
   Index3  = Start[Len];
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH 0/4] Improve performance of boundary validation in MakeTable()

2019-02-24 Thread Shenglei Zhang
The boundary validation checking in MakeTable() performs on
every loop iteration. This could be improved by checking
just once before the loop.
https://bugzilla.tianocore.org/show_bug.cgi?id=1329

Cc: Bob Feng 
Cc: Liming Gao 
Cc: Yonghong Zhu 
Cc: Michael D Kinney 
Shenglei Zhang (4):
  BaseTools/TianoCompress: Improve performance of boundary validation
  BaseTools/C/Common: Improve performance of boundary validation
  IntelFrameworkModulePkg: Improve performance of boundary validation
  MdePkg/BaseUefiDecompressLib: Improve performance of boundary
validation

 BaseTools/Source/C/Common/Decompress.c  | 13 +++--
 BaseTools/Source/C/TianoCompress/TianoCompress.c|  9 +
 .../BaseUefiTianoCustomDecompressLib.c  | 12 ++--
 .../BaseUefiDecompressLib/BaseUefiDecompressLib.c   |  8 
 4 files changed, 22 insertions(+), 20 deletions(-)

-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH 2/4] BaseTools/C/Common: Improve performance of boundary validation

2019-02-24 Thread Shenglei Zhang
The boundary validation checking in MakeTable() performs on
every loop iteration. This could be improved by checking
just once before the loop.
https://bugzilla.tianocore.org/show_bug.cgi?id=1329

Cc: Bob Feng 
Cc: Liming Gao 
Cc: Yonghong Zhu 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 BaseTools/Source/C/Common/Decompress.c | 13 +++--
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/BaseTools/Source/C/Common/Decompress.c 
b/BaseTools/Source/C/Common/Decompress.c
index 0e9ba0a982..adac66c5c2 100644
--- a/BaseTools/Source/C/Common/Decompress.c
+++ b/BaseTools/Source/C/Common/Decompress.c
@@ -254,12 +254,13 @@ Returns:
 
 if (Len <= TableBits) {
 
-  for (Index = Start[Len]; Index < NextCode; Index++) {
-if (Index >= MaxTableLength) {
-  return (UINT16) BAD_TABLE;
-}
-Table[Index] = Char;
-  }
+   if (Start[Len] + NextCode > MaxTableLength) {
+ return (UINT16) BAD_TABLE;
+   }
+   for (Index = Start[Len]; Index < NextCode; Index++) {
+ Table[Index] = Char;
+   }
+
 
 } else {
 
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH 4/4] MdePkg/BaseUefiDecompressLib: Improve performance of boundary validation

2019-02-24 Thread Shenglei Zhang
The boundary validation checking in MakeTable() performs on
every loop iteration. This could be improved by checking
just once before the loop.
https://bugzilla.tianocore.org/show_bug.cgi?id=1329

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../Library/BaseUefiDecompressLib/BaseUefiDecompressLib.c | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.c 
b/MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.c
index c1e8c5581a..e979b18f0f 100644
--- a/MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.c
+++ b/MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.c
@@ -222,10 +222,10 @@ MakeTable (
 
 if (Len <= TableBits) {
 
-  for (Index = Start[Len]; Index < NextCode; Index++) {
-if (Index >= MaxTableLength) {
-  return (UINT16) BAD_TABLE;
-}
+  if (Start[Len] + NextCode > MaxTableLength) {
+return (UINT16) BAD_TABLE;
+  }
+ for (Index = Start[Len]; Index < NextCode; Index++) {
 Table[Index] = Char;
   }
 
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH 3/4] IntelFrameworkModulePkg: Improve performance of boundary validation

2019-02-24 Thread Shenglei Zhang
The boundary validation checking in MakeTable() performs on
every loop iteration. This could be improved by checking
just once before the loop.
https://bugzilla.tianocore.org/show_bug.cgi?id=1329

Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../BaseUefiTianoCustomDecompressLib.c   | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git 
a/IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.c
 
b/IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.c
index 970795b1da..a7ff94920e 100644
--- 
a/IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.c
+++ 
b/IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.c
@@ -213,12 +213,12 @@ MakeTable (
 
 if (Len <= TableBits) {
 
-  for (Index = Start[Len]; Index < NextCode; Index++) {
-if (Index >= MaxTableLength) {
-  return (UINT16) BAD_TABLE;
-}
-Table[Index] = Char;
-  }
+   if (Start[Len] + NextCode > MaxTableLength) {
+ return (UINT16) BAD_TABLE;
+   }
+   for (Index = Start[Len]; Index < NextCode; Index++) {
+ Table[Index] = Char;
+   }
 
 } else {
 
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH] ShellPkg: Correct a parameter's name

2019-02-20 Thread Shenglei Zhang
The parameter FilePath of ShellOpenFileByName defined in
ShellLib.h is incorrect. It should be FileName.
https://bugzilla.tianocore.org/show_bug.cgi?id=1221

Cc: Jaben Carsey 
Cc: Ruiyu Ni 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: shenglei 
---
 ShellPkg/Include/Library/ShellLib.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ShellPkg/Include/Library/ShellLib.h 
b/ShellPkg/Include/Library/ShellLib.h
index 2ecc5ee006..78bdcc8c53 100644
--- a/ShellPkg/Include/Library/ShellLib.h
+++ b/ShellPkg/Include/Library/ShellLib.h
@@ -161,7 +161,7 @@ ShellOpenFileByDevicePath(
   otherwise, the Filehandle is NULL. Attributes is valid only for
   EFI_FILE_MODE_CREATE.
 
-  @param[in] FilePath   The pointer to file name.
+  @param[in] FileName   The pointer to file name.
   @param[out] FileHandleThe pointer to the file handle.
   @param[in] OpenMode   The mode to open the file with.
   @param[in] Attributes The file's file attributes.
@@ -186,7 +186,7 @@ ShellOpenFileByDevicePath(
 EFI_STATUS
 EFIAPI
 ShellOpenFileByName(
-  IN CONST CHAR16   *FilePath,
+  IN CONST CHAR16   *FileName,
   OUT SHELL_FILE_HANDLE *FileHandle,
   IN UINT64 OpenMode,
   IN UINT64 Attributes
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH v2] IntelSiliconPkg/MicrocodeUpdateDxe: Error message enhancement

2019-02-18 Thread Shenglei Zhang
The error message of ExtendedTableCount is not clear. Add the count
number into the debug message.
https://bugzilla.tianocore.org/show_bug.cgi?id=1500

v2: Change the judgment condition to return error message when
ExtendedTableCount is not equal to target value.

Cc: Ray Ni 
Cc: Rangasai V Chaganty 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdate.c  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git 
a/IntelSiliconPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdate.c 
b/IntelSiliconPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdate.c
index 9098712c2f..037b2433a6 100644
--- a/IntelSiliconPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdate.c
+++ b/IntelSiliconPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdate.c
@@ -517,8 +517,8 @@ VerifyMicrocode (
   // Checksum correct
   //
   ExtendedTableCount = ExtendedTableHeader->ExtendedSignatureCount;
-  if (ExtendedTableCount > (ExtendedTableLength - 
sizeof(CPU_MICROCODE_EXTENDED_TABLE_HEADER)) / 
sizeof(CPU_MICROCODE_EXTENDED_TABLE)) {
-DEBUG((DEBUG_ERROR, "VerifyMicrocode - ExtendedTableCount too 
big\n"));
+  if (ExtendedTableCount != (ExtendedTableLength - 
sizeof(CPU_MICROCODE_EXTENDED_TABLE_HEADER)) / 
sizeof(CPU_MICROCODE_EXTENDED_TABLE)) {
+DEBUG((DEBUG_ERROR, "VerifyMicrocode - ExtendedTableCount %d is 
incorrect\n", ExtendedTableCount));
   } else {
 ExtendedTable = (CPU_MICROCODE_EXTENDED_TABLE 
*)(ExtendedTableHeader + 1);
 for (Index = 0; Index < ExtendedTableCount; Index++) {
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH] MdeModulePkg/PropertiesTableAttributesDxe: Remove this driver

2019-02-18 Thread Shenglei Zhang
This functionality of this driver has been deprecated and
no platform employs this driver. It can be removed completely.
https://bugzilla.tianocore.org/show_bug.cgi?id=1475

Cc: Jian J Wang 
Cc: Hao Wu 
Cc: Ray Ni 
Cc: Star Zeng 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 MdeModulePkg/MdeModulePkg.dsc |   1 -
 .../PropertiesTableAttributesDxe.c| 208 --
 .../PropertiesTableAttributesDxe.inf  |  56 -
 .../PropertiesTableAttributesDxe.uni  |  23 --
 .../PropertiesTableAttributesDxeExtra.uni |  23 --
 5 files changed, 311 deletions(-)
 delete mode 100644 
MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttributesDxe.c
 delete mode 100644 
MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttributesDxe.inf
 delete mode 100644 
MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttributesDxe.uni
 delete mode 100644 
MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttributesDxeExtra.uni

diff --git a/MdeModulePkg/MdeModulePkg.dsc b/MdeModulePkg/MdeModulePkg.dsc
index 4f2ac8ae89..388bca25bd 100644
--- a/MdeModulePkg/MdeModulePkg.dsc
+++ b/MdeModulePkg/MdeModulePkg.dsc
@@ -413,7 +413,6 @@
   MdeModulePkg/Universal/EsrtDxe/EsrtDxe.inf
   MdeModulePkg/Universal/EsrtFmpDxe/EsrtFmpDxe.inf
 
-  
MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttributesDxe.inf
   MdeModulePkg/Universal/FileExplorerDxe/FileExplorerDxe.inf  {
 
   FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
diff --git 
a/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttributesDxe.c
 
b/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttributesDxe.c
deleted file mode 100644
index 4d1a46f64c..00
--- 
a/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttributesDxe.c
+++ /dev/null
@@ -1,208 +0,0 @@
-/** @file
-  This module sets default policy for attributes of EfiACPIMemoryNVS and 
EfiReservedMemoryType.
-
-  This module sets EFI_MEMORY_XP for attributes of EfiACPIMemoryNVS and 
EfiReservedMemoryType
-  in UEFI memory map, if and only of PropertiesTable is published and has BIT0 
set.
-
-Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.
-This program and the accompanying materials
-are licensed and made available under the terms and conditions of the BSD 
License
-which accompanies this distribution.  The full text of the license may be 
found at
-http://opensource.org/licenses/bsd-license.php
-
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-**/
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-
-/**
-  Converts a number of EFI_PAGEs to a size in bytes.
-
-  NOTE: Do not use EFI_PAGES_TO_SIZE because it handles UINTN only.
-
-  @param  Pages The number of EFI_PAGES.
-
-  @return  The number of bytes associated with the number of EFI_PAGEs 
specified
-   by Pages.
-**/
-UINT64
-EfiPagesToSize (
-  IN UINT64 Pages
-  )
-{
-  return LShiftU64 (Pages, EFI_PAGE_SHIFT);
-}
-
-/**
-  Set memory attributes according to default policy.
-
-  @param  MemoryMapA pointer to the buffer in which firmware places 
the current memory map.
-  @param  MemoryMapSizeSize, in bytes, of the MemoryMap buffer.
-  @param  DescriptorSize   size, in bytes, of an individual 
EFI_MEMORY_DESCRIPTOR.
-**/
-VOID
-SetMemorySpaceAttributesDefault (
-  IN EFI_MEMORY_DESCRIPTOR  *MemoryMap,
-  IN UINTN  MemoryMapSize,
-  IN UINTN  DescriptorSize
-  )
-{
-  EFI_MEMORY_DESCRIPTOR   *MemoryMapEntry;
-  EFI_MEMORY_DESCRIPTOR   *MemoryMapEnd;
-  EFI_STATUS  Status;
-
-  DEBUG ((EFI_D_INFO, "SetMemorySpaceAttributesDefault\n"));
-
-  MemoryMapEntry = MemoryMap;
-  MemoryMapEnd   = (EFI_MEMORY_DESCRIPTOR *) ((UINT8 *) MemoryMap + 
MemoryMapSize);
-  while ((UINTN)MemoryMapEntry < (UINTN)MemoryMapEnd) {
-if (MemoryMapEntry->PhysicalStart < BASE_1MB) {
-  //
-  // Do not touch memory space below 1MB
-  //
-  MemoryMapEntry = NEXT_MEMORY_DESCRIPTOR (MemoryMapEntry, DescriptorSize);
-  continue;
-}
-switch (MemoryMapEntry->Type) {
-case EfiRuntimeServicesCode:
-case EfiRuntimeServicesData:
-  //
-  // should be handled later;
-  //
-  break;
-case EfiReservedMemoryType:
-case EfiACPIMemoryNVS:
-  //
-  // Handle EfiReservedMemoryType and EfiACPIMemoryNVS, because there 
might be firmware executable there.
-  //
-  DEBUG ((EFI_D_INFO, "SetMemorySpaceAttributes - %016lx - %016lx (%016lx) 
...\n",
-MemoryMapEntry->PhysicalStart,
-MemoryMapEntry->PhysicalStart + EfiPagesToSize 
(MemoryMapEntry->NumberOfPages),
-M

[edk2] [PATCH] IntelSiliconPkg/MicrocodeUpdateDxe: Error message enhancement

2019-02-17 Thread Shenglei Zhang
The error message of ExtendedTableCount is not clear. Add the count
number into the debug message.
https://bugzilla.tianocore.org/show_bug.cgi?id=1500

Cc: Ray Ni 
Cc: Rangasai V Chaganty 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdate.c| 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/IntelSiliconPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdate.c 
b/IntelSiliconPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdate.c
index 9098712c2f..9b5757da71 100644
--- a/IntelSiliconPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdate.c
+++ b/IntelSiliconPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdate.c
@@ -518,7 +518,7 @@ VerifyMicrocode (
   //
   ExtendedTableCount = ExtendedTableHeader->ExtendedSignatureCount;
   if (ExtendedTableCount > (ExtendedTableLength - 
sizeof(CPU_MICROCODE_EXTENDED_TABLE_HEADER)) / 
sizeof(CPU_MICROCODE_EXTENDED_TABLE)) {
-DEBUG((DEBUG_ERROR, "VerifyMicrocode - ExtendedTableCount too 
big\n"));
+DEBUG((DEBUG_ERROR, "VerifyMicrocode - ExtendedTableCount %d is 
too big\n", ExtendedTableCount));
   } else {
 ExtendedTable = (CPU_MICROCODE_EXTENDED_TABLE 
*)(ExtendedTableHeader + 1);
 for (Index = 0; Index < ExtendedTableCount; Index++) {
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH] MdePkg/BaseLib: Change a variable type in a bitwise operation

2019-02-13 Thread Shenglei Zhang
Change the type of variable Chr from CHAR8 to UINT32 in a
bitwise operation, to make the two variables in the operation
have the same size.
https://bugzilla.tianocore.org/show_bug.cgi?id=1527

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 MdePkg/Library/BaseLib/String.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MdePkg/Library/BaseLib/String.c b/MdePkg/Library/BaseLib/String.c
index 53ff730e9e..a389115d71 100644
--- a/MdePkg/Library/BaseLib/String.c
+++ b/MdePkg/Library/BaseLib/String.c
@@ -2070,7 +2070,7 @@ Base64Decode (
   Chr = DecodingTable[(UINT8) Source[SourceIndex++]];
   } while (Chr == BAD_V);
   Value <<= 6;
-  Value |= Chr;
+  Value |= (UINT32)Chr;
 }
 
 //
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH 3/3] MdeModulePkg/SmmS3SaveStateDxe: Change function parameter types

2019-02-12 Thread Shenglei Zhang
Change parameter Opcode from UINT16 to UINTN in
BootScriptWrite and BootScriptInsert.
https://bugzilla.tianocore.org/show_bug.cgi?id=1517

Cc: Jian J Wang 
Cc: Hao Wu 
Cc: Ray Ni 
Cc: Star Zeng 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang 
---
 .../Universal/Acpi/SmmS3SaveState/InternalSmmSaveState.h  | 4 ++--
 MdeModulePkg/Universal/Acpi/SmmS3SaveState/SmmS3SaveState.c   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/MdeModulePkg/Universal/Acpi/SmmS3SaveState/InternalSmmSaveState.h 
b/MdeModulePkg/Universal/Acpi/SmmS3SaveState/InternalSmmSaveState.h
index 51cf9db4aa..440f43defe 100644
--- a/MdeModulePkg/Universal/Acpi/SmmS3SaveState/InternalSmmSaveState.h
+++ b/MdeModulePkg/Universal/Acpi/SmmS3SaveState/InternalSmmSaveState.h
@@ -58,7 +58,7 @@ EFI_STATUS
 EFIAPI
 BootScriptWrite (
   IN CONST EFI_S3_SAVE_STATE_PROTOCOL  *This,
-  IN   UINT16   OpCode,
+  IN   UINTNOpCode,
   ...
   );
 /**
@@ -95,7 +95,7 @@ BootScriptInsert (
   IN CONST EFI_S3_SAVE_STATE_PROTOCOL  *This,
   IN   BOOLEAN  BeforeOrAfter,
   IN OUT   EFI_S3_BOOT_SCRIPT_POSITION *Position OPTIONAL,
-  IN   UINT16   OpCode,
+  IN   UINTNOpCode,
   ...
   );
 /**
diff --git a/MdeModulePkg/Universal/Acpi/SmmS3SaveState/SmmS3SaveState.c 
b/MdeModulePkg/Universal/Acpi/SmmS3SaveState/SmmS3SaveState.c
index c1d29b5d3a..bd43011b79 100644
--- a/MdeModulePkg/Universal/Acpi/SmmS3SaveState/SmmS3SaveState.c
+++ b/MdeModulePkg/Universal/Acpi/SmmS3SaveState/SmmS3SaveState.c
@@ -540,7 +540,7 @@ EFI_STATUS
 EFIAPI
 BootScriptWrite (
   IN CONST EFI_S3_SAVE_STATE_PROTOCOL *This,
-  IN UINT16OpCode,
+  IN UINTN OpCode,
   ...
   )
 {
@@ -695,7 +695,7 @@ BootScriptInsert (
   IN CONST EFI_S3_SAVE_STATE_PROTOCOL*This,
   IN   BOOLEAN  BeforeOrAfter,
   IN OUT   EFI_S3_BOOT_SCRIPT_POSITION *Position OPTIONAL,
-  IN   UINT16   OpCode,
+  IN   UINTNOpCode,
   ...
   )
 {
-- 
2.18.0.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


  1   2   3   4   >