]> git.proxmox.com Git - mirror_edk2.git/blame - CorebootModulePkg/SecCore/Ia32/SecEntry.asm
CorebootModulePkg: Reformat asm constant to avoid gcc assembler fail
[mirror_edk2.git] / CorebootModulePkg / SecCore / Ia32 / SecEntry.asm
CommitLineData
fce4ecd9
MM
1;------------------------------------------------------------------------------\r
2;\r
3; Copyright (c) 2013, Intel Corporation. All rights reserved.<BR>\r
4; This program and the accompanying materials\r
5; are licensed and made available under the terms and conditions of the BSD License\r
6; which accompanies this distribution. The full text of the license may be found at\r
7; http://opensource.org/licenses/bsd-license.php.\r
8;\r
9; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
10; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
11;\r
12; Module Name:\r
13;\r
14; SecEntry.asm\r
15;\r
16; Abstract:\r
17;\r
18; This is the code that begins in protected mode.\r
19; It will transfer the control to pei core.\r
20;\r
21;------------------------------------------------------------------------------\r
22#include <Base.h>\r
23\r
24.686p\r
25.xmm\r
26.model small, c\r
27\r
28EXTRN SecStartup:NEAR\r
29\r
30; Pcds\r
31EXTRN PcdGet32 (PcdPayloadFdMemBase):DWORD\r
32\r
33 .code\r
34\r
35;\r
36; SecCore Entry Point\r
37;\r
38; Processor is in flat protected mode\r
39;\r
40; @param[in] EAX Initial value of the EAX register (BIST: Built-in Self Test)\r
41; @param[in] DI 'BP': boot-strap processor, or 'AP': application processor\r
42; @param[in] EBP Pointer to the start of the Boot Firmware Volume\r
43;\r
44; @return None This routine does not return\r
45;\r
46\r
47_ModuleEntryPoint PROC PUBLIC \r
48 ;\r
49 ; Disable all the interrupts\r
50 ; \r
51 cli\r
52 ;\r
53 ; Construct the temporary memory at 0x80000, length 0x10000\r
54 ;\r
55 mov esp, (BASE_512KB + SIZE_64KB)\r
56 \r
57 ;\r
58 ; Pass BFV into the PEI Core\r
59 ;\r
60 push PcdGet32 (PcdPayloadFdMemBase)\r
61\r
62 ;\r
63 ; Pass stack base into the PEI Core\r
64 ;\r
65 push BASE_512KB\r
66\r
67 ;\r
68 ; Pass stack size into the PEI Core\r
69 ;\r
70 push SIZE_64KB\r
71\r
72 ;\r
73 ; Pass Control into the PEI Core\r
74 ;\r
75 call SecStartup\r
76_ModuleEntryPoint ENDP\r
77\r
78END\r