## @file | |
# Interrupt Redirection Template | |
# | |
# Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> | |
# | |
# This program and the accompanying materials | |
# are licensed and made available under the terms and conditions | |
# of the BSD License which accompanies this distribution. The | |
# full text of the license may be found at | |
# http://opensource.org/licenses/bsd-license.php | |
# | |
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
# | |
## | |
ASM_GLOBAL ASM_PFX(InterruptRedirectionTemplate) | |
#---------------------------------------------------------------------------- | |
# Procedure: InterruptRedirectionTemplate: Redirects interrupts 0x68-0x6F | |
# | |
# Input: None | |
# | |
# Output: None | |
# | |
# Prototype: VOID | |
# InterruptRedirectionTemplate ( | |
# VOID | |
# ); | |
# | |
# Saves: None | |
# | |
# Modified: None | |
# | |
# Description: Contains the code that is copied into low memory (below 640K). | |
# This code reflects interrupts 0x68-0x6f to interrupts 0x08-0x0f. | |
# This template must be copied into low memory, and the IDT entries | |
# 0x68-0x6F must be point to the low memory copy of this code. Each | |
# entry is 4 bytes long, so IDT entries 0x68-0x6F can be easily | |
# computed. | |
# | |
#---------------------------------------------------------------------------- | |
ASM_PFX(InterruptRedirectionTemplate): | |
int $0x8 | |
.byte 0xcf | |
nop | |
int $0x9 | |
.byte 0xcf | |
nop | |
int $0xa | |
.byte 0xcf | |
nop | |
int $0xb | |
.byte 0xcf | |
nop | |
int $0xc | |
.byte 0xcf | |
nop | |
int $0xd | |
.byte 0xcf | |
nop | |
int $0xe | |
.byte 0xcf | |
nop | |
int $0xf | |
.byte 0xcf | |
nop |