]>
Commit | Line | Data |
---|---|---|
49ba9447 | 1 | # TITLE SecEntry.asm |
49ba9447 | 2 | #------------------------------------------------------------------------------ |
3 | #* | |
56d7640a HT |
4 | #* Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR> |
5 | #* This program and the accompanying materials | |
49ba9447 | 6 | #* are licensed and made available under the terms and conditions of the BSD License |
7 | #* which accompanies this distribution. The full text of the license may be found at | |
8 | #* http://opensource.org/licenses/bsd-license.php | |
9 | #* | |
10 | #* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
11 | #* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
12 | #* | |
13 | #* CpuAsm.asm | |
14 | #* | |
15 | #* Abstract: | |
16 | #* | |
17 | #------------------------------------------------------------------------------ | |
18 | ||
19 | ||
20 | #include "SecMain.h" | |
21 | ||
22 | #EXTERN ASM_PFX(SecCoreStartupWithStack) | |
23 | ||
24 | # | |
0913fadc | 25 | # SecCore Entry Point |
49ba9447 | 26 | # |
0913fadc | 27 | # Processor is in flat protected mode |
49ba9447 | 28 | # |
0913fadc | 29 | # @param[in] RAX Initial value of the EAX register (BIST: Built-in Self Test) |
30 | # @param[in] DI 'BP': boot-strap processor, or 'AP': application processor | |
31 | # @param[in] RBP Pointer to the start of the Boot Firmware Volume | |
49ba9447 | 32 | # |
0913fadc | 33 | # @return None This routine does not return |
49ba9447 | 34 | # |
49ba9447 | 35 | ASM_GLOBAL ASM_PFX(_ModuleEntryPoint) |
36 | ASM_PFX(_ModuleEntryPoint): | |
37 | ||
38 | # | |
39 | # Load temporary stack top at very low memory. The C code | |
40 | # can reload to a better address. | |
41 | # | |
16e864a2 | 42 | movq $INITIAL_TOP_OF_STACK, %rsp |
49ba9447 | 43 | nop |
44 | ||
45 | # | |
46 | # Setup parameters and call SecCoreStartupWithStack | |
47 | # rcx: BootFirmwareVolumePtr | |
0913fadc | 48 | # rdx: TopOfCurrentStack |
49ba9447 | 49 | # |
0913fadc | 50 | movq %rbp, %rcx |
51 | movq %rsp, %rdx | |
82dae5ef | 52 | subq $0x20, %rsp |
49ba9447 | 53 | call ASM_PFX(SecCoreStartupWithStack) |
54 |