]> git.proxmox.com Git - mirror_edk2.git/blame - IntelFrameworkModulePkg/Csm/LegacyBiosDxe/X64/InterruptTable.nasm
MdeModulePkg: Remove X86 ASM and S files
[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
6; This program and the accompanying materials\r
7; are licensed and made available under the terms and conditions\r
8; of the BSD License which accompanies this distribution. The\r
9; full text of the license may be found at\r
10; http://opensource.org/licenses/bsd-license.php\r
11;\r
12; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
13; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
14;\r
15;;\r
16\r
17 DEFAULT REL\r
18 SECTION .text\r
19\r
20;----------------------------------------------------------------------------\r
21; Procedure: InterruptRedirectionTemplate: Redirects interrupts 0x68-0x6F\r
22;\r
23; Input: None\r
24;\r
25; Output: None\r
26;\r
27; Prototype: VOID\r
28; InterruptRedirectionTemplate (\r
29; VOID\r
30; );\r
31;\r
32; Saves: None\r
33;\r
34; Modified: None\r
35;\r
36; Description: Contains the code that is copied into low memory (below 640K).\r
37; This code reflects interrupts 0x68-0x6f to interrupts 0x08-0x0f.\r
38; This template must be copied into low memory, and the IDT entries\r
39; 0x68-0x6F must be point to the low memory copy of this code. Each\r
40; entry is 4 bytes long, so IDT entries 0x68-0x6F can be easily\r
41; computed.\r
42;\r
43;----------------------------------------------------------------------------\r
44\r
45global ASM_PFX(InterruptRedirectionTemplate)\r
46ASM_PFX(InterruptRedirectionTemplate):\r
47 int 0x8\r
48 DB 0xcf ; IRET\r
49 nop\r
50 int 0x9\r
51 DB 0xcf ; IRET\r
52 nop\r
53 int 0xa\r
54 DB 0xcf ; IRET\r
55 nop\r
56 int 0xb\r
57 DB 0xcf ; IRET\r
58 nop\r
59 int 0xc\r
60 DB 0xcf ; IRET\r
61 nop\r
62 int 0xd\r
63 DB 0xcf ; IRET\r
64 nop\r
65 int 0xe\r
66 DB 0xcf ; IRET\r
67 nop\r
68 int 0xf\r
69 DB 0xcf ; IRET\r
70 nop\r
71\r