]> git.proxmox.com Git - mirror_edk2.git/blob - UefiCpuPkg/CpuDxe/Ia32/IvtAsm.asm
Remove svn:executable on *.c, *.h, *.asm, *.S, *.inf and *.asl*
[mirror_edk2.git] / UefiCpuPkg / CpuDxe / Ia32 / IvtAsm.asm
1 TITLE IvtAsm.asm:
2 ;------------------------------------------------------------------------------
3 ;*
4 ;* Copyright 2008 - 2009, 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
9 ;*
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.
12 ;*
13 ;* IvtAsm.asm
14 ;*
15 ;* Abstract:
16 ;*
17 ;------------------------------------------------------------------------------
18
19 #include <Base.h>
20
21 #ifdef MDE_CPU_IA32
22 .686
23 .model flat,C
24 #endif
25 .code
26
27 ;------------------------------------------------------------------------------
28 ; Generic IDT Vector Handlers for the Host. They are all the same so they
29 ; will compress really well.
30 ;
31 ; By knowing the return address for Vector 00 you can can calculate the
32 ; vector number by looking at the call CommonInterruptEntry return address.
33 ; (return address - (AsmIdtVector00 + 5))/8 == IDT index
34 ;
35 ;------------------------------------------------------------------------------
36
37 EXTRN CommonInterruptEntry:PROC
38
39 ALIGN 8
40
41 PUBLIC AsmIdtVector00
42
43 AsmIdtVector00 LABEL BYTE
44 REPEAT 256
45 call CommonInterruptEntry
46 dw ($ - AsmIdtVector00 - 5) / 8 ; vector number
47 nop
48 ENDM
49
50 END
51