]> git.proxmox.com Git - mirror_edk2.git/blame - UefiCpuPkg/ResetVector/Vtf0/Ia16/ResetVectorVtf0.asm
MdePkg/Test: Add port of BaseSafeIntLib unit tests to GoogleTest
[mirror_edk2.git] / UefiCpuPkg / ResetVector / Vtf0 / Ia16 / ResetVectorVtf0.asm
CommitLineData
bc252e8e
EB
1;------------------------------------------------------------------------------\r
2; @file\r
74b7ec58 3; First code executed by processor after resetting.\r
bc252e8e 4;\r
eee1d2ca 5; Copyright (c) 2008 - 2014, Intel Corporation. All rights reserved.<BR>\r
0acd8697 6; SPDX-License-Identifier: BSD-2-Clause-Patent\r
bc252e8e
EB
7;\r
8;------------------------------------------------------------------------------\r
9\r
10BITS 16\r
11\r
12ALIGN 16\r
13\r
eee1d2ca
JJ
14;\r
15; Pad the image size to 4k when page tables are in VTF0\r
16;\r
17; If the VTF0 image has page tables built in, then we need to make\r
18; sure the end of VTF0 is 4k above where the page tables end.\r
19;\r
20; This is required so the page tables will be 4k aligned when VTF0 is\r
21; located just below 0x100000000 (4GB) in the firmware device.\r
22;\r
23%ifdef ALIGN_TOP_TO_4K_FOR_PAGING\r
24 TIMES (0x1000 - ($ - EndOfPageTables) - 0x20) DB 0\r
25%endif\r
26\r
bc252e8e
EB
27applicationProcessorEntryPoint:\r
28;\r
29; Application Processors entry point\r
30;\r
31; GenFv generates code aligned on a 4k boundary which will jump to this\r
32; location. (0xffffffe0) This allows the Local APIC Startup IPI to be\r
33; used to wake up the application processors.\r
34;\r
eee1d2ca 35 jmp EarlyApInitReal16\r
bc252e8e
EB
36\r
37ALIGN 8\r
38\r
39 DD 0\r
40\r
41;\r
42; The VTF signature\r
43;\r
44; VTF-0 means that the VTF (Volume Top File) code does not require\r
45; any fixups.\r
46;\r
47vtfSignature:\r
48 DB 'V', 'T', 'F', 0\r
49\r
50ALIGN 16\r
51\r
52resetVector:\r
53;\r
54; Reset Vector\r
55;\r
56; This is where the processor will begin execution\r
57;\r
8332983e 58 nop\r
59 nop\r
eee1d2ca 60 jmp EarlyBspInitReal16\r
bc252e8e
EB
61\r
62ALIGN 16\r
63\r
64fourGigabytes:\r
65\r