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