1 ;-------------------------------------------------------------------------------
3 ; Copyright (c) 2007, Intel Corporation
4 ; All rights reserved. This program and the accompanying materials
5 ; are licensed and made available under the terms and conditions of the BSD License
6 ; which accompanies this distribution. The full text of the license may be found at
7 ; http://opensource.org/licenses/bsd-license.php
9 ; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 ; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
20 ;-------------------------------------------------------------------------------
28 ;------------------------------------------------------------------------------
29 ; Generic IDT Vector Handlers for the Host.
31 ;------------------------------------------------------------------------------
34 PUBLIC AsmGetVectorTemplatInfo
41 db 6ah ; push #VectorNumber
44 mov eax, CommonInterruptEntry
49 AsmGetVectorTemplatInfo PROC
51 mov [ecx], @VectorTemplateBase
52 mov eax, (@VectorTemplateEnd - @VectorTemplateBase)
54 AsmGetVectorTemplatInfo ENDP
58 mov eax, dword ptr [esp + 8]
60 mov [ecx + (@VectorNum - @VectorTemplateBase)], al
65 ;---------------------------------------;
66 ; CommonInterruptEntry ;
67 ;---------------------------------------;
68 ; The follow algorithm is used for the common interrupt routine.
71 ; +---------------------+ <-- 16-byte aligned ensured by processor
73 ; +---------------------+
75 ; +---------------------+
77 ; +---------------------+
79 ; +---------------------+
81 ; +---------------------+
83 ; +---------------------+
85 ; +---------------------+
87 CommonInterruptEntry PROC
91 CommonInterruptEntry ENDP