diff --git a/EmulatorPkg/Unix/UnixX64.dsc b/EmulatorPkg/EmulatorPkg.dsc similarity index 83% rename from EmulatorPkg/Unix/UnixX64.dsc rename to EmulatorPkg/EmulatorPkg.dsc index 6fb76e1c0c..bd709334a0 100644 --- a/EmulatorPkg/Unix/UnixX64.dsc +++ b/EmulatorPkg/EmulatorPkg.dsc @@ -1,56 +1,41 @@ ## @file -# # UEFI/PI Emulation Platform with UEFI HII interface supported. # # The Emulation Platform can be used to debug individual modules, prior to creating -# a real platform. This also provides an example for how an DSC is created. +# a real platform. This also provides an example for how an DSC is created. +# # Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.
# Portions copyright (c) 2010 - 2011, Apple Inc. 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 +# 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. +# 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 Section - statements that will be processed to create a Makefile. -# -################################################################################ [Defines] - PLATFORM_NAME = EmuUnix + PLATFORM_NAME = EmulatorPkg PLATFORM_GUID = 05FD064D-1073-E844-936C-A0E16317107D PLATFORM_VERSION = 0.3 DSC_ SPECIFICATION = 0x00010005 !if $(BUILD_32) - OUTPUT_DIRECTORY = Build/EmuUnixIa32 + OUTPUT_DIRECTORY = Build/Emulator32 !else - OUTPUT_DIRECTORY = Build/EmuUnixX64 + OUTPUT_DIRECTORY = Build/Emulator !endif SUPPORTED_ARCHITECTURES = X64|IA32 BUILD_TARGETS = DEBUG|RELEASE SKUID_IDENTIFIER = DEFAULT - FLASH_DEFINITION = EmulatorPkg/Unix/UnixX64.fdf + FLASH_DEFINITION = EmulatorPkg/EmulatorPkg.fdf -################################################################################ -# -# SKU Identification section - list of all SKU IDs supported by this Platform. -# -################################################################################ [SkuIds] 0|DEFAULT -################################################################################ -# -# Library Class section - list of all Library Classes needed by this Platform. -# -################################################################################ [LibraryClasses] # # Entry point @@ -183,11 +168,6 @@ PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf -################################################################################ -# -# Pcd Section - list of all EDK II PCD Entries defined by this Platform. -# -################################################################################ [PcdsFeatureFlag] gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|FALSE gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE @@ -243,12 +223,6 @@ # 0-PCANSI, 1-VT100, 2-VT00+, 3-UTF8 gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|1 -################################################################################ -# -# Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform -# -################################################################################ - [PcdsDynamicDefault.common.DEFAULT] gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0 @@ -260,25 +234,6 @@ gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut|L"Timeout"|gEfiGlobalVariableGuid|0x0|10 -################################################################################################### -# -# Components Section - list of the modules and components that will be processed by compilation -# tools and the EDK II tools to generate PE32/PE32+/Coff image files. -# -# Note: The EDK II DSC file is not used to specify how compiled binary images get placed -# into firmware volume images. This section is just a list of modules to compile from -# source into UEFI-compliant binaries. -# It is the FDF file that contains information on combining binary files into firmware -# volume images, whose concept is beyond UEFI and is described in PI specification. -# Binary modules do not need to be listed in this section, as they should be -# specified in the FDF file. For example: Shell binary (Shell_Full.efi), FAT binary (Fat.efi), -# Logo (Logo.bmp), and etc. -# There may also be modules listed in this section that are not required in the FDF file, -# When a module listed here is excluded from FDF file, then UEFI-compliant binary will be -# generated for it, but the binary will not be put into any firmware volume. -# -################################################################################################### - !ifndef $(SKIP_MAIN_BUILD) [Components.X64] MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf { diff --git a/EmulatorPkg/Unix/UnixX64.fdf b/EmulatorPkg/EmulatorPkg.fdf similarity index 73% rename from EmulatorPkg/Unix/UnixX64.fdf rename to EmulatorPkg/EmulatorPkg.fdf index 0778612f58..12bb92ddea 100644 --- a/EmulatorPkg/Unix/UnixX64.fdf +++ b/EmulatorPkg/EmulatorPkg.fdf @@ -1,31 +1,18 @@ ## @file -# This is Unix FDF file with UEFI HII features enabled +# This is Emulator FDF file with UEFI HII features enabled # # Copyright (c) 2008 - 2011, Intel Corporation. All rights reserved.
# Portions copyright (c) 2009 - 2011, Apple Inc. 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 +# 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. +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. # -################################################################################ -# -# FD Section -# The [FD] Section is made up of the definition statements and a -# description of what goes into the Flash Device Image. Each FD section -# defines one flash "device" image. A flash device image may be one of -# the following: Removable media bootable image (like a boot floppy -# image,) an Option ROM image (that would be "flashed" into an add-in -# card,) a System "Flash" image (that would be burned into a system's -# flash) or an Update ("Capsule") image that will be used to update and -# existing system flash. -# -################################################################################ [FD.Fv_Recovery] # # In OS X PEIMs are really XIP, so we need to make this address match the malloced @@ -38,21 +25,6 @@ ErasePolarity = 1 BlockSize = 0x10000 NumBlocks = 0x5a -################################################################################ -# -# Following are lists of FD Region layout which correspond to the locations of different -# images within the flash device. -# -# Regions must be defined in ascending order and may not overlap. -# -# A Layout Region start with a eight digit hex offset (leading "0x" required) followed by -# the pipe "|" character, followed by the size of the region, also in hex with the leading -# "0x" characters. Like: -# Offset|Size -# PcdOffsetCName|PcdSizeCName -# RegionType -# -################################################################################ 0x00000000|0x00580000 gEmulatorPkgTokenSpaceGuid.PcdEmuFlashFvRecoveryBase|gEmulatorPkgTokenSpaceGuid.PcdEmuFlashFvRecoverySize FV = FvRecovery @@ -113,16 +85,6 @@ DATA = { #NV_FTW_SPARE gEmulatorPkgTokenSpaceGuid.PcdEmuFlashNvStorageFtwSpareBase|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize -################################################################################ -# -# FV Section -# -# [FV] section is used to define what components or modules are placed within a flash -# device file. This section also defines order the components and modules are positioned -# within the image. The [FV] section consists of define statements, set statements and -# module statements. -# -################################################################################ [FV.FvRecovery] FvAlignment = 16 #FV alignment and FV attributes setting. ERASE_POLARITY = 1 @@ -141,23 +103,13 @@ READ_STATUS = TRUE READ_LOCK_CAP = TRUE READ_LOCK_STATUS = TRUE -################################################################################ # -# The INF statements point to EDK component and EDK II module INF files, which will be placed into this FV image. -# Parsing tools will scan the INF file to determine the type of component or module. -# The component or module type is used to reference the standard rules -# defined elsewhere in the FDF file. -# -# The format for INF statements is: -# INF $(PathAndInfFileName) -# -################################################################################ -## # PEI Phase modules -## -## +# + +# # PEI Apriori file example, more PEIM module added later. -## +# APRIORI PEI { INF MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf INF MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf @@ -180,9 +132,9 @@ INF EmulatorPkg/ThunkPpiToProtocolPei/ThunkPpiToProtocolPei.inf INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf -## +# # DXE Phase modules -## +# INF MdeModulePkg/Core/Dxe/DxeMain.inf INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf INF MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf @@ -272,33 +224,6 @@ FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) { } -################################################################################ -# -# Rules are use with the [FV] section's module INF type to define -# how an FFS file is created for a given INF file. The following Rule are the default -# rules for the different module type. User can add the customized rules to define the -# content of the FFS file. -# -################################################################################ - - -############################################################################ -# Example of a DXE_DRIVER FFS file with a Checksum encapsulation section # -############################################################################ -# -#[Rule.Common.DXE_DRIVER] -# FILE DRIVER = $(NAMED_GUID) { -# DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex -# COMPRESS PI_STD { -# GUIDED { -# PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi -# UI STRING="$(MODULE_NAME)" Optional -# VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) -# } -# } -# } -# -############################################################################ [Rule.Common.SEC] FILE SEC = $(NAMED_GUID) { PE32 PE32 Align=32 $(INF_OUTPUT)/$(MODULE_NAME).efi diff --git a/EmulatorPkg/Unix/build.sh b/EmulatorPkg/Unix/build.sh index 98b4f69479..f433b5d199 100755 --- a/EmulatorPkg/Unix/build.sh +++ b/EmulatorPkg/Unix/build.sh @@ -71,7 +71,7 @@ then TARGET_TOOLS=$UNIXPKG_TOOLS fi -BUILD_ROOT_ARCH=$WORKSPACE/Build/EmuUnixIa32/DEBUG_"$UNIXPKG_TOOLS"/IA32 +BUILD_ROOT_ARCH=$WORKSPACE/Build/Emulator32/DEBUG_"$UNIXPKG_TOOLS"/IA32 if [[ ! -f `which build` || ! -f `which GenFv` ]]; then @@ -108,15 +108,15 @@ do if [[ $arg == cleanall ]]; then make -C $WORKSPACE/BaseTools clean - build -p $WORKSPACE/EmulatorPkg/Unix/UnixX64.dsc -a IA32 -t $TARGET_TOOLS -D SEC_ONLY -n 3 clean - build -p $WORKSPACE/EmulatorPkg/Unix/UnixX64.dsc -a IA32 -t $UNIXPKG_TOOLS -n 3 clean + build -p $WORKSPACE/EmulatorPkg/EmulatorPkg.dsc -a IA32 -t $TARGET_TOOLS -D SEC_ONLY -n 3 clean + build -p $WORKSPACE/EmulatorPkg/EmulatorPkg.dsc -a IA32 -t $UNIXPKG_TOOLS -n 3 clean build -p $WORKSPACE/ShellPkg/ShellPkg.dsc -a IA32 -t $UNIXPKG_TOOLS -n 3 clean exit $? fi if [[ $arg == clean ]]; then - build -p $WORKSPACE/EmulatorPkg/Unix/UnixX64.dsc -a IA32 -t $TARGET_TOOLS -D SEC_ONLY -n 3 clean - build -p $WORKSPACE/EmulatorPkg/Unix/UnixX64.dsc -a IA32 -t $UNIXPKG_TOOLS -n 3 clean + build -p $WORKSPACE/EmulatorPkg/EmulatorPkg.dsc -a IA32 -t $TARGET_TOOLS -D SEC_ONLY -n 3 clean + build -p $WORKSPACE/EmulatorPkg/EmulatorPkg.dsc -a IA32 -t $UNIXPKG_TOOLS -n 3 clean exit $? fi @@ -127,10 +127,10 @@ done # Build the edk2 UnixPkg # if [[ $TARGET_TOOLS == $UNIXPKG_TOOLS ]]; then - build -p $WORKSPACE/EmulatorPkg/Unix/UnixX64.dsc -a IA32 -t $UNIXPKG_TOOLS -D BUILD_32 -D UNIX_SEC_BUILD $NETWORK_SUPPORT $BUILD_NEW_SHELL $BUILD_FAT -n 3 $1 $2 $3 $4 $5 $6 $7 $8 + build -p $WORKSPACE/EmulatorPkg/EmulatorPkg.dsc -a IA32 -t $UNIXPKG_TOOLS -D BUILD_32 -D UNIX_SEC_BUILD $NETWORK_SUPPORT $BUILD_NEW_SHELL $BUILD_FAT -n 3 $1 $2 $3 $4 $5 $6 $7 $8 else - build -p $WORKSPACE/EmulatorPkg/Unix/UnixX64.dsc -a IA32 -t $TARGET_TOOLS -D BUILD_32 -D UNIX_SEC_BUILD -D SKIP_MAIN_BUILD -n 3 $1 $2 $3 $4 $5 $6 $7 $8 modules - build -p $WORKSPACE/EmulatorPkg/Unix/UnixX64.dsc -a IA32 -t $UNIXPKG_TOOLS -D BUILD_32 $NETWORK_SUPPORT $BUILD_NEW_SHELL $BUILD_FAT -n 3 $1 $2 $3 $4 $5 $6 $7 $8 + build -p $WORKSPACE/EmulatorPkg/EmulatorPkg.dsc -a IA32 -t $TARGET_TOOLS -D BUILD_32 -D UNIX_SEC_BUILD -D SKIP_MAIN_BUILD -n 3 $1 $2 $3 $4 $5 $6 $7 $8 modules + build -p $WORKSPACE/EmulatorPkg/EmulatorPkg.dsc -a IA32 -t $UNIXPKG_TOOLS -D BUILD_32 $NETWORK_SUPPORT $BUILD_NEW_SHELL $BUILD_FAT -n 3 $1 $2 $3 $4 $5 $6 $7 $8 cp $WORKSPACE/Build/EmuUnixIa32/DEBUG_"$TARGET_TOOLS"/IA32/Host $WORKSPACE/Build/EmuUnixIa32/DEBUG_"$UNIXPKG_TOOLS"/IA32 fi exit $? diff --git a/EmulatorPkg/Unix/build64.sh b/EmulatorPkg/Unix/build64.sh index 6ddbe2d50d..cafc675b50 100755 --- a/EmulatorPkg/Unix/build64.sh +++ b/EmulatorPkg/Unix/build64.sh @@ -72,7 +72,7 @@ then TARGET_TOOLS=$UNIXPKG_TOOLS fi -BUILD_ROOT_ARCH=$WORKSPACE/Build/EmuUnixX64/DEBUG_"$UNIXPKG_TOOLS"/X64 +BUILD_ROOT_ARCH=$WORKSPACE/Build/Emulator/DEBUG_"$UNIXPKG_TOOLS"/X64 if [[ ! -f `which build` || ! -f `which GenFv` ]]; then @@ -109,15 +109,15 @@ do if [[ $arg == cleanall ]]; then make -C $WORKSPACE/BaseTools clean - build -p $WORKSPACE/EmulatorPkg/Unix/UnixX64.dsc -a X64 -t $TARGET_TOOLS -D SEC_ONLY -n 3 clean - build -p $WORKSPACE/EmulatorPkg/Unix/UnixX64.dsc -a X64 -t $UNIXPKG_TOOLS -n 3 clean + build -p $WORKSPACE/EmulatorPkg/EmulatorPkg.dsc -a X64 -t $TARGET_TOOLS -D SEC_ONLY -n 3 clean + build -p $WORKSPACE/EmulatorPkg/EmulatorPkg.dsc -a X64 -t $UNIXPKG_TOOLS -n 3 clean build -p $WORKSPACE/ShellPkg/ShellPkg.dsc -a X64 -t $UNIXPKG_TOOLS -n 3 clean exit $? fi if [[ $arg == clean ]]; then - build -p $WORKSPACE/EmulatorPkg/Unix/UnixX64.dsc -a X64 -t $TARGET_TOOLS -D SEC_ONLY -n 3 clean - build -p $WORKSPACE/EmulatorPkg/Unix/UnixX64.dsc -a X64 -t $UNIXPKG_TOOLS -n 3 clean + build -p $WORKSPACE/EmulatorPkg/EmulatorPkg.dsc -a X64 -t $TARGET_TOOLS -D SEC_ONLY -n 3 clean + build -p $WORKSPACE/EmulatorPkg/EmulatorPkg.dsc -a X64 -t $UNIXPKG_TOOLS -n 3 clean exit $? fi @@ -128,10 +128,10 @@ done # Build the edk2 UnixPkg # if [[ $TARGET_TOOLS == $UNIXPKG_TOOLS ]]; then - build -p $WORKSPACE/EmulatorPkg/Unix/UnixX64.dsc -a X64 -t $UNIXPKG_TOOLS -D UNIX_SEC_BUILD $NETWORK_SUPPORT $BUILD_NEW_SHELL $BUILD_FAT -n 3 $1 $2 $3 $4 $5 $6 $7 $8 + build -p $WORKSPACE/EmulatorPkg/EmulatorPkg.dsc -a X64 -t $UNIXPKG_TOOLS -D UNIX_SEC_BUILD $NETWORK_SUPPORT $BUILD_NEW_SHELL $BUILD_FAT -n 3 $1 $2 $3 $4 $5 $6 $7 $8 else - build -p $WORKSPACE/EmulatorPkg/Unix/UnixX64.dsc -a X64 -t $TARGET_TOOLS -D UNIX_SEC_BUILD -D SKIP_MAIN_BUILD -n 3 $1 $2 $3 $4 $5 $6 $7 $8 modules - build -p $WORKSPACE/EmulatorPkg/Unix/UnixX64.dsc -a X64 -t $UNIXPKG_TOOLS $NETWORK_SUPPORT $BUILD_NEW_SHELL $BUILD_FAT -n 3 $1 $2 $3 $4 $5 $6 $7 $8 + build -p $WORKSPACE/EmulatorPkg/EmulatorPkg.dsc -a X64 -t $TARGET_TOOLS -D UNIX_SEC_BUILD -D SKIP_MAIN_BUILD -n 3 $1 $2 $3 $4 $5 $6 $7 $8 modules + build -p $WORKSPACE/EmulatorPkg/EmulatorPkg.dsc -a X64 -t $UNIXPKG_TOOLS $NETWORK_SUPPORT $BUILD_NEW_SHELL $BUILD_FAT -n 3 $1 $2 $3 $4 $5 $6 $7 $8 cp $WORKSPACE/Build/EmuUnixX64/DEBUG_"$TARGET_TOOLS"/X64/Host $WORKSPACE/Build/EmuUnixX64/DEBUG_"$UNIXPKG_TOOLS"/X64 fi exit $?