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