Looks good to me!
Reviewed-by: Maurice Ma <maurice...@intel.com>

Thanks
Maurice

> -----Original Message-----
> From: Zhang, Shenglei
> Sent: Monday, April 1, 2019 1:30
> To: edk2-devel@lists.01.org
> Cc: Ma, Maurice <maurice...@intel.com>; Agyeman, Prince
> <prince.agye...@intel.com>; You, Benjamin <benjamin....@intel.com>
> Subject: [PATCH v4 14/14] CorebootModulePkg/SecCore: Remove .S files for
> IA32 arch
> 
> .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 <maurice...@intel.com>
> Cc: Prince Agyeman <prince.agye...@intel.com>
> Cc: Benjamin You <benjamin....@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Shenglei Zhang <shenglei.zh...@intel.com>
> ---
>  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..0000000000
> --- a/CorebootModulePkg/SecCore/Ia32/SecEntry.S
> +++ /dev/null
> @@ -1,74 +0,0 @@
> -#------------------------------------------------------------------------------
> -#
> -# Copyright (c) 2013, Intel Corporation. All rights reserved.<BR> -# This
> program and the accompanying materials -# are licensed and made available
> under the terms and conditions of the BSD License -# which accompanies this
> distribution.  The full text of the license may be found at -#
> http://opensource.org/licenses/bsd-license.php.
> -#
> -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS"
> BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND,
> EITHER EXPRESS OR IMPLIED.
> -#
> -# Module Name:
> -#
> -#  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 0x80000, length 0x10000
> -  #
> -  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..0000000000
> --- a/CorebootModulePkg/SecCore/Ia32/Stack.S
> +++ /dev/null
> @@ -1,78 +0,0 @@
> -#------------------------------------------------------------------------------
> -#
> -# Copyright (c) 2013, Intel Corporation. All rights reserved.<BR> -# This
> program and the accompanying materials -# are licensed and made available
> under the terms and conditions of the BSD License -# which accompanies this
> distribution.  The full text of the license may be found at -#
> http://opensource.org/licenses/bsd-license.php.
> -#
> -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS"
> BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND,
> EITHER EXPRESS OR IMPLIED.
> -#
> -# 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 address into
> permanent memory
> -    movl  %edx, 16(%eax)
> -    movl  %eax, %esp            # From now, esp is pointed to permanent 
> memory
> -
> -    #
> -    # Fixup the ebp point to permanent memory
> -    #
> -    movl  %ebp, %eax
> -    subl  %ebx, %eax
> -    addl  %ecx, %eax
> -    movl  %eax, %ebp            # From now, ebp is pointed to permanent
> memory
> -
> -    popl  %edx
> -    popl  %ecx
> -    popl  %ebx
> -    popl  %eax
> -    ret
> -
> -
> --
> 2.18.0.windows.1

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

Reply via email to