From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.31; helo=mga06.intel.com; envelope-from=maurice.ma@intel.com; receiver=edk2-devel@lists.01.org Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 5BCF02096185F for ; Mon, 1 Apr 2019 20:25:50 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 01 Apr 2019 20:25:49 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,298,1549958400"; d="scan'208";a="287904897" Received: from orsmsx106.amr.corp.intel.com ([10.22.225.133]) by orsmga004.jf.intel.com with ESMTP; 01 Apr 2019 20:25:49 -0700 Received: from orsmsx111.amr.corp.intel.com (10.22.240.12) by ORSMSX106.amr.corp.intel.com (10.22.225.133) with Microsoft SMTP Server (TLS) id 14.3.408.0; Mon, 1 Apr 2019 20:25:49 -0700 Received: from orsmsx105.amr.corp.intel.com ([169.254.2.119]) by ORSMSX111.amr.corp.intel.com ([169.254.12.46]) with mapi id 14.03.0415.000; Mon, 1 Apr 2019 20:25:48 -0700 From: "Ma, Maurice" To: "Zhang, Shenglei" CC: "Agyeman, Prince" , "You, Benjamin" , "edk2-devel@lists.01.org" Thread-Topic: [PATCH v4 14/14] CorebootModulePkg/SecCore: Remove .S files for IA32 arch Thread-Index: AQHU6GVER12+Q5jgIk6z+muGVnauE6YoNmKQ Date: Tue, 2 Apr 2019 03:25:48 +0000 Message-ID: <7AAC936950815649B5F88FAE785306C2F6F4A0BB@ORSMSX105.amr.corp.intel.com> References: <20190401082943.4152-1-shenglei.zhang@intel.com> <20190401082943.4152-15-shenglei.zhang@intel.com> In-Reply-To: <20190401082943.4152-15-shenglei.zhang@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNDYwOTJhYzQtMzYxYi00NWY2LThkNDEtNmUxNWNmNzkyNzA4IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiYUhSQkRPdHdScTRyblRVVFhUSTdueUE0XC9oSXArT0xMa293MXRBcDV6cXc1c1RXZTJJSUJ5ZGVcL2hYT0dLamxhIn0= dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: no-action x-originating-ip: [10.22.254.138] MIME-Version: 1.0 Subject: Re: [PATCH v4 14/14] CorebootModulePkg/SecCore: Remove .S files for IA32 arch X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Apr 2019 03:25:50 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable 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 >=20 > .nasm file has been added for X86 arch. .S assembly code is not required = any > more. > https://bugzilla.tianocore.org/show_bug.cgi?id=3D1594 >=20 > 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 >=20 > 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.
-# Thi= s > program and the accompanying materials -# are licensed and made available > under the terms and conditions of the BSD License -# which accompanies th= is > 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 Se= lf Test) > -# @param[in] DI 'BP': boot-strap processor, or 'AP': application pro= cessor > -# @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.
-# Thi= s > program and the accompanying materials -# are licensed and made available > under the terms and conditions of the BSD License -# which accompanies th= is > 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 perma= nent > 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