]> git.proxmox.com Git - mirror_edk2.git/blame_incremental - UefiCpuPkg/ResetVector/Vtf0/Ia16/ResetVectorVtf0.asm
UefiCpuPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / UefiCpuPkg / ResetVector / Vtf0 / Ia16 / ResetVectorVtf0.asm
... / ...
CommitLineData
1;------------------------------------------------------------------------------\r
2; @file\r
3; First code executed by processor after resetting.\r
4;\r
5; Copyright (c) 2008 - 2014, Intel Corporation. All rights reserved.<BR>\r
6; SPDX-License-Identifier: BSD-2-Clause-Patent\r
7;\r
8;------------------------------------------------------------------------------\r
9\r
10BITS 16\r
11\r
12ALIGN 16\r
13\r
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
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
35 jmp EarlyApInitReal16\r
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
58 nop\r
59 nop\r
60 jmp EarlyBspInitReal16\r
61\r
62ALIGN 16\r
63\r
64fourGigabytes:\r
65\r