1 ;------------------------------------------------------------------------------
3 ; Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
4 ; This program and the accompanying materials
5 ; are licensed and made available under the terms and conditions of the BSD License
6 ; which accompanies this distribution. The full text of the license may be found at
7 ; http://opensource.org/licenses/bsd-license.php.
9 ; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 ; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
18 ; Find and call SecStartup
20 ;------------------------------------------------------------------------------
24 extern ASM_PFX(SecStartup)
25 extern ASM_PFX(PlatformInit)
27 global ASM_PFX(CallPeiCoreEntryPoint)
28 ASM_PFX(CallPeiCoreEntryPoint):
30 ; Obtain the hob list pointer
34 ; Obtain the stack information
48 call ASM_PFX(PlatformInit)
55 ; Set stack top pointer
60 ; Push the hob list pointer
74 ; Push processor count to stack first, then BIST status (AP then BSP)
81 jae PushProcessorCount
84 ; Some processors report 0 logical processors. Effectively 0 = 1.
85 ; So we fix up the processor count
93 ; We need to implement a long-term solution for BIST capture. For now, we just copy BSP BIST
94 ; for all processor threads
103 ; Save Time-Stamp Counter
111 ; Pass entry point of the PEI core
117 ; Pass BFV into the PEI Core
123 ; Pass stack size into the PEI Core
133 ; Pass Control into the PEI Core
135 call ASM_PFX(SecStartup)