]> git.proxmox.com Git - mirror_edk2.git/blob - IntelFrameworkModulePkg/Csm/LegacyBiosDxe/IA32/InterruptTable.asm
410ce5be6e3852ee3bd69bacc4ed4ed7422cfe05
[mirror_edk2.git] / IntelFrameworkModulePkg / Csm / LegacyBiosDxe / IA32 / InterruptTable.asm
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 .686P
18 .MODEL FLAT, C
19 .CODE
20
21 ;----------------------------------------------------------------------------
22 ; Procedure: InterruptRedirectionTemplate: Redirects interrupts 0x68-0x6F
23 ;
24 ; Input: None
25 ;
26 ; Output: None
27 ;
28 ; Prototype: VOID
29 ; InterruptRedirectionTemplate (
30 ; VOID
31 ; );
32 ;
33 ; Saves: None
34 ;
35 ; Modified: None
36 ;
37 ; Description: Contains the code that is copied into low memory (below 640K).
38 ; This code reflects interrupts 0x68-0x6f to interrupts 0x08-0x0f.
39 ; This template must be copied into low memory, and the IDT entries
40 ; 0x68-0x6F must be point to the low memory copy of this code. Each
41 ; entry is 4 bytes long, so IDT entries 0x68-0x6F can be easily
42 ; computed.
43 ;
44 ;----------------------------------------------------------------------------
45
46 InterruptRedirectionTemplate PROC C
47 int 08h
48 DB 0cfh ; IRET
49 nop
50 int 09h
51 DB 0cfh ; IRET
52 nop
53 int 0ah
54 DB 0cfh ; IRET
55 nop
56 int 0bh
57 DB 0cfh ; IRET
58 nop
59 int 0ch
60 DB 0cfh ; IRET
61 nop
62 int 0dh
63 DB 0cfh ; IRET
64 nop
65 int 0eh
66 DB 0cfh ; IRET
67 nop
68 int 0fh
69 DB 0cfh ; IRET
70 nop
71 InterruptRedirectionTemplate ENDP
72
73 END