]> git.proxmox.com Git - mirror_edk2.git/blob - IntelFrameworkModulePkg/Csm/LegacyBiosDxe/X64/InterruptTable.nasm
afc2f0e639b3effc1be7c784f062faf529b19eeb
[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 ; SPDX-License-Identifier: BSD-2-Clause-Patent
7 ;
8 ;;
9
10 DEFAULT REL
11 SECTION .text
12
13 ;----------------------------------------------------------------------------
14 ; Procedure: InterruptRedirectionTemplate: Redirects interrupts 0x68-0x6F
15 ;
16 ; Input: None
17 ;
18 ; Output: None
19 ;
20 ; Prototype: VOID
21 ; InterruptRedirectionTemplate (
22 ; VOID
23 ; );
24 ;
25 ; Saves: None
26 ;
27 ; Modified: None
28 ;
29 ; Description: Contains the code that is copied into low memory (below 640K).
30 ; This code reflects interrupts 0x68-0x6f to interrupts 0x08-0x0f.
31 ; This template must be copied into low memory, and the IDT entries
32 ; 0x68-0x6F must be point to the low memory copy of this code. Each
33 ; entry is 4 bytes long, so IDT entries 0x68-0x6F can be easily
34 ; computed.
35 ;
36 ;----------------------------------------------------------------------------
37
38 global ASM_PFX(InterruptRedirectionTemplate)
39 ASM_PFX(InterruptRedirectionTemplate):
40 int 0x8
41 DB 0xcf ; IRET
42 nop
43 int 0x9
44 DB 0xcf ; IRET
45 nop
46 int 0xa
47 DB 0xcf ; IRET
48 nop
49 int 0xb
50 DB 0xcf ; IRET
51 nop
52 int 0xc
53 DB 0xcf ; IRET
54 nop
55 int 0xd
56 DB 0xcf ; IRET
57 nop
58 int 0xe
59 DB 0xcf ; IRET
60 nop
61 int 0xf
62 DB 0xcf ; IRET
63 nop
64