2 ;-------------------------------------------------------------------------------
4 ; Copyright (c) 2007, Intel Corporation
5 ; All rights reserved. This program and the accompanying materials
6 ; are licensed and made available under the terms and conditions of the BSD License
7 ; which accompanies this distribution. The full text of the license may be found at
8 ; http://opensource.org/licenses/bsd-license.php
10 ; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 ; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
21 ;-------------------------------------------------------------------- --------
29 .globl ASM_PFX(AsmGetVectorTemplatInfo)
30 .globl ASM_PFX(AsmVectorFixup)
33 ;-----------------------------------------------------------------------
34 ; Template of IDT Vector Handlers.
36 ;-----------------------------------------------------------------------
40 .byte 0x6a # push #VectorNum
43 movl CommonInterruptEntry, %eax
48 ASM_PFX(AsmGetVectorTemplatInfo):
50 movl $@VectorTemplateBase, (%ecx)
51 movl $(@VectorTemplateEnd - @VectorTemplateBase), %eax
54 ASM_PFX(AsmVectorFixup):
57 movb %al, (@VectorNum - @VectorTemplateBase)(%ecx)
61 ; The follow algorithm is used for the common interrupt routine.
64 ; +---------------------+ <-- 16-byte aligned ensured by processor
66 ; +---------------------+
68 ; +---------------------+
70 ; +---------------------+
72 ; +---------------------+
74 ; +---------------------+
76 ; +---------------------+
78 ; +---------------------+