5 ; Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>
6 ; This program and the accompanying materials
7 ; are licensed and made available under the terms and conditions of the BSD License
8 ; which accompanies this distribution. The full text of the license may be found at
9 ; http://opensource.org/licenses/bsd-license.php
11 ; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 ; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
19 ;------------------------------------------------------------------------------
20 ; Generic IDT Vector Handlers for the Host.
22 ;------------------------------------------------------------------------------
25 global ASM_PFX(AsmGetVectorTemplatInfo)
26 global ASM_PFX(AsmVectorFixup)
30 db 0x6a ; push #VectorNumber
33 mov eax, CommonInterruptEntry
37 global ASM_PFX(AsmGetVectorTemplatInfo)
38 ASM_PFX(AsmGetVectorTemplatInfo):
40 mov dword [ecx], @VectorTemplateBase
41 mov eax, (@VectorTemplateEnd - @VectorTemplateBase)
44 global ASM_PFX(AsmVectorFixup)
45 ASM_PFX(AsmVectorFixup):
46 mov eax, dword [esp + 8]
48 mov [ecx + (@VectorNum - @VectorTemplateBase)], al
51 ;---------------------------------------;
52 ; CommonInterruptEntry ;
53 ;---------------------------------------;
54 ; The follow algorithm is used for the common interrupt routine.
57 ; +---------------------+ <-- 16-byte aligned ensured by processor
59 ; +---------------------+
61 ; +---------------------+
63 ; +---------------------+
65 ; +---------------------+
67 ; +---------------------+
69 ; +---------------------+
71 ; +---------------------+