123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- ## @file
- # Entry Point of Emu Emulator
- #
- # Main executable file of Unix Emulator that loads PEI core after initialization finished.
- # Copyright (c) 2008 - 2022, Intel Corporation. All rights reserved.<BR>
- # Portions copyright (c) 2008 - 2011, Apple Inc. All rights reserved.<BR>
- #
- # SPDX-License-Identifier: BSD-2-Clause-Patent
- #
- #
- ##
- [Defines]
- INF_VERSION = 0x00010005
- BASE_NAME = Host
- FILE_GUID = 8863C0AD-7724-C84B-88E5-A33B116D1485
- MODULE_TYPE = USER_DEFINED
- VERSION_STRING = 1.0
- #
- # The following information is for reference only and not required by the build tools.
- #
- # VALID_ARCHITECTURES = IA32 X64 EBC
- #
- [Sources]
- Host.c
- EmuThunk.c
- X11GraphicsWindow.c
- Pthreads.c
- PosixFileSystem.c
- BlockIo.c
- LinuxPacketFilter.c
- BerkeleyPacketFilter.c
- MemoryAllocationLib.c
- [Sources.X64]
- X64/Gasket.S # convert between Emu x86_64 ABI and EFI X64 ABI
- X64/SwitchStack.S
- [Sources.IA32]
- Ia32/Gasket.S # enforce 16-byte stack alignment for Mac OS X
- Ia32/SwitchStack.c
- [Packages]
- MdePkg/MdePkg.dec
- MdeModulePkg/MdeModulePkg.dec
- NetworkPkg/NetworkPkg.dec
- EmulatorPkg/EmulatorPkg.dec
- [LibraryClasses]
- DebugLib
- PcdLib
- PrintLib
- BaseMemoryLib
- BaseLib
- PeCoffLib
- ThunkPpiList
- ThunkProtocolList
- PpiListLib
- PeiServicesLib
- PeCoffGetEntryPointLib
- [Ppis]
- gEfiPeiStatusCodePpiGuid # PPI ALWAYS_PRODUCED
- gEmuThunkPpiGuid
- [Protocols]
- gEmuIoThunkProtocolGuid
- gEmuIoThunkProtocolGuid
- gEmuGraphicsWindowProtocolGuid
- gEmuThreadThunkProtocolGuid
- gEmuBlockIoProtocolGuid
- gEmuSnpProtocolGuid
- gEfiSimpleFileSystemProtocolGuid
- [Guids]
- gEfiFileSystemVolumeLabelInfoIdGuid # SOMETIMES_CONSUMED
- gEfiFileInfoGuid # SOMETIMES_CONSUMED
- gEfiFileSystemInfoGuid # SOMETIMES_CONSUMED
- [Pcd]
- gEmulatorPkgTokenSpaceGuid.PcdEmuBootMode
- gEmulatorPkgTokenSpaceGuid.PcdEmuFirmwareVolume
- gEmulatorPkgTokenSpaceGuid.PcdEmuMemorySize
- gEmulatorPkgTokenSpaceGuid.PcdEmuFdBaseAddress
- gEmulatorPkgTokenSpaceGuid.PcdEmuFirmwareFdSize
- gEmulatorPkgTokenSpaceGuid.PcdEmuFirmwareBlockSize
- gEmulatorPkgTokenSpaceGuid.PcdEmuApCount
- gEmulatorPkgTokenSpaceGuid.PcdEmuVirtualDisk
- gEmulatorPkgTokenSpaceGuid.PcdEmuGop|L"GOP Window"
- gEmulatorPkgTokenSpaceGuid.PcdEmuFileSystem
- gEmulatorPkgTokenSpaceGuid.PcdEmuSerialPort
- gEmulatorPkgTokenSpaceGuid.PcdEmuNetworkInterface
- gEmulatorPkgTokenSpaceGuid.PcdNetworkPacketFilterSize
- gEmulatorPkgTokenSpaceGuid.PcdEmuFlashFvRecoveryBase
- gEmulatorPkgTokenSpaceGuid.PcdEmuFlashFvRecoverySize
- gEmulatorPkgTokenSpaceGuid.PcdEmuFlashNvStorageVariableBase
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize
- gEmulatorPkgTokenSpaceGuid.PcdEmuFlashNvStorageEventLogBase
- gEmulatorPkgTokenSpaceGuid.PcdEmuFlashNvStorageEventLogSize
- gEmulatorPkgTokenSpaceGuid.PcdEmuFlashNvStorageFtwWorkingBase
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize
- gEmulatorPkgTokenSpaceGuid.PcdEmuFlashNvStorageFtwSpareBase
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize
- gEmulatorPkgTokenSpaceGuid.PcdPeiServicesTablePage
- gEmulatorPkgTokenSpaceGuid.PcdPersistentMemorySize
- [FeaturePcd]
- gEmulatorPkgTokenSpaceGuid.PcdEmulatorLazyLoadSymbols
- [BuildOptions]
- GCC:*_*_IA32_DLINK_FLAGS == -o $(BIN_DIR)/Host -m32 -L/usr/X11R6/lib
- GCC:*_*_IA32_CC_FLAGS == -m32 -g -fshort-wchar -fno-strict-aliasing -Wall -malign-double -idirafter/usr/include -c -include $(DEST_DIR_DEBUG)/AutoGen.h -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
- GCC:*_*_IA32_PP_FLAGS == -m32 -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h
- GCC:*_*_IA32_ASM_FLAGS == -m32 -c -x assembler -imacros $(DEST_DIR_DEBUG)/AutoGen.h
- GCC:*_*_X64_DLINK_FLAGS == -o $(BIN_DIR)/Host -m64 -L/usr/X11R6/lib
- GCC:*_GCC5_X64_DLINK_FLAGS == -flto -o $(BIN_DIR)/Host -m64 -L/usr/X11R6/lib
- GCC:*_*_X64_CC_FLAGS == -m64 -g -fshort-wchar -fno-strict-aliasing -Wall -malign-double -idirafter/usr/include -c -include $(DEST_DIR_DEBUG)/AutoGen.h -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
- GCC:*_GCC48_X64_CC_FLAGS = "-DEFIAPI=__attribute__((ms_abi))"
- GCC:*_GCC49_X64_CC_FLAGS = "-DEFIAPI=__attribute__((ms_abi))"
- GCC:*_GCC5_X64_CC_FLAGS = "-DEFIAPI=__attribute__((ms_abi))" -flto -DUSING_LTO -Os
- GCC:*_*_X64_PP_FLAGS == -m64 -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h
- GCC:*_*_X64_ASM_FLAGS == -m64 -c -x assembler -imacros $(DEST_DIR_DEBUG)/AutoGen.h
- GCC:*_*_*_DLINK2_FLAGS == -lpthread -ldl -lXext -lX11
- #
- # Need to do this link via gcc and not ld as the pathing to libraries changes from OS version to OS version
- #
- XCODE:*_*_IA32_DLINK_PATH == gcc
- XCODE:*_*_IA32_CC_FLAGS = -I$(WORKSPACE)/EmulatorPkg/Unix/Host/X11IncludeHack
- XCODE:*_*_IA32_DLINK_FLAGS == -arch i386 -o $(BIN_DIR)/Host -L/usr/X11R6/lib -lXext -lX11 -framework Carbon
- XCODE:*_*_IA32_ASM_FLAGS == -arch i386 -g
- XCODE:*_*_X64_DLINK_PATH == gcc
- XCODE:*_*_X64_DLINK_FLAGS == -o $(BIN_DIR)/Host -L/usr/X11R6/lib -lXext -lX11 -framework Carbon -Wl,-no_pie
- XCODE:*_*_X64_ASM_FLAGS == -g
- XCODE:*_*_X64_CC_FLAGS = -O0 -target x86_64-apple-darwin -I$(WORKSPACE)/EmulatorPkg/Unix/Host/X11IncludeHack "-DEFIAPI=__attribute__((ms_abi))"
|