]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Core/DxeIplPeim/Ia32/IdtVectorAsm.asm
Add doxygen style comments for functions in DxeIpl.
[mirror_edk2.git] / MdeModulePkg / Core / DxeIplPeim / Ia32 / IdtVectorAsm.asm
CommitLineData
96226baa 1;/** @file\r
2; IDT vector entry.\r
3; \r
4; Copyright (c) 2007 - 2008, Intel Corporation. <BR>\r
5; All rights reserved. This program and the accompanying materials\r
6; are licensed and made available under the terms and conditions of the BSD License\r
7; which accompanies this distribution. The full text of the license may be found at\r
8; http://opensource.org/licenses/bsd-license.php\r
9; \r
10; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12; \r
13;**/\r
5d582956 14\r
15 .686p\r
16 .model flat,C\r
17 .code\r
18\r
19;\r
20;------------------------------------------------------------------------------\r
21; Generic IDT Vector Handlers for the Host. \r
22;\r
23;------------------------------------------------------------------------------\r
24\r
25ALIGN 8\r
26PUBLIC AsmGetVectorTemplatInfo\r
27PUBLIC AsmVectorFixup\r
28\r
29PUBLIC AsmVectorFixup\r
30\r
31@VectorTemplateBase:\r
32 push eax\r
33 db 6ah ; push #VectorNumber\r
34@VectorNum:\r
35 db 0\r
36 mov eax, CommonInterruptEntry\r
37 jmp eax\r
38@VectorTemplateEnd:\r
39\r
40\r
41AsmGetVectorTemplatInfo PROC\r
42 mov ecx, [esp + 4]\r
43 mov [ecx], @VectorTemplateBase\r
44 mov eax, (@VectorTemplateEnd - @VectorTemplateBase)\r
45 ret\r
46AsmGetVectorTemplatInfo ENDP\r
47\r
48\r
49AsmVectorFixup PROC\r
50 mov eax, dword ptr [esp + 8]\r
51 mov ecx, [esp + 4]\r
52 mov [ecx + (@VectorNum - @VectorTemplateBase)], al\r
53 ret\r
54AsmVectorFixup ENDP\r
55\r
56\r
57;---------------------------------------;\r
58; CommonInterruptEntry ;\r
59;---------------------------------------;\r
60; The follow algorithm is used for the common interrupt routine.\r
61\r
62;\r
63; +---------------------+ <-- 16-byte aligned ensured by processor\r
64; + Old SS +\r
65; +---------------------+\r
66; + Old RSP +\r
67; +---------------------+\r
68; + RFlags +\r
69; +---------------------+\r
70; + CS +\r
71; +---------------------+\r
72; + RIP +\r
73; +---------------------+\r
74; + Error Code +\r
75; +---------------------+\r
76; + Vector Number +\r
77; +---------------------+\r
78\r
79CommonInterruptEntry PROC \r
80 cli\r
81 \r
82 jmp $\r
83CommonInterruptEntry ENDP\r
84\r
85END\r
86\r
87\r