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
17ASM_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#----------------------------------------------------------------------------
43ASM_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