]> git.proxmox.com Git - mirror_edk2.git/blame - IntelFrameworkModulePkg/Csm/LegacyBiosDxe/X64/InterruptTable.S
MdeModulePkg: Remove X86 ASM and S files
[mirror_edk2.git] / IntelFrameworkModulePkg / Csm / LegacyBiosDxe / X64 / InterruptTable.S
CommitLineData
4c8f6044
HT
1## @file\r
2# Interrupt Redirection Template\r
3#\r
4# Copyright (c) 2006, 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#text SEGMENT\r
18\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
45ASM_GLOBAL ASM_PFX(InterruptRedirectionTemplate)\r
46ASM_PFX(InterruptRedirectionTemplate):\r
47 int $0x08\r
48 .byte 0x0cf # IRET\r
49 nop\r
50 int $0x09\r
51 .byte 0x0cf # IRET\r
52 nop\r
53 int $0x0a\r
54 .byte 0x0cf # IRET\r
55 nop\r
56 int $0x0b\r
57 .byte 0x0cf # IRET\r
58 nop\r
59 int $0x0c\r
60 .byte 0x0cf # IRET\r
61 nop\r
62 int $0x0d\r
63 .byte 0x0cf # IRET\r
64 nop\r
65 int $0x0e\r
66 .byte 0x0cf # IRET\r
67 nop\r
68 int $0x0f\r
69 .byte 0x0cf # IRET\r
70 nop\r
71\r
72#END\r