]> git.proxmox.com Git - mirror_edk2.git/blob - IntelFspWrapperPkg/FspWrapperSecCore/Ia32/ResetVec.asm16
DynamicTablesPkg: GTDT updates for ACPI 6.3
[mirror_edk2.git] / IntelFspWrapperPkg / FspWrapperSecCore / Ia32 / ResetVec.asm16
1 ;------------------------------------------------------------------------------
2 ;
3 ; Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>
4 ; SPDX-License-Identifier: BSD-2-Clause-Patent
5 ;
6 ; Module Name:
7 ;
8 ; ResetVec.asm
9 ;
10 ; Abstract:
11 ;
12 ; Reset Vector Data structure
13 ; This structure is located at 0xFFFFFFC0
14 ;
15 ;------------------------------------------------------------------------------
16
17 .model tiny
18 .686p
19 .stack 0h
20 .code
21
22 ;
23 ; The layout of this file is fixed. The build tool makes assumption of the layout.
24 ;
25
26 ORG 0h
27 ;
28 ; Reserved
29 ;
30 ReservedData DD 0eeeeeeeeh, 0eeeeeeeeh
31
32 ORG 10h
33 ;
34 ; This is located at 0xFFFFFFD0h
35 ;
36 mov di, "AP"
37 jmp ApStartup
38
39 ORG 20h
40 ;
41 ; Pointer to the entry point of the PEI core
42 ; It is located at 0xFFFFFFE0, and is fixed up by some build tool
43 ; So if the value 8..1 appears in the final FD image, tool failure occurs.
44 ;
45 PeiCoreEntryPoint DD 87654321h
46
47 ;
48 ; This is the handler for all kinds of exceptions. Since it's for debugging
49 ; purpose only, nothing except a deadloop would be done here. Developers could
50 ; analyze the cause of the exception if a debugger had been attached.
51 ;
52 InterruptHandler PROC
53 jmp $
54 iret
55 InterruptHandler ENDP
56
57 ORG 30h
58 ;
59 ; For IA32, the reset vector must be at 0xFFFFFFF0, i.e., 4G-16 byte
60 ; Execution starts here upon power-on/platform-reset.
61 ;
62 ResetHandler:
63 nop
64 nop
65 ApStartup:
66 ;
67 ; Jmp Rel16 instruction
68 ; Use machine code directly in case of the assembler optimization
69 ; SEC entry point relatvie address will be fixed up by some build tool.
70 ;
71 ; Typically, SEC entry point is the function _ModuleEntryPoint() defined in
72 ; SecEntry.asm
73 ;
74 DB 0e9h
75 DW -3
76
77
78 ORG 38h
79 ;
80 ; Ap reset vector segment address is at 0xFFFFFFF8
81 ; This will be fixed up by some build tool,
82 ; so if the value 1..8 appears in the final FD image,
83 ; tool failure occurs
84 ;
85 ApSegAddress dd 12345678h
86
87 ORG 3ch
88 ;
89 ; BFV Base is at 0xFFFFFFFC
90 ; This will be fixed up by some build tool,
91 ; so if the value 1..8 appears in the final FD image,
92 ; tool failure occurs.
93 ;
94 BfvBase DD 12345678h
95
96 ;
97 ; Nothing can go here, otherwise the layout of this file would change.
98 ;
99
100 END