Jordan:
  SecMain.inf can list SecEntry.nasm once without tool chain family. For 
example:

[Sources.IA32]
-  Ia32/SecEntry.asm | MSFT
-  Ia32/SecEntry.asm | INTEL
-  Ia32/SecEntry.S   | GCC
+  Ia32/SecEntry.nasm

Thanks
Liming
-----Original Message-----
From: Jordan Justen [mailto:[email protected]] 
Sent: Sunday, October 19, 2014 2:26 AM
To: [email protected]
Subject: [edk2] [PATCH 2/7] OvmfPkg Sec: Convert Ia32/SecEntry.asm to NASM

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%)

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
--
2.1.1


------------------------------------------------------------------------------
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://p.sf.net/sfu/Zoho
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

------------------------------------------------------------------------------
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://p.sf.net/sfu/Zoho
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to