From b522c77bdb4538710715dd13502840a2ca8072f6 Mon Sep 17 00:00:00 2001 From: Hao A Wu Date: Wed, 15 May 2019 11:22:29 +0800 Subject: OvmfPkg: Copy the required CSM components from framework packages REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1811 This commit copies the exact: Drivers: * VideoDxe * LegacyBiosDxe Libraries: * LegacyBootMaintUiLib * LegacyBootManagerLib Guid header files: * Legacy Bios Guid * LegacyDevOrder Guid Protocol header files: * Firmware Volume Protocol * ISA ACPI Protocol * ISA I/O Protocol * Legacy BIOS Protocol * Legacy BIOS Platform Protocol * Legacy Interrupt Protocol * VGA Mini Port Protocol Framework header files (within IntelFrameworkPkg): * FrameworkDxe.h * Framework/BootScript.h * Framework/DxeCis.h * Framework/FirmwareVolumeHeader.h * Framework/FirmwareVolumeImageFormat.h * Framework/FrameworkInternalFormRepresentation.h * Framework/Hob.h * Framework/StatusCode.h from IntelFramework[Module]Pkg to OvmfPkg/Csm/ folder. Cc: Ray Ni Cc: Jordan Justen Cc: Ard Biesheuvel Signed-off-by: Hao A Wu Reviewed-by: David Woodhouse Reviewed-by: Laszlo Ersek --- OvmfPkg/Csm/LegacyBiosDxe/X64/InterruptTable.nasm | 64 +++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 OvmfPkg/Csm/LegacyBiosDxe/X64/InterruptTable.nasm (limited to 'OvmfPkg/Csm/LegacyBiosDxe/X64') diff --git a/OvmfPkg/Csm/LegacyBiosDxe/X64/InterruptTable.nasm b/OvmfPkg/Csm/LegacyBiosDxe/X64/InterruptTable.nasm new file mode 100644 index 0000000..afc2f0e --- /dev/null +++ b/OvmfPkg/Csm/LegacyBiosDxe/X64/InterruptTable.nasm @@ -0,0 +1,64 @@ +;; @file +; Interrupt Redirection Template +; +; Copyright (c) 2016, Intel Corporation. All rights reserved.
+; +; SPDX-License-Identifier: BSD-2-Clause-Patent +; +;; + + DEFAULT REL + 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.1