On 10/18/14 20:25, Jordan Justen wrote:
> The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
> Ia32/SecEntry.asm to Ia32/SecEntry.nasm
> 
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Jordan Justen <[email protected]>
> ---
>  OvmfPkg/Sec/Ia32/SecEntry.S                      | 59 
> ------------------------
>  OvmfPkg/Sec/Ia32/{SecEntry.asm => SecEntry.nasm} | 17 +++----
>  OvmfPkg/Sec/SecMain.inf                          |  6 +--
>  3 files changed, 9 insertions(+), 73 deletions(-)
>  delete mode 100644 OvmfPkg/Sec/Ia32/SecEntry.S
>  rename OvmfPkg/Sec/Ia32/{SecEntry.asm => SecEntry.nasm} (82%)

It's probably a good idea to allow git-diff to detect renames (and to
format the patch accordingly) when the patch affects OVMF -- the patch
we'll probably be applied by you or me, and we both use git as a
"frontend" (ie. we can deal with renames while applying). And, rename
detection helps with patch review too; the patches are simpler.

I'll assume that the MASM files (ie. the conversion input) have not been
stale -- hence I don't have to compare the conversion output against the
.S files (which are now removed); it should suffice to check the masm
<-> nasm changes. I'm assuming this because you regularly build OVMF on
Windows too, as far as I understand.

> 
> diff --git a/OvmfPkg/Sec/Ia32/SecEntry.S b/OvmfPkg/Sec/Ia32/SecEntry.S
> deleted file mode 100644
> index 0771a87..0000000
> --- a/OvmfPkg/Sec/Ia32/SecEntry.S
> +++ /dev/null
> @@ -1,59 +0,0 @@
> -#      TITLE   SecEntry.asm
> -#------------------------------------------------------------------------------
> -#*
> -#*   Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
> -#*   This program and the accompanying materials
> -#*   are licensed and made available under the terms and conditions of the 
> BSD License
> -#*   which accompanies this distribution.  The full text of the license may 
> be found at
> -#*   http://opensource.org/licenses/bsd-license.php
> -#*
> -#*   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> -#*   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
> IMPLIED.
> -#*
> -#*    CpuAsm.asm
> -#*
> -#*   Abstract:
> -#*
> -#------------------------------------------------------------------------------
> -
> -
> -#include <Base.h>
> -
> -#EXTERN ASM_PFX(SecCoreStartupWithStack)
> -
> -#
> -# 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):
> -
> -    #
> -    # Load temporary RAM stack based on PCDs
> -    #
> -    .set    SEC_TOP_OF_STACK, FixedPcdGet32 (PcdOvmfSecPeiTempRamBase) + \
> -                              FixedPcdGet32 (PcdOvmfSecPeiTempRamSize)
> -    movl    $SEC_TOP_OF_STACK, %eax
> -    movl    %eax, %esp
> -    nop
> -
> -    #
> -    # Setup parameters and call SecCoreStartupWithStack
> -    #   [esp]   return address for call
> -    #   [esp+4] BootFirmwareVolumePtr
> -    #   [esp+8] TopOfCurrentStack
> -    #
> -    pushl   %eax
> -    pushl   %ebp
> -    call    ASM_PFX(SecCoreStartupWithStack)
> -
> -
> -#END
> -
> diff --git a/OvmfPkg/Sec/Ia32/SecEntry.asm b/OvmfPkg/Sec/Ia32/SecEntry.nasm
> similarity index 82%
> rename from OvmfPkg/Sec/Ia32/SecEntry.asm
> rename to OvmfPkg/Sec/Ia32/SecEntry.nasm
> index e9458ad..7fee1c2 100644
> --- a/OvmfPkg/Sec/Ia32/SecEntry.asm
> +++ b/OvmfPkg/Sec/Ia32/SecEntry.nasm
> @@ -1,4 +1,3 @@
> -      TITLE   SecEntry.asm
>  
> ;------------------------------------------------------------------------------
>  ;*
>  ;*   Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
> @@ -18,11 +17,9 @@
>  
>  #include <Base.h>
>  
> -    .686
> -    .model  flat,C
> -    .code
> +    SECTION .text
>  
> -EXTERN SecCoreStartupWithStack:PROC
> +extern ASM_PFX(SecCoreStartupWithStack)
>  
>  ;
>  ; SecCore Entry Point
> @@ -35,12 +32,13 @@ EXTERN SecCoreStartupWithStack:PROC
>  ;
>  ; @return     None  This routine does not return
>  ;
> -_ModuleEntryPoint PROC PUBLIC
> +global ASM_PFX(_ModuleEntryPoint)
> +ASM_PFX(_ModuleEntryPoint):
>  
>      ;
>      ; Load temporary RAM stack based on PCDs
>      ;
> -    SEC_TOP_OF_STACK EQU (FixedPcdGet32 (PcdOvmfSecPeiTempRamBase) + \
> +    %define SEC_TOP_OF_STACK (FixedPcdGet32 (PcdOvmfSecPeiTempRamBase) + \
>                            FixedPcdGet32 (PcdOvmfSecPeiTempRamSize))
>      mov     eax, SEC_TOP_OF_STACK
>      mov     esp, eax
> @@ -54,8 +52,5 @@ _ModuleEntryPoint PROC PUBLIC
>      ;
>      push    eax
>      push    ebp
> -    call    SecCoreStartupWithStack
> +    call    ASM_PFX(SecCoreStartupWithStack)
>  
> -_ModuleEntryPoint ENDP
> -
> -END
> diff --git a/OvmfPkg/Sec/SecMain.inf b/OvmfPkg/Sec/SecMain.inf
> index 107f60a..e823796 100644
> --- a/OvmfPkg/Sec/SecMain.inf
> +++ b/OvmfPkg/Sec/SecMain.inf
> @@ -31,9 +31,9 @@
>    SecMain.c
>  
>  [Sources.IA32]
> -  Ia32/SecEntry.asm | MSFT
> -  Ia32/SecEntry.asm | INTEL
> -  Ia32/SecEntry.S   | GCC
> +  Ia32/SecEntry.nasm| MSFT
> +  Ia32/SecEntry.nasm| INTEL
> +  Ia32/SecEntry.nasm| GCC
>  
>  [Sources.X64]
>    X64/SecEntry.asm  | MSFT
> 

With the INF changes suggested by Liming:

Reviewed-by: Laszlo Ersek <[email protected]>

------------------------------------------------------------------------------
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to