]> git.proxmox.com Git - mirror_edk2.git/blob - IntelFrameworkModulePkg/Csm/LegacyBiosDxe/X64/InterruptTable.nasm
38d18608e8828f1de8d27818dbaaddbc8ae21627
[mirror_edk2.git] / IntelFrameworkModulePkg / Csm / LegacyBiosDxe / X64 / InterruptTable.nasm
1 ;; @file
2 ; Interrupt Redirection Template
3 ;
4 ; Copyright (c) 2016, 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 DEFAULT REL
18 SECTION .text
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 global ASM_PFX(InterruptRedirectionTemplate)
46 ASM_PFX(InterruptRedirectionTemplate):
47 int 0x8
48 DB 0xcf ; IRET
49 nop
50 int 0x9
51 DB 0xcf ; IRET
52 nop
53 int 0xa
54 DB 0xcf ; IRET
55 nop
56 int 0xb
57 DB 0xcf ; IRET
58 nop
59 int 0xc
60 DB 0xcf ; IRET
61 nop
62 int 0xd
63 DB 0xcf ; IRET
64 nop
65 int 0xe
66 DB 0xcf ; IRET
67 nop
68 int 0xf
69 DB 0xcf ; IRET
70 nop
71