From 4b3d663f7b2f0db316f20c0ee86c7270c1338852 Mon Sep 17 00:00:00 2001 From: jljusten Date: Thu, 10 Nov 2011 22:04:49 +0000 Subject: [PATCH] OvmfPkg: Add CSM16 and related drivers if CSM_ENABLE is set Note: The CSM16 binary must be copied into the tree at OvmfPkg/Csm/Csm16/Csm16.bin in order to use CSM_ENABLE. If CSM_ENABLE is set during the build, then the CSM16 binary and the CSM support (Legacy BIOS) drivers will be added to the build. Signed-off-by: jljusten Reviewed-by: geekboy15a git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12682 6f19259b-4bc3-4df7-8a09-765794883524 --- OvmfPkg/Csm/Csm16/Csm16.inf | 23 +++++++++++++++++++++++ OvmfPkg/Csm/Csm16/ReadMe.txt | 12 ++++++++++++ OvmfPkg/OvmfPkgIa32.dsc | 6 ++++++ OvmfPkg/OvmfPkgIa32.fdf | 11 +++++++++++ OvmfPkg/OvmfPkgIa32X64.dsc | 6 ++++++ OvmfPkg/OvmfPkgIa32X64.fdf | 11 +++++++++++ OvmfPkg/OvmfPkgX64.dsc | 6 ++++++ OvmfPkg/OvmfPkgX64.fdf | 11 +++++++++++ 8 files changed, 86 insertions(+) create mode 100644 OvmfPkg/Csm/Csm16/Csm16.inf create mode 100644 OvmfPkg/Csm/Csm16/ReadMe.txt diff --git a/OvmfPkg/Csm/Csm16/Csm16.inf b/OvmfPkg/Csm/Csm16/Csm16.inf new file mode 100644 index 0000000000..61f972b825 --- /dev/null +++ b/OvmfPkg/Csm/Csm16/Csm16.inf @@ -0,0 +1,23 @@ +## @file +# CSM Binary +# +# Copyright (c) 2006 - 2011, 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. +# +## + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = Csm16 + FILE_GUID = 1547B4F3-3E8A-4FEF-81C8-328ED647AB1A + MODULE_TYPE = USER_DEFINED + VERSION_STRING = 1.0 + +[Binaries] + BIN|Csm16.bin|* \ No newline at end of file diff --git a/OvmfPkg/Csm/Csm16/ReadMe.txt b/OvmfPkg/Csm/Csm16/ReadMe.txt new file mode 100644 index 0000000000..4d5d086bb4 --- /dev/null +++ b/OvmfPkg/Csm/Csm16/ReadMe.txt @@ -0,0 +1,12 @@ +This module allows a CSM16 binary to be easily included +in the OVMF.fd output file. + +=== How to use Csm16.inf === + +1. Copy the CSM16 binary to OvmfPkg/Csm/Csm16/Csm16.bin +2. Build OVMF with CSM_ENABLE defined. + + For example: + * build -D CSM_ENABLE, or + * OvmfPkg/build.sh -D CSM_ENABLE + diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc index b85bb1d1fd..773ea929cb 100644 --- a/OvmfPkg/OvmfPkgIa32.dsc +++ b/OvmfPkg/OvmfPkgIa32.dsc @@ -409,6 +409,12 @@ MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf +!ifdef $(CSM_ENABLE) + IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf + IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf + OvmfPkg/Csm/Csm16/Csm16.inf +!endif + !if $(BUILD_NEW_SHELL) ShellPkg/Application/Shell/Shell.inf { diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf index 7773f42da4..603b6ca7f5 100644 --- a/OvmfPkg/OvmfPkgIa32.fdf +++ b/OvmfPkg/OvmfPkgIa32.fdf @@ -251,6 +251,12 @@ INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf +!ifdef $(CSM_ENABLE) +INF IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf +INF IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf +INF RuleOverride=CSM OvmfPkg/Csm/Csm16/Csm16.inf +!endif + ################################################################################ [FV.FVMAIN_COMPACT] @@ -360,6 +366,11 @@ FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 { RAW ASL |.aml } +[Rule.Common.USER_DEFINED.CSM] + FILE FREEFORM = $(NAMED_GUID) { + RAW BIN |.bin + } + [Rule.Common.SEC.RESET_VECTOR] FILE RAW = $(NAMED_GUID) { RAW RAW |.raw diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc index 04d8aeb748..155235ec77 100644 --- a/OvmfPkg/OvmfPkgIa32X64.dsc +++ b/OvmfPkg/OvmfPkgIa32X64.dsc @@ -411,6 +411,12 @@ MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf +!ifdef $(CSM_ENABLE) + IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf + IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf + OvmfPkg/Csm/Csm16/Csm16.inf +!endif + !if $(BUILD_NEW_SHELL) ShellPkg/Application/Shell/Shell.inf { diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf index 7fe819c908..516e09e0a5 100644 --- a/OvmfPkg/OvmfPkgIa32X64.fdf +++ b/OvmfPkg/OvmfPkgIa32X64.fdf @@ -251,6 +251,12 @@ INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf +!ifdef $(CSM_ENABLE) +INF IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf +INF IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf +INF RuleOverride=CSM OvmfPkg/Csm/Csm16/Csm16.inf +!endif + ################################################################################ [FV.FVMAIN_COMPACT] @@ -360,6 +366,11 @@ FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 { RAW ASL |.aml } +[Rule.Common.USER_DEFINED.CSM] + FILE FREEFORM = $(NAMED_GUID) { + RAW BIN |.bin + } + [Rule.Common.SEC.RESET_VECTOR] FILE RAW = $(NAMED_GUID) { RAW RAW |.raw diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc index 75d48480ab..d634a4d776 100644 --- a/OvmfPkg/OvmfPkgX64.dsc +++ b/OvmfPkg/OvmfPkgX64.dsc @@ -410,6 +410,12 @@ MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf +!ifdef $(CSM_ENABLE) + IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf + IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf + OvmfPkg/Csm/Csm16/Csm16.inf +!endif + !if $(BUILD_NEW_SHELL) ShellPkg/Application/Shell/Shell.inf { diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf index 2e3f60a181..52bdefd84f 100644 --- a/OvmfPkg/OvmfPkgX64.fdf +++ b/OvmfPkg/OvmfPkgX64.fdf @@ -251,6 +251,12 @@ INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf +!ifdef $(CSM_ENABLE) +INF IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf +INF IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf +INF RuleOverride=CSM OvmfPkg/Csm/Csm16/Csm16.inf +!endif + ################################################################################ [FV.FVMAIN_COMPACT] @@ -360,6 +366,11 @@ FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 { RAW ASL |.aml } +[Rule.Common.USER_DEFINED.CSM] + FILE FREEFORM = $(NAMED_GUID) { + RAW BIN |.bin + } + [Rule.Common.SEC.RESET_VECTOR] FILE RAW = $(NAMED_GUID) { RAW RAW |.raw -- 2.39.2