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 ASM_GLOBAL ASM_PFX(InterruptRedirectionTemplate) 18 19 #---------------------------------------------------------------------------- 20 # Procedure: InterruptRedirectionTemplate: Redirects interrupts 0x68-0x6F 21 # 22 # Input: None 23 # 24 # Output: None 25 # 26 # Prototype: VOID 27 # InterruptRedirectionTemplate ( 28 # VOID 29 # ); 30 # 31 # Saves: None 32 # 33 # Modified: None 34 # 35 # Description: Contains the code that is copied into low memory (below 640K). 36 # This code reflects interrupts 0x68-0x6f to interrupts 0x08-0x0f. 37 # This template must be copied into low memory, and the IDT entries 38 # 0x68-0x6F must be point to the low memory copy of this code. Each 39 # entry is 4 bytes long, so IDT entries 0x68-0x6F can be easily 40 # computed. 41 # 42 #---------------------------------------------------------------------------- 43 ASM_PFX(InterruptRedirectionTemplate): 44 int $0x8 45 .byte 0xcf 46 nop 47 int $0x9 48 .byte 0xcf 49 nop 50 int $0xa 51 .byte 0xcf 52 nop 53 int $0xb 54 .byte 0xcf 55 nop 56 int $0xc 57 .byte 0xcf 58 nop 59 int $0xd 60 .byte 0xcf 61 nop 62 int $0xe 63 .byte 0xcf 64 nop 65 int $0xf 66 .byte 0xcf 67 nop 68