]> git.proxmox.com Git - mirror_edk2.git/blob - IntelFrameworkModulePkg/Csm/LegacyBiosDxe/X64/InterruptTable.S
0c9ce01d5b1919f4f8d7132316a43687a7be3a9c
[mirror_edk2.git] / IntelFrameworkModulePkg / Csm / LegacyBiosDxe / X64 / InterruptTable.S
1 ## @file
2 # Interrupt Redirection Template
3 #
4 # Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
5 #
6 # This program and the accompanying materials
7 # are licensed and made available under the terms and conditions
8 # of the BSD License which accompanies this distribution. The
9 # full text of the license may be found at
10 # http://opensource.org/licenses/bsd-license.php
11 #
12 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 #
15 ##
16
17 #text SEGMENT
18
19
20 #----------------------------------------------------------------------------
21 # Procedure: InterruptRedirectionTemplate: Redirects interrupts 0x68-0x6F
22 #
23 # Input: None
24 #
25 # Output: None
26 #
27 # Prototype: VOID
28 # InterruptRedirectionTemplate (
29 # VOID
30 # );
31 #
32 # Saves: None
33 #
34 # Modified: None
35 #
36 # Description: Contains the code that is copied into low memory (below 640K).
37 # This code reflects interrupts 0x68-0x6f to interrupts 0x08-0x0f.
38 # This template must be copied into low memory, and the IDT entries
39 # 0x68-0x6F must be point to the low memory copy of this code. Each
40 # entry is 4 bytes long, so IDT entries 0x68-0x6F can be easily
41 # computed.
42 #
43 #----------------------------------------------------------------------------
44
45 ASM_GLOBAL ASM_PFX(InterruptRedirectionTemplate)
46 ASM_PFX(InterruptRedirectionTemplate):
47 int $0x08
48 .byte 0x0cf # IRET
49 nop
50 int $0x09
51 .byte 0x0cf # IRET
52 nop
53 int $0x0a
54 .byte 0x0cf # IRET
55 nop
56 int $0x0b
57 .byte 0x0cf # IRET
58 nop
59 int $0x0c
60 .byte 0x0cf # IRET
61 nop
62 int $0x0d
63 .byte 0x0cf # IRET
64 nop
65 int $0x0e
66 .byte 0x0cf # IRET
67 nop
68 int $0x0f
69 .byte 0x0cf # IRET
70 nop
71
72 #END