From 0199f24fd151ddaf449fab7b696da8b1e329ac04 Mon Sep 17 00:00:00 2001 From: Liming Gao Date: Tue, 14 Jun 2016 16:39:19 +0800 Subject: IntelFrameworkModulePkg LegacyBiosDxe: Convert Ia32/InterruptTable.asm to NASM The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert Ia32/InterruptTable.asm to Ia32/InterruptTable.nasm. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Liming Gao --- .../Csm/LegacyBiosDxe/IA32/InterruptTable.nasm | 70 ++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 IntelFrameworkModulePkg/Csm/LegacyBiosDxe/IA32/InterruptTable.nasm (limited to 'IntelFrameworkModulePkg') diff --git a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/IA32/InterruptTable.nasm b/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/IA32/InterruptTable.nasm new file mode 100644 index 0000000000..979185b5a3 --- /dev/null +++ b/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/IA32/InterruptTable.nasm @@ -0,0 +1,70 @@ +;; @file +; Interrupt Redirection Template +; +; Copyright (c) 2016, Intel Corporation. All rights reserved.
+; +; 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. +; +;; + +SECTION .text + +;---------------------------------------------------------------------------- +; 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. +; +;---------------------------------------------------------------------------- + +global ASM_PFX(InterruptRedirectionTemplate) +ASM_PFX(InterruptRedirectionTemplate): + int 0x8 + DB 0xcf ; IRET + nop + int 0x9 + DB 0xcf ; IRET + nop + int 0xa + DB 0xcf ; IRET + nop + int 0xb + DB 0xcf ; IRET + nop + int 0xc + DB 0xcf ; IRET + nop + int 0xd + DB 0xcf ; IRET + nop + int 0xe + DB 0xcf ; IRET + nop + int 0xf + DB 0xcf ; IRET + nop + -- cgit v1.2.3