1;; @file 2; Interrupt Redirection Template 3; 4; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> 5; 6; This program and the accompanying materials 7; are licensed and made available under the terms and conditions 8; of the BSD License which accompanies this distribution. The 9; full text of the license may be found at 10; http://opensource.org/licenses/bsd-license.php 11; 12; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 13; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 14; 15;; 16 17.686P 18.MODEL FLAT, C 19.CODE 20 21;---------------------------------------------------------------------------- 22; Procedure: InterruptRedirectionTemplate: Redirects interrupts 0x68-0x6F 23; 24; Input: None 25; 26; Output: None 27; 28; Prototype: VOID 29; InterruptRedirectionTemplate ( 30; VOID 31; ); 32; 33; Saves: None 34; 35; Modified: None 36; 37; Description: Contains the code that is copied into low memory (below 640K). 38; This code reflects interrupts 0x68-0x6f to interrupts 0x08-0x0f. 39; This template must be copied into low memory, and the IDT entries 40; 0x68-0x6F must be point to the low memory copy of this code. Each 41; entry is 4 bytes long, so IDT entries 0x68-0x6F can be easily 42; computed. 43; 44;---------------------------------------------------------------------------- 45 46InterruptRedirectionTemplate PROC C 47 int 08h 48 DB 0cfh ; IRET 49 nop 50 int 09h 51 DB 0cfh ; IRET 52 nop 53 int 0ah 54 DB 0cfh ; IRET 55 nop 56 int 0bh 57 DB 0cfh ; IRET 58 nop 59 int 0ch 60 DB 0cfh ; IRET 61 nop 62 int 0dh 63 DB 0cfh ; IRET 64 nop 65 int 0eh 66 DB 0cfh ; IRET 67 nop 68 int 0fh 69 DB 0cfh ; IRET 70 nop 71InterruptRedirectionTemplate ENDP 72 73END