Re: [edk2] [PATCH v4 14/14] CorebootModulePkg/SecCore: Remove .S files for IA32 arch
Looks good to me! Reviewed-by: Maurice Ma Thanks Maurice > -Original Message- > From: Zhang, Shenglei > Sent: Monday, April 1, 2019 1:30 > To: edk2-devel@lists.01.org > Cc: Ma, Maurice ; Agyeman, Prince > ; You, Benjamin > 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 > 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
[edk2] [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 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 address into permanent