summaryrefslogtreecommitdiffstats
path: root/EmulatorPkg/Unix/Host/SecMain.inf
diff options
context:
space:
mode:
Diffstat (limited to 'EmulatorPkg/Unix/Host/SecMain.inf')
-rw-r--r--EmulatorPkg/Unix/Host/SecMain.inf140
1 files changed, 140 insertions, 0 deletions
diff --git a/EmulatorPkg/Unix/Host/SecMain.inf b/EmulatorPkg/Unix/Host/SecMain.inf
new file mode 100644
index 0000000000..9bda6f8d31
--- /dev/null
+++ b/EmulatorPkg/Unix/Host/SecMain.inf
@@ -0,0 +1,140 @@
+## @file
+# Entry Point of Emu Emulator
+#
+# Main executable file of Unix Emulator that loads PEI core after initialization finished.
+# Copyright (c) 2008 - 2011, Intel Corporation. All rights reserved.<BR>
+# Portions copyright (c) 2008 - 2011, Apple Inc. All rights reserved.<BR>
+#
+# 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 = SecMain
+ 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 IPF EBC
+#
+
+[Sources]
+ SecMain.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
+ 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
+
+
+[BuildOptions]
+ GCC:*_*_IA32_DLINK_FLAGS == -o $(BIN_DIR)/SecMain -m elf_i386 -dynamic-linker /lib$(LIB_ARCH_SFX)/ld-linux.so.2 /usr/lib$(LIB_ARCH_SFX)/crt1.o /usr/lib$(LIB_ARCH_SFX)/crti.o -L/usr/X11R6/lib -lXext -lX11 /usr/lib$(LIB_ARCH_SFX)/crtn.o
+ GCC:*_*_*_DLINK2_FLAGS == -lpthread -lc
+ 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)/SecMain -m elf_x86_64 -dynamic-linker /lib$(LIB_ARCH_SFX)/ld-linux-x86-64.so.2 /usr/lib$(LIB_ARCH_SFX)/crt1.o /usr/lib$(LIB_ARCH_SFX)/crti.o -L/usr/X11R6/lib -lXext -lX11 /usr/lib$(LIB_ARCH_SFX)/crtn.o
+ 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:*_GCC44_X64_CC_FLAGS = "-DEFIAPI=__attribute__((ms_abi))"
+ GCC:*_GCC45_X64_CC_FLAGS = "-DEFIAPI=__attribute__((ms_abi))"
+ 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
+
+#
+# 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 == -arch i386 -O0 -g -include $(DEST_DIR_DEBUG)/AutoGen.h -c -fshort-wchar -fno-strict-aliasing
+ XCODE:*_*_IA32_DLINK_FLAGS == -arch i386 -o $(BIN_DIR)/SecMain -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)/SecMain -L/usr/X11R6/lib -lXext -lX11 -framework Carbon
+ XCODE:*_*_X64_ASM_FLAGS == -g
+